diff --git a/.config/kitty/colors.conf b/.config/kitty/colors.conf index 265b53f..7496862 100644 --- a/.config/kitty/colors.conf +++ b/.config/kitty/colors.conf @@ -1,48 +1,20 @@ -# vim:ft=kitty - -foreground #cdd6f4 -background #1e1e2e -selection_foreground #1e1e2e -selection_background #f5e0dc - -cursor #f5e0dc -cursor_text_color #1e1e2e - -url_color #f5e0dc - -active_border_color #b4befe -inactive_border_color #6c7086 -bell_border_color #f9e2af - -wayland_titlebar_color system -macos_titlebar_color system - -active_tab_foreground #11111b -active_tab_background #cba6f7 -inactive_tab_foreground #cdd6f4 -inactive_tab_background #181825 -tab_bar_background #11111b - -mark1_foreground #1e1e2e -mark1_background #b4befe -mark2_foreground #1e1e2e -mark2_background #cba6f7 -mark3_foreground #1e1e2e -mark3_background #74c7ec - -color0 #45475a -color8 #585b70 -color1 #f38ba8 -color9 #f38ba8 -color2 #a6e3a1 -color10 #a6e3a1 -color3 #f9e2af -color11 #f9e2af -color4 #89b4fa -color12 #89b4fa -color5 #f5c2e7 -color13 #f5c2e7 -color6 #94e2d5 -color14 #94e2d5 -color7 #bac2de -color15 #a6adc8 +# Colors generated from xresources file using the kitty_colors script +background #14161B +foreground #CDD6F4 +cursor #CDD6F4 +color0 #45475A +color1 #F38BA8 +color2 #A6E3A1 +color3 #F9E2AF +color4 #89B4FA +color5 #cba6f7 +color6 #94E2D5 +color7 #BAC2DE +color8 #585B70 +color9 #F38BA8 +color10 #A6E3A1 +color11 #F9E2AF +color12 #89B4FA +color13 #cba6f7 +color14 #94E2D5 +color15 #A6ADC8 diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index 16c59ce..1c70617 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -1,4 +1,4 @@ -# vim:ft=kitty +# vim:ft=conf shell_integration no-cursor cursor_shape underline @@ -7,7 +7,7 @@ cursor_stop_blinking_after 15.0 allow_remote_control socket-only listen_on unix:/tmp/kitty -font_size 10 +font_size 12 font_family JetBrainsMono NF Regular bold_font JetBrainsMono NF Bold italic_font JetBrainsMono NF Italic @@ -16,7 +16,7 @@ bold_italic_font Jameel Noori Nastaleeq enabled_layouts * window_border_width 1 window_margin_width 0 -window_padding_width 10 +window_padding_width 5 10 25 active_border_color #282c34 inactive_border_color #22262d inactive_text_alpha 1.0 @@ -32,7 +32,7 @@ update_check_interval 0 map ctrl+tab next_tab map ctrl+shift+tab previous_tab -#map ctrl+t new_tab zsh +# map ctrl+t new_tab zsh map ctrl+shift+t new_tab zsh map ctrl+shift+r new_tab zsh -c 'lfub ~' map ctrl+shift+w close_tab @@ -46,8 +46,8 @@ map ctrl+shift+backspace restore_font_size map ctrl+shift+f11 toggle_fullscreen map alt+y copy_to_clipboard -#map alt+c copy_to_clipboard -#map alt+v paste_from_clipboard +# map alt+c copy_to_clipboard +# map alt+v paste_from_clipboard #map ctrl+p paste_from_clipboard map alt+p paste_from_clipboard diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index fead070..36b2523 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,7 +1,15 @@ vim.g.mapleader = " " vim.g.maplocalleader = " " +vim.cmd.colorscheme("default") +-- vim.opt.background = "light" + require("options") require("manager") require("autocommands") require("mappings") + +vim.api.nvim_set_hl(0, "DiagnosticVirtualTextError", { link = "Comment" }) +vim.api.nvim_set_hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" }) +vim.api.nvim_set_hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" }) +vim.api.nvim_set_hl(0, "DiagnosticVirtualTextHint", { link = "Comment" }) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 1c50809..a57db4a 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,8 +1,7 @@ { - "Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" }, - "LuaSnip": { "branch": "master", "commit": "878ace11983444d865a72e1759dbcc331d1ace4c" }, + "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, + "LuaSnip": { "branch": "master", "commit": "50fcf17db7c75af80e6b6109acfbfb4504768780" }, "alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" }, - "catppuccin": { "branch": "main", "commit": "5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe" }, "cmp-async-path": { "branch": "main", "commit": "7df7f3721c45aac26b6e0474087538f4681c9c7a" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-calc": { "branch": "main", "commit": "5947b412da67306c5b68698a02a846760059be2e" }, @@ -10,64 +9,57 @@ "cmp-spell": { "branch": "master", "commit": "694a4e50809d6d645c1ea29015dad0c293f019d6" }, "cmp-vimtex": { "branch": "master", "commit": "a64b1b5eec0460144c91c4f20a45c74b8ded48ae" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "evergarden": { "branch": "mega", "commit": "e7895a6105d02b869a75cd456ee9616a228845cc" }, "flit.nvim": { "branch": "main", "commit": "56490317983218b09698f8c960c3669958b12b32" }, - "friendly-snippets": { "branch": "main", "commit": "d0610077b6129cf9f7f78afbe3a1425d60f6e2f1" }, - "fzf-lua": { "branch": "main", "commit": "b92220ec838c195eb1c711daa69c905b1d7b8d8c" }, - "gitsigns.nvim": { "branch": "main", "commit": "75dc649106827183547d3bedd4602442340d2f7f" }, + "friendly-snippets": { "branch": "main", "commit": "700c4a25caacbb4648c9a27972c2fe203948e0c2" }, + "fzf-lua": { "branch": "main", "commit": "70b050799ee733e32f8e0a209beb978573d3849f" }, + "gitsigns.nvim": { "branch": "main", "commit": "de18f6b749f6129eb9042a2038590872df4c94a9" }, "harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" }, "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, - "lazy.nvim": { "branch": "main", "commit": "b0ba3f9399bf48c86abaa4db1a40bd0b681d5018" }, - "leap.nvim": { "branch": "main", "commit": "6252b89ffa8a10311344fe10cc00fbbb6170f30f" }, + "lazy.nvim": { "branch": "main", "commit": "eb4957442e3182f051b0ae11da32e06d22c190e3" }, + "leap.nvim": { "branch": "main", "commit": "0d15057cc47fa49f6609bf364f5ad3842f08c58c" }, "lf.nvim": { "branch": "master", "commit": "69ab1efcffee6928bf68ac9bd0c016464d9b2c8b" }, "lsp-zero.nvim": { "branch": "v3.x", "commit": "16de3b18c5f7b6230d89b8e64ce9a4801b6f8d08" }, "lspkind.nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" }, "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "luasnip-latex-snippets.nvim": { "branch": "main", "commit": "4b91f28d91979f61a3e8aef1cee5b7c7f2c7beb8" }, "markdown-preview.nvim": { "branch": "main", "commit": "462ce41af003f5cdadab856f3a42dc27e39b89c8" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a4caa0d083aab56f6cd5acf2d42331b74614a585" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "f5425eb1d0d794f0305d5eeebddabb74614683ff" }, "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, - "mini.ai": { "branch": "main", "commit": "7859b6344f5cee567a94f173859d25e20ba1a77e" }, + "mini.ai": { "branch": "main", "commit": "a7e90f110e6274262616311b93cef12cd2667a2d" }, "mini.surround": { "branch": "main", "commit": "27096c1a27324ee8f2044ea2adc77366d8a782de" }, - "none-ls.nvim": { "branch": "main", "commit": "f5b960a73418249aebcdae3455de320360509253" }, - "nordic.nvim": { "branch": "main", "commit": "03fcff3c8d68049b8118047784746048b4a08049" }, + "none-ls.nvim": { "branch": "main", "commit": "8691504118b252d64fc5023a104aedd100ab754a" }, "nvim-autopairs": { "branch": "master", "commit": "c15de7e7981f1111642e7e53799e1211d4606cb9" }, - "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, + "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, - "nvim-dap": { "branch": "master", "commit": "fc1f7950c587cb82e048236420ef589419da2909" }, + "nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" }, "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, "nvim-html-css": { "branch": "main", "commit": "c514bd27ad560636ed39dea3e370b3103754e244" }, - "nvim-lspconfig": { "branch": "master", "commit": "74e14808cdb15e625449027019406e1ff6dda020" }, + "nvim-lspconfig": { "branch": "master", "commit": "4d38bece98300e3e5cd24a9aa0d0ebfea4951c16" }, "nvim-markdown": { "branch": "master", "commit": "bf5c87788156f072cfb87b994844424b164b5b44" }, - "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, - "nvim-spectre": { "branch": "master", "commit": "366f46fdd4a1593cc237aea13d5ef113739a472c" }, - "nvim-treesitter": { "branch": "master", "commit": "a80fe081b4c5890980561e0de2458f64aaffbfc7" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "fd41b7ccc5490a3a99c734d1ee418b68d06c48a9" }, - "nvim-ts-autotag": { "branch": "main", "commit": "6eb4120a1aadef07ac312f1c4bc6456712220007" }, + "nvim-nio": { "branch": "master", "commit": "7969e0a8ffabdf210edd7978ec954a47a737bbcc" }, + "nvim-spectre": { "branch": "master", "commit": "ec67d4b5370094b923dfcf6b09b39142f2964861" }, + "nvim-treesitter": { "branch": "master", "commit": "9636d5a3f4f531256fba147a30b882c44f28fae1" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, + "nvim-ts-autotag": { "branch": "main", "commit": "06fe07d7523ba8c755fac7c913fceba43b1720ee" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, - "nvim-ufo": { "branch": "main", "commit": "65dda6360879f6ffe0278163b9192a573a0d2a08" }, - "nvim-web-devicons": { "branch": "master", "commit": "b77921fdc44833c994fdb389d658ccbce5490c16" }, - "outline.nvim": { "branch": "main", "commit": "6a91568110684ac056e62e3b2d7409d7c8b2e5e1" }, - "oxocarbon.nvim": { "branch": "main", "commit": "c5846d10cbe4131cc5e32c6d00beaf59cb60f6a2" }, - "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, + "nvim-ufo": { "branch": "main", "commit": "aa2e676af592b4e99c105d80d6eafd1afc215d99" }, + "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, + "outline.nvim": { "branch": "main", "commit": "028e0bc8ad3d511e9fc1f0678594a608eb908ee5" }, + "persistence.nvim": { "branch": "main", "commit": "95d03ad5450389ad7dc2a0fab14ebb3d46bc2c96" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, - "promise-async": { "branch": "main", "commit": "93540c168c5ed2b030ec3e6c40ab8bbb85e36355" }, + "promise-async": { "branch": "main", "commit": "28c1d5a295eb5310afa2523d4ae9aa41ec5a9de2" }, "qalc.nvim": { "branch": "main", "commit": "1b800b5d8f956c4780f079333cba4d8fb8c335a3" }, + "qalculate.vim": { "branch": "main", "commit": "d0269924bfa623bf0f73218041241cc83e97379e" }, "refactoring.nvim": { "branch": "master", "commit": "d2786877c91aa409c824f27b4ce8a9f560dda60a" }, - "rose-pine": { "branch": "main", "commit": "87aa437172357ad8f916942bca249ceadc6c68b1" }, - "todo-comments.nvim": { "branch": "main", "commit": "70a93ce66083699571adc361166504b03cc39c2b" }, + "todo-comments.nvim": { "branch": "main", "commit": "51e10f838e84b4756c16311d0b1ef0972c6482d2" }, "toggleterm.nvim": { "branch": "main", "commit": "fee58a0473fd92b28c34f8f724e4918b15ba30a3" }, - "tokyodark.nvim": { "branch": "master", "commit": "ba538ab69e8a4e3ebac127734b7deff9e7462463" }, - "tokyonight.nvim": { "branch": "main", "commit": "7e5ef71a103e7de5fe6c05f5d6ab97d1640f08cf" }, - "trouble.nvim": { "branch": "main", "commit": "e2969409cf3f38f69913cc8fd9aa13137aabe760" }, + "trouble.nvim": { "branch": "main", "commit": "60b0ac3772e991bc194207afc28368a5f15d913a" }, "undotree": { "branch": "main", "commit": "eab459ab87dd249617b5f7187bb69e614a083047" }, - "vim-be-good": { "branch": "master", "commit": "4fa57b7957715c91326fcead58c1fa898b9b3625" }, - "vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "vimtex": { "branch": "master", "commit": "366ba106795db13879fdbfb4d6e4b8e1d616b684" }, - "which-key.nvim": { "branch": "main", "commit": "4b7167f8fb2dba3d01980735e3509e172c024c29" }, + "vimtex": { "branch": "master", "commit": "0587a064f675fd85cdfb8a76d6a3ff698af3944b" }, + "which-key.nvim": { "branch": "main", "commit": "0099511294f16b81c696004fa6a403b0ae61f7a0" }, "zen-mode.nvim": { "branch": "main", "commit": "78557d972b4bfbb7488e17b5703d25164ae64e6a" } } \ No newline at end of file diff --git a/.config/nvim/lua/manager.lua b/.config/nvim/lua/manager.lua index 0de0cd0..d4b0084 100644 --- a/.config/nvim/lua/manager.lua +++ b/.config/nvim/lua/manager.lua @@ -17,9 +17,6 @@ require("lazy").setup( defaults = { lazy = true, }, - install = { - colorscheme = { "catpuccin" ,"tokyonight", "habamax" }, - }, change_detection = { notify = false, }, diff --git a/.config/nvim/lua/options.lua b/.config/nvim/lua/options.lua index 38332e6..94a5a43 100644 --- a/.config/nvim/lua/options.lua +++ b/.config/nvim/lua/options.lua @@ -20,7 +20,7 @@ vim.opt.grepprg = "rg --vimgrep" vim.opt.inccommand = "split" -- user interface -vim.opt.fillchars = { eob = " " } +-- vim.opt.fillchars = { eob = " " } vim.opt.laststatus = 3 vim.opt.number = true vim.opt.numberwidth = 2 diff --git a/.config/nvim/lua/plugins/colors.lua b/.config/nvim/lua/plugins/colors.lua new file mode 100644 index 0000000..a9a4851 --- /dev/null +++ b/.config/nvim/lua/plugins/colors.lua @@ -0,0 +1,154 @@ +return { -- colorscheme + -- { + -- "catppuccin/nvim", + -- name = "catppuccin", + -- priority = 1000, + -- lazy = false, + -- config = function() + -- require("catppuccin").setup({ + -- flavour = "mocha", -- latte, frappe, macchiato, mocha + -- }) + -- vim.cmd.colorscheme("catppuccin") + -- local hl = vim.api.nvim_set_hl + -- hl(0, "DiagnosticVirtualTextError", { link = "Comment" }) + -- hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" }) + -- hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" }) + -- hl(0, "DiagnosticVirtualTextHint", { link = "Comment" }) + -- end + -- }, + -- { + -- 'AlexvZyl/nordic.nvim', + -- lazy = false, + -- priority = 1000, + -- config = function() + -- require 'nordic'.load() + -- -- vim.cmd.colorscheme("nordic") + -- local hl = vim.api.nvim_set_hl + -- hl(0, "DiagnosticVirtualTextError", { link = "Comment" }) + -- hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" }) + -- hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" }) + -- hl(0, "DiagnosticVirtualTextHint", { link = "Comment" }) + -- end + -- }, + -- { + -- 'comfysage/evergarden', + -- priority = 1000, -- Colorscheme plugin is loaded first before any other plugins + -- lazy = false, + -- config = function() + -- require("evergarden").setup({ + -- transparent_background = true, + -- contrast_dark = 'medium', -- 'hard'|'medium'|'soft' + -- }) + -- -- vim.cmd.colorscheme("evergarden") + -- local hl = vim.api.nvim_set_hl + -- hl(0, "DiagnosticVirtualTextError", { link = "Comment" }) + -- hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" }) + -- hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" }) + -- hl(0, "DiagnosticVirtualTextHint", { link = "Comment" }) + -- end + -- }, + -- { + -- "rose-pine/neovim", + -- name = "rose-pine", + -- priority = 1000, + -- lazy = false, + -- config = function() + -- require("rose-pine").setup({ + -- variant = "moon", + -- dim_inactive_windows = true, + -- groups = { + -- error = "subtle", + -- warn = "subtle", + -- info = "subtle", + -- hint = "subtle", + -- } + -- }) + -- -- vim.cmd.colorscheme("rose-pine") + -- end + -- }, + -- { + -- "tiagovla/tokyodark.nvim", + -- lazy = false, + -- priority = 1000, + -- config = function() + -- require("tokyodark").setup({ + -- transparent_background = false, -- set background to transparent + -- gamma = 1.00, -- adjust the brightness of the theme + -- styles = { + -- comments = { italic = true }, -- style for comments + -- keywords = { italic = true }, -- style for keywords + -- identifiers = { italic = true }, -- style for identifiers + -- functions = {}, -- style for functions + -- variables = {}, -- style for variables + -- }, + -- custom_highlights = {} or function(highlights, palette) return {} end, -- extend highlights + -- custom_palette = {} or function(palette) return {} end, -- extend palette + -- terminal_colors = true, -- enable terminal colors + -- }) + -- -- vim.cmd.colorscheme("tokyodark") + -- end, + -- }, + -- { + -- "nyoom-engineering/oxocarbon.nvim", + -- lazy = false, + -- priority = 1000, + -- config = function() + -- -- vim.cmd.colorscheme("oxocarbon") + -- local hl = vim.api.nvim_set_hl + -- hl(0, "DiagnosticVirtualTextError", { link = "Comment" }) + -- hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" }) + -- hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" }) + -- hl(0, "DiagnosticVirtualTextHint", { link = "Comment" }) + -- hl(0, "DiagnosticUnderlineError", { underline = true, sp = "#858694" }) + -- hl(0, "DiagnosticUnderlineWarn", { underline = true, sp = "#858694" }) + -- hl(0, "DiagnosticUnderlineInfo", { underline = true, sp = "#858694" }) + -- hl(0, "DiagnosticUnderlineHint", { underline = true, sp = "#858694" }) + -- end, + -- }, + -- { + -- "folke/tokyonight.nvim", + -- lazy = false, + -- priority = 1000, + -- config = function() + -- require("tokyonight").setup({ + -- style = "night", + -- styles = { + -- sidebars = "dark", + -- floats = "dark", + -- }, + -- sidebars = { "qf", "help", "Outline" }, + -- on_colors = function(colors) + -- colors.bg = "#16161E" + -- colors.bg_dark = "#0d0d12" + -- end, + -- on_highlights = function(hl, colors) + -- hl.DiagnosticVirtualTextError = { + -- fg = colors.comment + -- } + -- hl.DiagnosticVirtualTextHint = { + -- fg = colors.comment + -- } + -- hl.DiagnosticVirtualTextInfo = { + -- fg = colors.comment + -- } + -- hl.DiagnosticVirtualTextWarn = { + -- fg = colors.comment + -- } + -- hl.DiagnosticSignError = { + -- fg = colors.comment + -- } + -- hl.DiagnosticSignHint = { + -- fg = colors.comment + -- } + -- hl.DiagnosticSignInfo = { + -- fg = colors.comment + -- } + -- hl.DiagnosticSignWarn = { + -- fg = colors.comment + -- } + -- end, + -- }) + -- -- vim.cmd.colorscheme("tokyonight") + -- end, + -- }, +} diff --git a/.config/nvim/lua/plugins/doc.lua b/.config/nvim/lua/plugins/doc.lua index 1e2ceea..57a0bde 100644 --- a/.config/nvim/lua/plugins/doc.lua +++ b/.config/nvim/lua/plugins/doc.lua @@ -15,18 +15,25 @@ return { }, -- qalc + -- { + -- "iffse/qalculate.vim", + -- event = "BufEnter *.qalc", + -- }, { "Apeiros-46B/qalc.nvim", event = "BufEnter *.qalc", cmd = { "QalcAttach", "QalcYank" }, + dependencies = { + "iffse/qalculate.vim" + }, keys = { { "cqa", "QalcAttach", desc = "Attach Calculator" }, { "cqy", "QalcYank", desc = "Yank Result" }, }, opts = { - cmd_args = {}, -- table + cmd_args = {'t'}, -- table bufname = '', -- string - set_ft = 'config', -- string + set_ft = 'qalculate', -- string attach_extension = '*.qalc', -- string sign = ' ==> ', -- string show_sign = true, -- boolean diff --git a/.config/nvim/lua/plugins/editor.lua b/.config/nvim/lua/plugins/editor.lua index bd5b3a4..1bfeabb 100644 --- a/.config/nvim/lua/plugins/editor.lua +++ b/.config/nvim/lua/plugins/editor.lua @@ -5,7 +5,7 @@ return { event = "VeryLazy", keys = { { - "\\p", + "", function() local contents = require("project_nvim").get_recent_projects() local reverse = {} @@ -67,16 +67,6 @@ return { end }, - -- vim-be-good game - { - "theprimeagen/vim-be-good", - dependencies = { - "nvim-lua/plenary.nvim" - }, - config = function() - end - }, - -- todo-comments { "folke/todo-comments.nvim", @@ -101,12 +91,12 @@ return { cmd = { "TroubleToggle", "Trouble" }, opts = { use_diagnostic_signs = true }, keys = { - { "xx", "Trouble diagnostics toggle", desc = "Diagnostics (Trouble)" }, - { "xX", "Trouble diagnostics toggle filter.buf=0", desc = "Buffer Diagnostics (Trouble)" }, - { "xs", "Trouble symbols toggle focus=false", desc = "Symbols (Trouble)" }, + { "xx", "Trouble diagnostics toggle", desc = "Diagnostics (Trouble)" }, + { "xX", "Trouble diagnostics toggle filter.buf=0", desc = "Buffer Diagnostics (Trouble)" }, + { "xs", "Trouble symbols toggle focus=false", desc = "Symbols (Trouble)" }, { "xS", "Trouble lsp toggle focus=false win.position=right", desc = "LSP references/definitions/... (Trouble)", }, - { "xL", "Trouble loclist toggle", desc = "Location List (Trouble)" }, - { "xQ", "Trouble qflist toggle", desc = "Quickfix List (Trouble)" }, + { "xL", "Trouble loclist toggle", desc = "Location List (Trouble)" }, + { "xQ", "Trouble qflist toggle", desc = "Quickfix List (Trouble)" }, { "[q", function() @@ -166,6 +156,7 @@ return { -- illuminate { "RRethy/vim-illuminate", + enabled = false, event = "VeryLazy", opts = { delay = 200, @@ -336,6 +327,59 @@ return { vim.api.nvim_set_hl(0, "LeapMatch", { fg = "white", bold = true, nocombine = true }) vim.api.nvim_set_hl(0, "LeapLabelPrimary", { fg = "#f02077", bold = true, nocombine = true }) vim.api.nvim_set_hl(0, "LeapLabelSecondary", { fg = "#99ddff", bold = true, nocombine = true }) + + local api = vim.api + local ts = vim.treesitter + + local function get_ts_nodes() + if not pcall(ts.get_parser) then return end + local wininfo = vim.fn.getwininfo(api.nvim_get_current_win())[1] + -- Get current node, and then its parent nodes recursively. + local cur_node = ts.get_node() + if not cur_node then return end + local nodes = { cur_node } + local parent = cur_node:parent() + while parent do + table.insert(nodes, parent) + parent = parent:parent() + end + -- Create Leap targets from TS nodes. + local targets = {} + local startline, startcol + for _, node in ipairs(nodes) do + startline, startcol, endline, endcol = node:range() -- (0,0) + local startpos = { startline + 1, startcol + 1 } + local endpos = { endline + 1, endcol + 1 } + -- Add both ends of the node. + if startline + 1 >= wininfo.topline then + table.insert(targets, { pos = startpos, altpos = endpos }) + end + if endline + 1 <= wininfo.botline then + table.insert(targets, { pos = endpos, altpos = startpos }) + end + end + if #targets >= 1 then return targets end + end + + local function select_node_range(target) + local mode = api.nvim_get_mode().mode + -- Force going back to Normal from Visual mode. + if not mode:match('no?') then vim.cmd('normal! ' .. mode) end + vim.fn.cursor(unpack(target.pos)) + local v = mode:match('V') and 'V' or mode:match('�') and '�' or 'v' + vim.cmd('normal! ' .. v) + vim.fn.cursor(unpack(target.altpos)) + end + + local function leap_ts() + require('leap').leap { + target_windows = { api.nvim_get_current_win() }, + targets = get_ts_nodes, + action = select_node_range, + } + end + + vim.keymap.set({ 'x', 'o' }, '\\', leap_ts) end, }, diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index bfe0c92..d575cd5 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -1,165 +1,10 @@ return { - -- colorscheme - { - "catppuccin/nvim", - name = "catppuccin", - priority = 1000, - lazy = false, - config = function() - require("catppuccin").setup({ - flavour = "mocha", -- latte, frappe, macchiato, mocha - }) - vim.cmd.colorscheme("catppuccin") - local hl = vim.api.nvim_set_hl - hl(0, "DiagnosticVirtualTextError", { link = "Comment" }) - hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" }) - hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" }) - hl(0, "DiagnosticVirtualTextHint", { link = "Comment" }) - end - }, - -- { - -- 'AlexvZyl/nordic.nvim', - -- lazy = false, - -- priority = 1000, - -- config = function() - -- require 'nordic'.load() - -- -- vim.cmd.colorscheme("nordic") - -- local hl = vim.api.nvim_set_hl - -- hl(0, "DiagnosticVirtualTextError", { link = "Comment" }) - -- hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" }) - -- hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" }) - -- hl(0, "DiagnosticVirtualTextHint", { link = "Comment" }) - -- end - -- }, - -- { - -- 'comfysage/evergarden', - -- priority = 1000, -- Colorscheme plugin is loaded first before any other plugins - -- lazy = false, - -- config = function() - -- require("evergarden").setup({ - -- transparent_background = true, - -- contrast_dark = 'medium', -- 'hard'|'medium'|'soft' - -- }) - -- -- vim.cmd.colorscheme("evergarden") - -- local hl = vim.api.nvim_set_hl - -- hl(0, "DiagnosticVirtualTextError", { link = "Comment" }) - -- hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" }) - -- hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" }) - -- hl(0, "DiagnosticVirtualTextHint", { link = "Comment" }) - -- end - -- }, - -- { - -- "rose-pine/neovim", - -- name = "rose-pine", - -- priority = 1000, - -- lazy = false, - -- config = function() - -- require("rose-pine").setup({ - -- variant = "moon", - -- dim_inactive_windows = true, - -- groups = { - -- error = "subtle", - -- warn = "subtle", - -- info = "subtle", - -- hint = "subtle", - -- } - -- }) - -- -- vim.cmd.colorscheme("rose-pine") - -- end - -- }, - -- { - -- "tiagovla/tokyodark.nvim", - -- lazy = false, - -- priority = 1000, - -- config = function() - -- require("tokyodark").setup({ - -- transparent_background = false, -- set background to transparent - -- gamma = 1.00, -- adjust the brightness of the theme - -- styles = { - -- comments = { italic = true }, -- style for comments - -- keywords = { italic = true }, -- style for keywords - -- identifiers = { italic = true }, -- style for identifiers - -- functions = {}, -- style for functions - -- variables = {}, -- style for variables - -- }, - -- custom_highlights = {} or function(highlights, palette) return {} end, -- extend highlights - -- custom_palette = {} or function(palette) return {} end, -- extend palette - -- terminal_colors = true, -- enable terminal colors - -- }) - -- -- vim.cmd.colorscheme("tokyodark") - -- end, - -- }, - -- { - -- "nyoom-engineering/oxocarbon.nvim", - -- lazy = false, - -- priority = 1000, - -- config = function() - -- -- vim.cmd.colorscheme("oxocarbon") - -- local hl = vim.api.nvim_set_hl - -- hl(0, "DiagnosticVirtualTextError", { link = "Comment" }) - -- hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" }) - -- hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" }) - -- hl(0, "DiagnosticVirtualTextHint", { link = "Comment" }) - -- hl(0, "DiagnosticUnderlineError", { underline = true, sp = "#858694" }) - -- hl(0, "DiagnosticUnderlineWarn", { underline = true, sp = "#858694" }) - -- hl(0, "DiagnosticUnderlineInfo", { underline = true, sp = "#858694" }) - -- hl(0, "DiagnosticUnderlineHint", { underline = true, sp = "#858694" }) - -- end, - -- }, - -- { - -- "folke/tokyonight.nvim", - -- lazy = false, - -- priority = 1000, - -- config = function() - -- require("tokyonight").setup({ - -- style = "night", - -- styles = { - -- sidebars = "dark", - -- floats = "dark", - -- }, - -- sidebars = { "qf", "help", "Outline" }, - -- on_colors = function(colors) - -- colors.bg = "#16161E" - -- colors.bg_dark = "#0d0d12" - -- end, - -- on_highlights = function(hl, colors) - -- hl.DiagnosticVirtualTextError = { - -- fg = colors.comment - -- } - -- hl.DiagnosticVirtualTextHint = { - -- fg = colors.comment - -- } - -- hl.DiagnosticVirtualTextInfo = { - -- fg = colors.comment - -- } - -- hl.DiagnosticVirtualTextWarn = { - -- fg = colors.comment - -- } - -- hl.DiagnosticSignError = { - -- fg = colors.comment - -- } - -- hl.DiagnosticSignHint = { - -- fg = colors.comment - -- } - -- hl.DiagnosticSignInfo = { - -- fg = colors.comment - -- } - -- hl.DiagnosticSignWarn = { - -- fg = colors.comment - -- } - -- end, - -- }) - -- -- vim.cmd.colorscheme("tokyonight") - -- end, - -- }, - -- icons { "nvim-tree/nvim-web-devicons", }, -- statusline - { "nvim-lualine/lualine.nvim", event = "VeryLazy", @@ -208,6 +53,12 @@ return { fg = '#6C7086', active_buf = "#CDD6F4", } + elseif colorscheme == "default" then + return { + bg = '#14161b', + fg = '#9B9EA4', + active_buf = "#E0E2EA", + } else return { bg = "", diff --git a/.config/suckless/dwm/config.h b/.config/suckless/dwm/config.h index f2e2eb1..2970dd2 100644 --- a/.config/suckless/dwm/config.h +++ b/.config/suckless/dwm/config.h @@ -187,6 +187,7 @@ static const Rule rules[] = { RULE(.class = "volume-ui", .isfloating = 1) RULE(.class = "gping-ui", .isfloating = 1) RULE(.class = "PersepolisDM", .title = "(None)None",.isfloating = 1) + RULE(.class = "gnuplot_qt", .isfloating = 1) }; /* Bar rules allow you to configure what is shown where on the bar, as well as diff --git a/.config/x11/colors/catpuccin b/.config/x11/colors/catpuccin index 9f98381..8748115 100644 --- a/.config/x11/colors/catpuccin +++ b/.config/x11/colors/catpuccin @@ -1,6 +1,6 @@ !! vim: filetype=xdefaults -*.background: #1E1E2E +*.background: #14161B *.foreground: #CDD6F4 *.cursorColor: #CDD6F4 *.color0: #45475A @@ -20,20 +20,20 @@ *.color7: #BAC2DE *.color15: #A6ADC8 -dwm.normbordercolor: #313244 -dwm.normbgcolor: #1e1e2e +dwm.normbordercolor: #262626 +dwm.normbgcolor: #14161B dwm.normfgcolor: #a6adc8 dwm.selbordercolor: #585b70 dwm.selbgcolor: #7f849c dwm.selfgcolor: #a6adc8 dwm.tagsnormfgcolor: #a6adc8 -dwm.tagsnormbgcolor: #1e1e2e +dwm.tagsnormbgcolor: #14161B dwm.tagsselfgcolor: #a6adc8 dwm.tagsselbgcolor: #313244 dmenu.foreground: #a6adc8 -dmenu.background: #1e1e2e -dmenu.selforeground: #1e1e2e +dmenu.background: #14161B +dmenu.selforeground: #14161B dmenu.selbackground: #cba6f7 dmenu.bordercolor: #cba6f7 diff --git a/.local/bin/dictionary b/.local/bin/dictionary index ae7c2b4..872004a 100755 --- a/.local/bin/dictionary +++ b/.local/bin/dictionary @@ -1,6 +1,7 @@ #!/bin/sh word=$(xclip -o -selection "clipboard") +word=$(echo "$word" | sed 's/^[ \t]*//;s/[ \t]*$//') if [ -z "$word" ]; then notify-send "No query." @@ -12,4 +13,3 @@ st \ -g 74x20+800 \ -f "JetBrainsMono Nerd Font:size=12" \ sh -c "dict -d wn \"$word\" | colorit | sed -e '1,3d' -e 's/\[34;47m//g' | less -R"; -work diff --git a/.local/bin/dmenurecord b/.local/bin/dmenurecord index f5ddd8b..b41aa0c 100755 --- a/.local/bin/dmenurecord +++ b/.local/bin/dmenurecord @@ -24,6 +24,7 @@ killrecording() { pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}" } + # -f alsa -thread_queue_size 1024 -i default \ screencast() { ffmpeg -y \ -f x11grab \ @@ -32,12 +33,11 @@ screencast() { -i "$DISPLAY" \ -r 24 \ -use_wallclock_as_timestamps 1 \ - -f alsa -thread_queue_size 1024 -i default \ -c:v h264 \ -crf 0 -preset ultrafast -c:a aac \ "$HOME/screencast-$(date '+%y%m%d-%H%M-%S').mp4" & echo $! >/tmp/recordingpid - updateicon "^C4^  ^d^" + updateicon "^C4^ ^d^" } video() { diff --git a/.local/bin/fuz b/.local/bin/fuz index 7dd8e59..5c8b85b 100755 --- a/.local/bin/fuz +++ b/.local/bin/fuz @@ -14,23 +14,19 @@ HEADER="${h_padding}\  3:Images${h_gap}\  4:Videos" -fzf_main_func() { - cat $CACHE_DIR/all | fzf --ansi --prompt " All  " \ - --bind "alt-1:transform:( - ([[ \$FZF_PROMPT =~ All ]] && echo 'change-prompt( Folders  )+reload(cat $CACHE_DIR/folders)') || - ([[ \$FZF_PROMPT =~ Folders ]] && echo 'change-prompt( Git  )+reload(cat $CACHE_DIR/git)') || - echo 'change-prompt( All  )+reload(cat $CACHE_DIR/all)')" \ - --bind "alt-2:change-prompt( Documents  )+reload(cat $CACHE_DIR/documents)" \ - --bind "alt-3:change-prompt( Images  )+reload(cat $CACHE_DIR/images)" \ - --bind "alt-4:change-prompt( Videos  )+reload(cat $CACHE_DIR/videos)" \ - --header "$HEADER" \ - --height=100% --pointer=" " --ellipsis= --header-first --scheme=path --algo=v2 --color="16" \ - --preview-window "bottom,60%,border-top" --border=none --margin=5%,10%,5%,10% --info=inline-right \ - --preview "fuz-preview {}" -} +OPENER="fuz-opener" +PREVIEWER="fuz-preview" -selection=$(fzf_main_func) - -if [ -n "$selection" ]; then - fuz-opener "$selection" -fi +cat $CACHE_DIR/all | fzf --ansi --prompt " All  " \ + --bind "alt-1:transform:( + ([[ \$FZF_PROMPT =~ All ]] && echo 'change-prompt( Folders  )+reload(cat $CACHE_DIR/folders)') || + ([[ \$FZF_PROMPT =~ Folders ]] && echo 'change-prompt( Git  )+reload(cat $CACHE_DIR/git)') || + echo 'change-prompt( All  )+reload(cat $CACHE_DIR/all)')" \ + --bind "alt-2:change-prompt( Documents  )+reload(cat $CACHE_DIR/documents)" \ + --bind "alt-3:change-prompt( Images  )+reload(cat $CACHE_DIR/images)" \ + --bind "alt-4:change-prompt( Videos  )+reload(cat $CACHE_DIR/videos)" \ + --header "$HEADER" \ + --height=100% --pointer=" " --ellipsis= --header-first --scheme=path --algo=v2 --color="16" \ + --preview-window "bottom,60%,border-top" --border=none --margin=5%,10%,5%,10% --info=inline-right \ + --preview "$PREVIEWER {}" \ + --bind "enter:execute:$OPENER {}" diff --git a/.local/bin/fuz-preview b/.local/bin/fuz-preview index b691988..ad48c96 100755 --- a/.local/bin/fuz-preview +++ b/.local/bin/fuz-preview @@ -7,7 +7,7 @@ # - pdftoppm # - exiftool # - ffmpegthumbnailer -# - ImageMagick (convert) +# - ImageMagick (magick) if [[ $# -ne 1 ]]; then >&2 echo "usage: $0 FILENAME" @@ -92,7 +92,7 @@ preview_video() { temp_image=$(mktemp /tmp/preview.XXXXXX.jpg) temp_files+=("$temp_image") if ffmpegthumbnailer -i "$file" -o "$temp_image" -s 0 >/dev/null 2>&1; then - convert "$temp_image" -resize 25% "$temp_image" + magick "$temp_image" -resize 25% "$temp_image" preview_image "$temp_image" else file "$file" diff --git a/.local/bin/fzf-grep b/.local/bin/fzf-grep index 344c6d7..a50067e 100755 --- a/.local/bin/fzf-grep +++ b/.local/bin/fzf-grep @@ -8,23 +8,34 @@ rm -f /tmp/rg-fzf-{r,f} RG_PREFIX="rg --hidden --column --line-number --no-heading --follow --color=always --smart-case \ --glob '!/.ssh' --glob '!/.android' --glob '!/.gnupg' --glob '!node_modules'" + INITIAL_QUERY="${*:-}" -: | fzf --ansi --disabled --query "$INITIAL_QUERY" \ +h_padding=$(printf '%*s' 7 ' ') +h_gap=$(printf '%*s' 2 ' ') +HEADER="${h_padding}\ +  Prefix:Alt${h_gap}\ +  Space:fzf/ripgrep${h_gap}\ +  A:Select All${h_gap}\ +  D:Deselect All${h_gap}\ +  /:Toggle Preview${h_gap}\ +  Q:Quickfix List" + +: | fzf --ansi --multi --disabled --query "$INITIAL_QUERY" \ --bind "start:reload:$RG_PREFIX {q} $SEARCH_DIR" \ --bind "change:reload:sleep 0.1; $RG_PREFIX {q} $SEARCH_DIR || true" \ - --bind "ctrl-space:transform:[[ ! \$FZF_PROMPT =~ ripgrep ]] && + --bind "alt-space:transform:[[ ! \$FZF_PROMPT =~ ripgrep ]] && echo \"rebind(change)+change-prompt(ripgrep  )+disable-search+transform-query:echo {q} > /tmp/rg-fzf-f; cat /tmp/rg-fzf-r\" || echo \"unbind(change)+change-prompt(fzf  )+enable-search+transform-query:echo {q} > /tmp/rg-fzf-r; cat /tmp/rg-fzf-f\"" \ + --bind 'alt-a:select-all,alt-d:deselect-all,alt-/:toggle-preview' \ --margin=5%,10%,5%,10% --height=100% --reverse --color=16 --info=inline-right \ --scrollbar=▐ --keep-right --border=none --ellipsis= \ --prompt 'ripgrep  ' \ --delimiter : \ - --header 'CTRL-Space: Switch between ripgrep/fzf' --header-first \ + --header "$HEADER" --header-first \ --preview 'bat --style=header,numbers --color=always {1} --highlight-line {2}' \ --preview-window 'bottom,60%,border-top,+{2}+3/3,~1' \ - --bind 'enter:become(nvim {1} +{2})' + --bind "alt-q:execute:nvim +cw -q {+f}" \ + --bind "enter:execute:nvim {1} +{2}" dwmc setlayoutex 0 - -# --color "hl:-1:underline,hl+:-1:underline:reverse" \