From 1245bd43ace9457c5da1f453ac0ca1353ffbb424 Mon Sep 17 00:00:00 2001 From: elkowar Date: Sun, 25 Aug 2024 17:48:21 +0200 Subject: [PATCH] migration vim ongoing --- foot/.config/foot/foot.ini | 3 +- niri/.config/niri/.zed/tasks.json | 0 niri/.config/niri/clipboardfix.sh | 41 +++++++ niri/.config/niri/config.kdl | 14 ++- nvim/.config/nvim/fnl/dots/keybinds.fnl | 73 ++++++++---- .../nvim/fnl/dots/plugins/bufferline.fnl | 2 +- nvim/.config/nvim/fnl/dots/plugins/feline.fnl | 12 +- nvim/.config/nvim/fnl/dots/utils.fnl | 14 ++- nvim/.config/nvim/lazy-lock.json | 110 +++++++++--------- nvim/.config/nvim/lua/dots/keybinds.lua | 44 ++++--- .../nvim/lua/dots/plugins/bufferline.lua | 8 +- nvim/.config/nvim/lua/dots/plugins/cmp.lua | 4 +- nvim/.config/nvim/lua/dots/plugins/feline.lua | 58 +++------ nvim/.config/nvim/lua/dots/plugins/lsp.lua | 4 +- .../.config/nvim/lua/dots/plugins/ltex-ls.lua | 20 ++-- .../.config/nvim/lua/dots/plugins/plugins.lua | 6 +- .../nvim/lua/dots/plugins/telescope.lua | 2 +- .../nvim/lua/dots/plugins/treesitter.lua | 1 + .../.config/nvim/lua/dots/plugins/trouble.lua | 2 +- nvim/.config/nvim/lua/dots/utils.lua | 64 +++++----- nvim/.config/nvim/lua/main.lua | 2 +- zed/.config/zed/keymap.json | 69 ++++++++++- zsh/.zshenv | 2 + 23 files changed, 348 insertions(+), 207 deletions(-) create mode 100644 niri/.config/niri/.zed/tasks.json create mode 100755 niri/.config/niri/clipboardfix.sh diff --git a/foot/.config/foot/foot.ini b/foot/.config/foot/foot.ini index ea13a9c..8fe4d2d 100644 --- a/foot/.config/foot/foot.ini +++ b/foot/.config/foot/foot.ini @@ -73,7 +73,8 @@ hide-when-typing=yes #background=1d2021 background=282828 foreground=ebdbb2 -regular0=282828 +#regular0=282828 +regular0=665c54 regular1=cc241d regular2=98971a regular3=d79921 diff --git a/niri/.config/niri/.zed/tasks.json b/niri/.config/niri/.zed/tasks.json new file mode 100644 index 0000000..e69de29 diff --git a/niri/.config/niri/clipboardfix.sh b/niri/.config/niri/clipboardfix.sh new file mode 100755 index 0000000..2277256 --- /dev/null +++ b/niri/.config/niri/clipboardfix.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash +primary-wl-to-x () { + while read; do + if [[ "$(wl-paste --primary --no-newline | sha256sum)" != "$(xclip -selection primary -out | sha256sum)" ]]; then + echo "syncing primary wl->x" + wl-paste --primary --no-newline | xclip -selection primary -in + fi + done < <(wl-paste --primary --watch echo) +} + +primary-x-to-wl () { + while clipnotify -s primary; do + if [[ "$(wl-paste --primary --no-newline | sha256sum)" != "$(xclip -selection primary -out | sha256sum)" ]]; then + echo "syncing primary x->wl" + xclip -selection primary -out | wl-copy --primary + fi + done +} + +clipboard-wl-to-x () { + while read; do + if [[ "$(wl-paste --no-newline | sha256sum)" != "$(xclip -selection clipboard -out | sha256sum)" ]]; then + echo "syncing clipboard wl->x" + wl-paste --no-newline | xclip -selection clipboard -in + fi + done < <(wl-paste --watch echo) +} + +clipboard-x-to-wl () { + while clipnotify -s clipboard; do + if [[ "$(wl-paste --no-newline | sha256sum)" != "$(xclip -selection clipboard -out | sha256sum)" ]]; then + echo "syncing clipboard x->wl" + xclip -selection clipboard -out | wl-copy + fi + done +} + +clipboard-wl-to-x & +clipboard-x-to-wl & +primary-wl-to-x & +primary-x-to-wl & diff --git a/niri/.config/niri/config.kdl b/niri/.config/niri/config.kdl index a841fdb..76e7d77 100644 --- a/niri/.config/niri/config.kdl +++ b/niri/.config/niri/config.kdl @@ -26,7 +26,7 @@ environment { } output "DP-2" { - mode "3440x1440@99.98" + mode "3440x1440@99.982" //variable-refresh-rate scale 1 transform "normal" @@ -63,10 +63,11 @@ layout { // Note that running niri as a session supports xdg-desktop-autostart, // which may be more convenient to use. // See the binds section below for more spawn examples. -spawn-at-startup "bash" "-c" "eww -c ~/.config/eww-bar open bar_1 --restart" +spawn-at-startup "bash" "-c" "eww -c ~/.config/eww-bar open bar_1" spawn-at-startup "xwayland-satellite" spawn-at-startup "bash" "-c" "1password --silent" spawn-at-startup "wl-paste" "--watch" "xclip -in -sel c" +spawn-at-startup "~/.config/niri/clipboardfix.sh" prefer-no-csd screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" @@ -160,10 +161,19 @@ window-rule { window-rule { match app-id=r#"1Password"# match title=r#"[gG]mail"# + match app-id=r#".*[mM]ako.*"# + match title=r#".*[Ww]hats[aA]pp.*$"# + // opacity 0.5 block-out-from "screen-capture" } +window-rule { + match app-id=r#"^[gG]edit$"#; + match app-id=r#"^[eE]og$"#; + // fake-fullscreen true +} + window-rule { match title=r#"^.* is sharing your screen.$"#; } diff --git a/nvim/.config/nvim/fnl/dots/keybinds.fnl b/nvim/.config/nvim/fnl/dots/keybinds.fnl index de1895b..037ea0f 100644 --- a/nvim/.config/nvim/fnl/dots/keybinds.fnl +++ b/nvim/.config/nvim/fnl/dots/keybinds.fnl @@ -56,6 +56,13 @@ (fn sel-cmd [s desc] [(.. "'<,'>" s "") desc]) (fn rebind [s desc] [s desc]) +(fn key-map [obj] + (icollect [key val (pairs obj)] + (utils.prepend key val))) +(fn key [bind desc] + {1 bind :desc desc}) + + (fn format [] (if (a.some #$1.server_capabilities.documentFormattingProvider (vim.lsp.get_active_clients)) @@ -74,6 +81,25 @@ (vim.diagnostic.config {:virtual_lines {:only_current_line true}})) (wk.setup {}) + +(wk.add + (key-map + {"c" {:name "+comment out"} + "e" {:name "+emmet"} + + "[" (cmd "HopWord" "Hop to a word") + "h" (cmd "bprevious" "previous buffer") + "l" (cmd "bnext" "next buffer") + "o" (cmd "Telescope live_grep" "Grep files") + "P" (cmd "Telescope frecency frecency default_text=:CWD:" "Frecency magic") + "p" (cmd "Telescope find_files" "Open file-browser") + ":" (cmd "Telescope commands" "Search command with fzf") + "s" (cmd "w" "Save file") + "g" (cmd "Neogit" "Git") + + "n" [(. (require :persistence) :load) "Load last session"]})) + + (wk.register {"c" {:name "+comment out"} "e" {:name "+emmet"} @@ -154,35 +180,32 @@ "w" (cmd ":Bwipeout!" "wipeout open buffer")}} - {:prefix""}) + {:prefix ""}) -(wk.register - {"" "which_key_ignore" - "gss" "init selection" - "z" {:name "+folds" - "c" (cmd "foldclose" "close fold") - "o" (cmd "foldopen" "open fold")}}) +(wk.add + (key-map + {"" {:hidden true} + "gss" {:desc "init selection"} + "z" {:group "folds"} + "zc" (key "foldclose" "close fold") + "zo" (key "foldopen" "open fold")})) +(wk.add + (key-map {"" {:hidden true :mode "i"}})) -(wk.register - {"" "which_key_ignore"} - {:mode "i"}) - -(wk.register - {"s" (sel-cmd "VSSplit" "keep selection visible in split") - "z" [open-selection-zotero "open in zotero"]} - {:prefix "" - :mode "v"}) - -(wk.register - {:name "+Selection" - "j" "increment selection" - "k" "decrement selection" - "l" "increment node" - "h" "decrement node"} - {:prefix "gs" - :mode "v"}) +(wk.add + (utils.prepend + (key-map + {"s" (sel-cmd "VSSplit" "keep selection visible in split") + "z" [open-selection-zotero "open in zotero"] + "gs" {:group "+Selection"} + "gsj" {:desc "increment selection"} + "gsk" {:desc "decrement selection"} + "gsl" {:desc "increment node"} + "gsh" {:desc "decrement node"}}) + {:mode "v"})) + (set vim.o.timeoutlen 200) diff --git a/nvim/.config/nvim/fnl/dots/plugins/bufferline.fnl b/nvim/.config/nvim/fnl/dots/plugins/bufferline.fnl index b9cfb7f..784c649 100644 --- a/nvim/.config/nvim/fnl/dots/plugins/bufferline.fnl +++ b/nvim/.config/nvim/fnl/dots/plugins/bufferline.fnl @@ -71,4 +71,4 @@ :tab {:bg colors.bright_yellow :fg colors.bright_yellow}}}))) [(utils.plugin :akinsho/nvim-bufferline.lua - {:config setup :tag "v4.5.2"})] + {:config setup :tag "v4.7.0"})] diff --git a/nvim/.config/nvim/fnl/dots/plugins/feline.fnl b/nvim/.config/nvim/fnl/dots/plugins/feline.fnl index 9c107ba..0775299 100644 --- a/nvim/.config/nvim/fnl/dots/plugins/feline.fnl +++ b/nvim/.config/nvim/fnl/dots/plugins/feline.fnl @@ -48,12 +48,14 @@ (fn vim-mode [] (.. " " (or (. modes (vim.fn.mode) :text) vim.fn.mode) " ")) + ;(fn lsp-progress-provider [] + ;(let [msgs (vim.lsp.util.get_progress_messages) + ;s (icollect [_ msg (ipairs msgs)] + ;(when msg.message + ;(.. msg.title " " msg.message)))] + ;(or-empty (str.join " | " s)))) (fn lsp-progress-provider [] - (let [msgs (vim.lsp.util.get_progress_messages) - s (icollect [_ msg (ipairs msgs)] - (when msg.message - (.. msg.title " " msg.message)))] - (or-empty (str.join " | " s)))) + (vim.lsp.status)) diff --git a/nvim/.config/nvim/fnl/dots/utils.fnl b/nvim/.config/nvim/fnl/dots/utils.fnl index 7c56ca4..c7f5e69 100644 --- a/nvim/.config/nvim/fnl/dots/utils.fnl +++ b/nvim/.config/nvim/fnl/dots/utils.fnl @@ -7,6 +7,11 @@ (tset ?opts 1 name) ?opts))) +(fn prepend [a list] + (local x list) + (table.insert x 1 a) + x) + (fn all [f] (not (a.some #(not (f $1))))) @@ -86,16 +91,16 @@ (let [default { :fg "NONE" :bg "NONE" :gui "NONE"} opts (a.merge default colset)] (each [_ group (ipairs (single-to-list group-arg))] - (vim.cmd (.. "hi! "group" guifg='"opts.fg"' guibg='"opts.bg"' gui='"opts.gui"'"))))) + (vim.cmd (.. "hi! " group " guifg='" opts.fg "' guibg='" opts.bg "' gui='" opts.gui "'"))))) (fn highlight-add [group-arg colset] (each [_ group (ipairs (single-to-list group-arg))] (vim.cmd (.. "hi! " group - (surround-if-present " guibg='"colset.bg"'") - (surround-if-present " guifg='"colset.fg"'") - (surround-if-present " gui='"colset.gui"'"))))) + (surround-if-present " guibg='" colset.bg "'") + (surround-if-present " guifg='" colset.fg "'") + (surround-if-present " gui='" colset.gui "'"))))) @@ -150,5 +155,6 @@ : highlight : highlight-add : shorten-path + : prepend : comp : get-selection} diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index 6a06c49..7a6432d 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -1,107 +1,107 @@ { "agda-vim": { "branch": "master", "commit": "4a0f475aaef756702222bdd5b01e25f814f5691f" }, - "aniseed": { "branch": "master", "commit": "7bc09736f3651c10d29b82d1a465b7f540614be1" }, + "aniseed": { "branch": "master", "commit": "d558a68329c465bced901adf3238a6f946d62483" }, "antifennel-nvim": { "branch": "master", "commit": "79261d02213a5093135e5d02431682f04459f0f7" }, "ats-vim": { "branch": "master", "commit": "8e3e722b6d09ed81313573b4e7b108b265628ff1" }, "auto-pairs": { "branch": "master", "commit": "39f06b873a8449af8ff6a3eee716d3da14d63a76" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-calc": { "branch": "main", "commit": "ce91d14d2e7a8b3f6ad86d85e34d41c1ae6268d9" }, + "cmp-calc": { "branch": "main", "commit": "5947b412da67306c5b68698a02a846760059be2e" }, "cmp-conventionalcommits": { "branch": "master", "commit": "a4dfacf0601130b7f8afa7c948d735c27802fb7f" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, - "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-omni": { "branch": "main", "commit": "4ef610bbd85a5ee4e97e09450c0daecbdc60de86" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" }, - "conflict-marker.vim": { "branch": "master", "commit": "11a4d42244755505b66b15cd4496a150432eb5e3" }, - "conjure": { "branch": "master", "commit": "dfb9f75010a181c090ab905b2a2b4180aea20f15" }, - "copilot.lua": { "branch": "master", "commit": "f7612f5af4a7d7615babf43ab1e67a2d790c13a6" }, - "crates.nvim": { "branch": "main", "commit": "f00e11e8282b94f2a2e938d32712c99f0e0bdeb4" }, - "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, - "dressing.nvim": { "branch": "master", "commit": "5162edb1442a729a885c45455a07e9a89058be2f" }, + "conflict-marker.vim": { "branch": "master", "commit": "62742b2ffe7a433988759c67b5c5a22eff74a14b" }, + "conjure": { "branch": "master", "commit": "6d2bc7f7b24c2c43d54f263bee7b9b08aef5d1a1" }, + "copilot.lua": { "branch": "master", "commit": "86537b286f18783f8b67bccd78a4ef4345679625" }, + "crates.nvim": { "branch": "main", "commit": "891063a2dc8471501b9742406a514be62a20c138" }, + "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, + "dressing.nvim": { "branch": "master", "commit": "c5775a888adbc50652cb370073fcfec963eca93e" }, "editorconfig-vim": { "branch": "master", "commit": "8b7da79e9daee7a3f3a8d4fe29886b9756305aff" }, - "emmet-vim": { "branch": "master", "commit": "def5d57a1ae5afb1b96ebe83c4652d1c03640f4d" }, + "emmet-vim": { "branch": "master", "commit": "6c511a8d7d2863066f32e25543e2bb99d505172c" }, "feline.nvim": { "branch": "master", "commit": "3587f57480b88e8009df7b36dc84e9c7ff8f2c49" }, "fennel.vim": { "branch": "master", "commit": "30b9beabad2c4f09b9b284caf5cd5666b6b4dc89" }, - "flutter-tools.nvim": { "branch": "main", "commit": "f04131d6b2c82c2a7624a8843642d6269b50b437" }, - "friendly-snippets": { "branch": "main", "commit": "ea068f1becd91bcd4591fceb6420d4335e2e14d3" }, - "gh.nvim": { "branch": "main", "commit": "3181973d0c80fe0553e30e0aeeb860bedef9a33b" }, - "gitsigns.nvim": { "branch": "main", "commit": "035da036e68e509ed158414416c827d022d914bd" }, + "flutter-tools.nvim": { "branch": "main", "commit": "e6671ce76acf607678cd79b12029371ab67fb6f5" }, + "friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" }, + "gh.nvim": { "branch": "main", "commit": "ebbaac254ef7dd6f85b439825fbce82d0dc84515" }, + "gitsigns.nvim": { "branch": "main", "commit": "562dc47189ad3c8696dbf460d38603a74d544849" }, "glance.nvim": { "branch": "master", "commit": "51059bcf21016387b6233c89eed220cf47fca752" }, "haskell-vim": { "branch": "master", "commit": "f35d02204b4813d1dbe8b0e98cc39701a4b8e15e" }, "hop.nvim": { "branch": "master", "commit": "1a1eceafe54b5081eae4cb91c723abd1d450f34b" }, "idris2-vim": { "branch": "master", "commit": "964cebee493c85f75796e4f4e6bbb4ac54e2da9e" }, - "inc-rename.nvim": { "branch": "main", "commit": "5e03e986625961d1fac296d1bf332a6510c3add6" }, + "inc-rename.nvim": { "branch": "main", "commit": "8ba77017ca468f3029bf88ef409c2d20476ea66b" }, "kdl.vim": { "branch": "main", "commit": "b84d7d3a15d8d30da016cf9e98e2cfbe35cddee5" }, "kmonad-vim": { "branch": "master", "commit": "37978445197ab00edeb5b731e9ca90c2b141723f" }, "lalrpop.vim": { "branch": "master", "commit": "7073eec8efdeff37cacd4bca378c28dad02c3c14" }, - "lazy.nvim": { "branch": "main", "commit": "3f13f080434ac942b150679223d54f5ca91e0d52" }, - "litee.nvim": { "branch": "main", "commit": "3c51764a615566e4c0223362f4be00acc23c430e" }, - "lsp_lines.nvim": { "branch": "main", "commit": "6f3defec73f7c87939e800e9afa5d0571b19b401" }, - "lsp_signature.nvim": { "branch": "master", "commit": "c6aeb2f1d2538bbdfdaab1664d9d4c3c75aa9db8" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "44509689b9bf3984d729cc264aacb31cb7f41668" }, - "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, - "neoformat": { "branch": "master", "commit": "4372abb846f43ec121df40e620682c985ebc8286" }, - "neogit": { "branch": "master", "commit": "0cae7abc30cb91d661f28257c331fcb5b5198e31" }, - "nerdcommenter": { "branch": "master", "commit": "e361a44230860d616f799a337bc58f5218ab6e9c" }, - "nfnl": { "branch": "main", "commit": "d6b33ae7376dda6f26cca8365d9beaf66f43c410" }, - "nvim-bufferline.lua": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" }, - "nvim-cmp": { "branch": "main", "commit": "8f3c541407e691af6163e2447f3af1bd6e17f9a3" }, + "lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" }, + "litee.nvim": { "branch": "main", "commit": "4efaf373322d9e71eaff31164abb393417cc6f6a" }, + "lsp_lines.nvim": { "branch": "main", "commit": "7d9e2748b61bff6ebba6e30adbc7173ccf21c055" }, + "lsp_signature.nvim": { "branch": "master", "commit": "a38da0a61c172bb59e34befc12efe48359884793" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "482350b050bd413931c2cdd4857443c3da7d57cb" }, + "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, + "neoformat": { "branch": "master", "commit": "b3b38589b39038dc12c2f5a59a828ed43439363a" }, + "neogit": { "branch": "master", "commit": "6af8fc6b03210d0ac99398f8eff27c5be7b2ba8a" }, + "nerdcommenter": { "branch": "master", "commit": "3f860f2d981547c18f2c9599e3c358ea488c3be4" }, + "nfnl": { "branch": "main", "commit": "e43ca4e93d28a43f7b3cb19121afff8abcedbc3f" }, + "nvim-bufferline.lua": { "branch": "main", "commit": "2e3c8cc5a57ddd32f1edd2ffd2ccb10c09421f6c" }, + "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" }, "nvim-code-action-menu": { "branch": "main", "commit": "8c7672a4b04d3cc4edd2c484d05b660a9cb34a1b" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" }, - "nvim-dap": { "branch": "master", "commit": "6ae8a14828b0f3bff1721a35a1dfd604b6a933bb" }, - "nvim-dap-ui": { "branch": "master", "commit": "edfa93f60b189e5952c016eee262d0685d838450" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, + "nvim-dap": { "branch": "master", "commit": "281a2e4cd1e7a17cea7ecb1745d84a8ab1249925" }, + "nvim-dap-ui": { "branch": "master", "commit": "a5606bc5958db86f8d92803bea7400ee26a8d7e4" }, "nvim-jenkinsfile-linter": { "branch": "main", "commit": "b6b48b0a7aed92ed46bb9e1ab208dce92941f50b" }, - "nvim-lspconfig": { "branch": "master", "commit": "7133e85c3df14a387da8942c094c7edddcdef309" }, - "nvim-nio": { "branch": "master", "commit": "5800f585def265d52f1d8848133217c800bcb25d" }, - "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-web-devicons": { "branch": "master", "commit": "beb6367ab8496c9e43f22e0252735fdadae1872d" }, + "nvim-lspconfig": { "branch": "master", "commit": "911167921d49cd5c1c9b2436031d0da3945e787f" }, + "nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" }, + "nvim-scrollbar": { "branch": "main", "commit": "d09f14aa16c9f2748e77008f9da7b1f76e4e7b85" }, + "nvim-web-devicons": { "branch": "master", "commit": "3722e3d1fb5fe1896a104eb489e8f8651260b520" }, "nvim.lua": { "branch": "master", "commit": "5d57be0b6eea6c06977b1c5fe0752da909cf4154" }, - "nvlime": { "branch": "master", "commit": "024b007766734d4be0e325eab2b33a3111720fbc" }, - "obsidian.nvim": { "branch": "main", "commit": "b1bfc2ad9172f0405bf6c21e1f63cfb73f79b480" }, - "octo.nvim": { "branch": "master", "commit": "5646539320cd62af6ff28f48ec92aeb724c68e18" }, - "parinfer-rust": { "branch": "master", "commit": "0e4d52e712641ad351a1bfe6cee3d34d63ed087b" }, + "nvlime": { "branch": "master", "commit": "228e4fa8c7d10b1ed07b1649a63743613b77a828" }, + "obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" }, + "octo.nvim": { "branch": "master", "commit": "0134169886958f3874f16eed7fe73d906a3e7e17" }, + "parinfer-rust": { "branch": "master", "commit": "d84828b453e158d06406f6b5e9056f6b54ff76c9" }, "parsley": { "branch": "main", "commit": "c4100aa449bfa971dcfc56ffe4206ba034db08cc" }, - "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, - "plenary.nvim": { "branch": "master", "commit": "08e301982b9a057110ede7a735dd1b5285eb341f" }, + "persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" }, + "plenary.nvim": { "branch": "master", "commit": "ec289423a1693aeae6cd0d503bac2856af74edaa" }, "popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" }, "purescript-vim": { "branch": "main", "commit": "82348352e6568fcc0385bd7c99a8ead3a479feea" }, "rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" }, - "rustaceanvim": { "branch": "master", "commit": "cd35b0f7fb0c9fe6879b084096230a74fefa4da8" }, + "rustaceanvim": { "branch": "master", "commit": "047f9c9d8cd2861745eb9de6c1570ee0875aa795" }, "sad.vim": { "branch": "master", "commit": "2f5b33b239a566ffedaa81cee3051bb613482d1e" }, "stabilize.nvim": { "branch": "master", "commit": "eeb1873daffaba67246188a5668b366e45ed1de1" }, "startuptime.vim": { "branch": "master", "commit": "dfa57f522d6f61793fe5fea65bca7484751b8ca2" }, - "tabular": { "branch": "master", "commit": "339091ac4dd1f17e225fe7d57b48aff55f99b23a" }, - "targets.vim": { "branch": "master", "commit": "642d3a4ce306264b05ea3219920b13ea80931767" }, + "tabular": { "branch": "master", "commit": "12437cd1b53488e24936ec4b091c9324cafee311" }, + "targets.vim": { "branch": "master", "commit": "6325416da8f89992b005db3e4517aaef0242602e" }, "telescope-dap.nvim": { "branch": "master", "commit": "8c88d9716c91eaef1cdea13cb9390d8ef447dbfe" }, - "telescope.nvim": { "branch": "master", "commit": "35f94f0ef32d70e3664a703cefbe71bd1456d899" }, - "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, - "trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, - "typescript-vim": { "branch": "master", "commit": "e83ccab88c7a045ce795583adb66956afd464a31" }, + "telescope.nvim": { "branch": "master", "commit": "5972437de807c3bc101565175da66a1aa4f8707a" }, + "todo-comments.nvim": { "branch": "main", "commit": "8f45f353dc3649cb9b44cecda96827ea88128584" }, + "trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" }, + "typescript-vim": { "branch": "master", "commit": "8d169e16b5487771f6568125d4c63e6086e524d9" }, "vim-bbye": { "branch": "master", "commit": "25ef93ac5a87526111f43e5110675032dbcacf56" }, "vim-exchange": { "branch": "master", "commit": "d6c1e9790bcb8df27c483a37167459bbebe0112e" }, - "vim-fugitive": { "branch": "master", "commit": "dac8e5c2d85926df92672bf2afb4fc48656d96c7" }, + "vim-fugitive": { "branch": "master", "commit": "0444df68cd1cdabc7453d6bd84099458327e5513" }, "vim-gh-line": { "branch": "master", "commit": "731751fdfa4f64a061dbc7088cb7b2f12e0828ad" }, - "vim-gruvbox8": { "branch": "master", "commit": "d1cf31e5215ad6f5544d9e631383aef4b6c35cb7" }, + "vim-gruvbox8": { "branch": "master", "commit": "008b7773e5f2cba625a5fcc5acc543b28b19cd26" }, "vim-indent-guides": { "branch": "master", "commit": "a1e1390c0136e63e813d051de2003bf0ee18ae30" }, "vim-javascript": { "branch": "master", "commit": "c470ce1399a544fe587eab950f571c83cccfbbdc" }, "vim-jsonc": { "branch": "master", "commit": "0b7ca17da85b5faa813be8ead3ad497e348b2763" }, "vim-jsx": { "branch": "master", "commit": "8879e0d9c5ba0e04ecbede1c89f63b7a0efa24af" }, "vim-nix": { "branch": "master", "commit": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0" }, "vim-raku": { "branch": "master", "commit": "f4496123353cce789fc6645ceb686f5cf51acca3" }, - "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, + "vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" }, "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" }, "vim-smoothie": { "branch": "master", "commit": "df1e324e9f3395c630c1c523d0555a01d2eb1b7e" }, "vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" }, "vim-svelte": { "branch": "main", "commit": "0e93ec53c3667753237282926fec626785622c1c" }, "vim-toml": { "branch": "main", "commit": "d36caa6b1cf508a4df1c691f915572fc02143258" }, "vim-tsx": { "branch": "master", "commit": "77c89c42e189fefd3c9a632b37b7e3b3b9edf918" }, - "vim-visual-multi": { "branch": "master", "commit": "b84a6d42c1c10678928b0bf8327f378c8bc8af5a" }, + "vim-visual-multi": { "branch": "master", "commit": "38b0e8d94a5499ccc17d6159763d32c79f53417b" }, "vim-vsnip": { "branch": "master", "commit": "02a8e79295c9733434aab4e0e2b8c4b7cea9f3a9" }, "vim-vsnip-integ": { "branch": "master", "commit": "1914e72cf3de70df7f5dde476cd299aba2440aef" }, - "vimtex": { "branch": "master", "commit": "6c01660a99c0cc0906b39094f4a2d086b28fa995" }, + "vimtex": { "branch": "master", "commit": "76ef99f73a5ff10be59836a4af4f928eaa8ad284" }, "webapi-vim": { "branch": "master", "commit": "70c49ada7827d3545a65cbdab04c5c89a3a8464e" }, - "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, - "yats.vim": { "branch": "master", "commit": "6927af6e3e45d0ce585684be5681bada0ffcc3a7" }, + "which-key.nvim": { "branch": "main", "commit": "6c1584eb76b55629702716995cca4ae2798a9cca" }, + "yats.vim": { "branch": "master", "commit": "b325c449a2db4d9ee38aa441afa850a815982e8b" }, "yuck.vim": { "branch": "master", "commit": "9b5e0370f70cc30383e1dabd6c215475915fe5c3" } } \ No newline at end of file diff --git a/nvim/.config/nvim/lua/dots/keybinds.lua b/nvim/.config/nvim/lua/dots/keybinds.lua index fa8d802..9a1209e 100644 --- a/nvim/.config/nvim/lua/dots/keybinds.lua +++ b/nvim/.config/nvim/lua/dots/keybinds.lua @@ -38,11 +38,27 @@ end local function rebind(s, desc) return {s, desc} end +local function key_map(obj) + local tbl_21_auto = {} + local i_22_auto = 0 + for key, val in pairs(obj) do + local val_23_auto = utils.prepend(key, val) + if (nil ~= val_23_auto) then + i_22_auto = (i_22_auto + 1) + tbl_21_auto[i_22_auto] = val_23_auto + else + end + end + return tbl_21_auto +end +local function key(bind, desc) + return {bind, desc = desc} +end local function format() - local function _2_(_241) + local function _3_(_241) return _241.server_capabilities.documentFormattingProvider end - if a.some(_2_, vim.lsp.get_active_clients()) then + if a.some(_3_, vim.lsp.get_active_clients()) then return vim.lsp.buf.format({async = true}) else return vim.cmd("Neoformat") @@ -59,32 +75,32 @@ local function toggle_lsp_lines_current() return vim.diagnostic.config({virtual_lines = {only_current_line = true}}) end wk.setup({}) -local function _4_() +wk.add(key_map({["c"] = {name = "+comment out"}, ["e"] = {name = "+emmet"}, ["["] = cmd("HopWord", "Hop to a word"), ["h"] = cmd("bprevious", "previous buffer"), ["l"] = cmd("bnext", "next buffer"), ["o"] = cmd("Telescope live_grep", "Grep files"), ["P"] = cmd("Telescope frecency frecency default_text=:CWD:", "Frecency magic"), ["p"] = cmd("Telescope find_files", "Open file-browser"), [":"] = cmd("Telescope commands", "Search command with fzf"), ["s"] = cmd("w", "Save file"), ["g"] = cmd("Neogit", "Git"), ["n"] = {require("persistence").load, "Load last session"}})) +local function _5_() vim.o.spell = not vim.o.spell return nil end -local function _5_() +local function _6_() return vim.diagnostic.open_float({scope = "cursor"}) end -local function _6_() +local function _7_() return vim.diagnostic.open_float({}) end -local function _7_() +local function _8_() return glance.open("definitions") end -local function _8_() +local function _9_() return glance.open("references") end -local function _9_() +local function _10_() return glance.open("type_definitions") end -local function _10_() +local function _11_() return glance.open("implementations") end -wk.register({c = {name = "+comment out"}, e = {name = "+emmet"}, ["["] = cmd("HopWord", "Hop to a word"), h = cmd("bprevious", "previous buffer"), l = cmd("bnext", "next buffer"), o = cmd("Telescope live_grep", "Grep files"), P = cmd("Telescope frecency frecency default_text=:CWD:", "Frecency magic"), p = cmd("Telescope find_files", "Open file-browser"), [":"] = cmd("Telescope commands", "Search command with fzf"), s = cmd("w", "Save file"), g = cmd("Neogit", "Git"), n = {(require("persistence")).load, "Load last session"}, d = {name = "+Debugging", b = {dap.toggle_breakpoint, "toggle breakpoint"}, u = {dapui.toggle, "toggle dapui"}, c = {dap.step_into, "continue"}, r = {dap.repl.open, "open repl"}, s = {name = "+Step", o = {dap.step_over, "over"}, u = {dap.step_out, "out"}, i = {dap.step_into, "into"}}}, m = {name = "+Code actions", [";"] = {_4_, "Toggle spell checking"}, d = {vim.lsp.buf.hover, "Show documentation"}, o = cmd("SymbolsOutline", "Outline"), S = cmd("Telescope lsp_document_symbols", "Symbols in document"), s = cmd("Telescope lsp_dynamic_workspace_symbols", "Symbols in workspace"), T = {vim.lsp.buf.signature_help, "Show signature help"}, n = {open_rename, "Rename"}, v = cmd("CodeActionMenu", "Apply codeaction"), A = {_5_, "Cursor diagnostics"}, a = {_6_, "Line diagnostics"}, h = cmd("RustToggleInlayHints", "Toggle inlay hints"), r = cmd("Trouble lsp_references", "Show references"), E = cmd("Trouble document_diagnostics", "List diagnostics"), e = cmd("Trouble workspace_diagnostics", "Show diagnostics"), t = cmd("Trouble lsp_type_definitions", "Go to type-definition"), i = cmd("Trouble lsp_implementations", "Show implementation"), g = cmd("Trouble lsp_definitions", "Go to definition"), w = {toggle_lsp_lines, "Toggle LSP lines"}, W = {toggle_lsp_lines_current, "Toggle LSP line"}, f = {format, "format file"}, [","] = cmd("RustRunnables", "Run rust stuff"), x = {name = "+Glance", d = {_7_, "Definitions"}, r = {_8_, "References"}, t = {_9_, "Type definitions"}, i = {_10_, "Implementations"}}, c = {name = "+Crates", j = {crates.show_popup, "crates popup"}, f = {crates.show_features_popup, "crate features"}, v = {crates.show_versions_popup, "crate versions"}, d = {crates.show_dependencies_popup, "crate dependencies"}, h = {crates.open_documentation, "crate documentation"}}}, f = {name = "+folds", o = cmd("foldopen", "open fold"), n = cmd("foldclose", "close fold"), j = rebind("zj", "jump to next fold"), k = rebind("zk", "jump to previous fold")}, v = {name = "+view-and-layout", n = cmd("set relativenumber!", "toggle relative numbers"), m = cmd("set nonumber! norelativenumber", "toggle numbers"), g = cmd("ZenMode", "toggle zen mode"), i = cmd("IndentGuidesToggle", "toggle indent guides"), w = cmd("set wrap! linebreak!", "toggle linewrapping")}, b = {name = "+buffers", b = cmd(":Telescope buffers", "select open buffer"), c = cmd(":Bdelete!", "close open buffer"), w = cmd(":Bwipeout!", "wipeout open buffer")}}, {prefix = ""}) -wk.register({[""] = "which_key_ignore", gss = "init selection", z = {name = "+folds", c = cmd("foldclose", "close fold"), o = cmd("foldopen", "open fold")}}) -wk.register({[""] = "which_key_ignore"}, {mode = "i"}) -wk.register({s = sel_cmd("VSSplit", "keep selection visible in split"), z = {open_selection_zotero, "open in zotero"}}, {prefix = "", mode = "v"}) -wk.register({name = "+Selection", j = "increment selection", k = "decrement selection", l = "increment node", h = "decrement node"}, {prefix = "gs", mode = "v"}) +wk.register({c = {name = "+comment out"}, e = {name = "+emmet"}, ["["] = cmd("HopWord", "Hop to a word"), h = cmd("bprevious", "previous buffer"), l = cmd("bnext", "next buffer"), o = cmd("Telescope live_grep", "Grep files"), P = cmd("Telescope frecency frecency default_text=:CWD:", "Frecency magic"), p = cmd("Telescope find_files", "Open file-browser"), [":"] = cmd("Telescope commands", "Search command with fzf"), s = cmd("w", "Save file"), g = cmd("Neogit", "Git"), n = {require("persistence").load, "Load last session"}, d = {name = "+Debugging", b = {dap.toggle_breakpoint, "toggle breakpoint"}, u = {dapui.toggle, "toggle dapui"}, c = {dap.step_into, "continue"}, r = {dap.repl.open, "open repl"}, s = {name = "+Step", o = {dap.step_over, "over"}, u = {dap.step_out, "out"}, i = {dap.step_into, "into"}}}, m = {name = "+Code actions", [";"] = {_5_, "Toggle spell checking"}, d = {vim.lsp.buf.hover, "Show documentation"}, o = cmd("SymbolsOutline", "Outline"), S = cmd("Telescope lsp_document_symbols", "Symbols in document"), s = cmd("Telescope lsp_dynamic_workspace_symbols", "Symbols in workspace"), T = {vim.lsp.buf.signature_help, "Show signature help"}, n = {open_rename, "Rename"}, v = cmd("CodeActionMenu", "Apply codeaction"), A = {_6_, "Cursor diagnostics"}, a = {_7_, "Line diagnostics"}, h = cmd("RustToggleInlayHints", "Toggle inlay hints"), r = cmd("Trouble lsp_references", "Show references"), E = cmd("Trouble document_diagnostics", "List diagnostics"), e = cmd("Trouble workspace_diagnostics", "Show diagnostics"), t = cmd("Trouble lsp_type_definitions", "Go to type-definition"), i = cmd("Trouble lsp_implementations", "Show implementation"), g = cmd("Trouble lsp_definitions", "Go to definition"), w = {toggle_lsp_lines, "Toggle LSP lines"}, W = {toggle_lsp_lines_current, "Toggle LSP line"}, f = {format, "format file"}, [","] = cmd("RustRunnables", "Run rust stuff"), x = {name = "+Glance", d = {_8_, "Definitions"}, r = {_9_, "References"}, t = {_10_, "Type definitions"}, i = {_11_, "Implementations"}}, c = {name = "+Crates", j = {crates.show_popup, "crates popup"}, f = {crates.show_features_popup, "crate features"}, v = {crates.show_versions_popup, "crate versions"}, d = {crates.show_dependencies_popup, "crate dependencies"}, h = {crates.open_documentation, "crate documentation"}}}, f = {name = "+folds", o = cmd("foldopen", "open fold"), n = cmd("foldclose", "close fold"), j = rebind("zj", "jump to next fold"), k = rebind("zk", "jump to previous fold")}, v = {name = "+view-and-layout", n = cmd("set relativenumber!", "toggle relative numbers"), m = cmd("set nonumber! norelativenumber", "toggle numbers"), g = cmd("ZenMode", "toggle zen mode"), i = cmd("IndentGuidesToggle", "toggle indent guides"), w = cmd("set wrap! linebreak!", "toggle linewrapping")}, b = {name = "+buffers", b = cmd(":Telescope buffers", "select open buffer"), c = cmd(":Bdelete!", "close open buffer"), w = cmd(":Bwipeout!", "wipeout open buffer")}}, {prefix = ""}) +wk.add(key_map({[""] = {hidden = true}, gss = {desc = "init selection"}, z = {group = "folds"}, zc = key("foldclose", "close fold"), zo = key("foldopen", "open fold")})) +wk.add(key_map({[""] = {hidden = true, mode = "i"}})) +wk.add(utils.prepend(key_map({["s"] = sel_cmd("VSSplit", "keep selection visible in split"), ["z"] = {open_selection_zotero, "open in zotero"}, gs = {group = "+Selection"}, gsj = {desc = "increment selection"}, gsk = {desc = "decrement selection"}, gsl = {desc = "increment node"}, gsh = {desc = "decrement node"}}), {mode = "v"})) vim.o.timeoutlen = 200 return nil diff --git a/nvim/.config/nvim/lua/dots/plugins/bufferline.lua b/nvim/.config/nvim/lua/dots/plugins/bufferline.lua index 1deaacc..7361540 100644 --- a/nvim/.config/nvim/lua/dots/plugins/bufferline.lua +++ b/nvim/.config/nvim/lua/dots/plugins/bufferline.lua @@ -8,10 +8,10 @@ local bufferline = autoload("bufferline") vim.cmd("hi link BufferLineTabSeparatorSelected BufferLineSeparatorSelected") vim.cmd("hi link BufferLineTabSeparator BufferLineSeparator") local function mk_active(fg) - return {bg = colors.neutral_aqua, fg = fg, italic = false, bold = false} + return {bg = colors.neutral_aqua, fg = fg, bold = false, italic = false} end local function mk_visible(fg) - return {bg = colors.dark1, fg = fg, italic = false, bold = false} + return {bg = colors.dark1, fg = fg, bold = false, italic = false} end local function setup() local selected = {bg = colors.neutral_aqua, fg = colors.bg_main, gui = "NONE"} @@ -19,6 +19,6 @@ local function setup() local function _2_(cnt, _lvl, _diagnostics_dict) return (" (" .. cnt .. ")") end - return bufferline.setup({options = {diagnostics = "nvim_lsp", diagnostics_indicator = _2_, tab_size = 10, enforce_regular_tabs = false, show_buffer_close_icons = false, show_tab_indicators = false, show_close_icon = false, show_buffer_icons = false}, highlights = {fill = {bg = colors.bg_main, fg = colors.light0}, background = visible, buffer_visible = visible, buffer_selected = a.assoc(selected, "bold", false, "italic", false), modified = visible, modified_visible = visible, modified_selected = selected, hint = visible, hint_visible = visible, hint_selected = selected, info = visible, info_visible = visible, info_selected = selected, warning = visible, warning_visible = visible, warning_selected = selected, error = visible, error_visible = visible, error_selected = selected, duplicate = visible, duplicate_visible = visible, duplicate_selected = selected, diagnostic = mk_visible(colors.neutral_red), diagnostic_visible = mk_visible(colors.neutral_red), diagnostic_selected = mk_active(colors.faded_red), info_diagnostic = mk_visible(colors.neutral_blue), info_diagnostic_visible = mk_visible(colors.neutral_blue), info_diagnostic_selected = mk_active(colors.faded_blue), hint_diagnostic = mk_visible(colors.neutral_yellow), hint_diagnostic_visible = mk_visible(colors.neutral_yellow), hint_diagnostic_selected = mk_active(colors.faded_orange), warning_diagnostic = mk_visible(colors.neutral_orange), warning_diagnostic_visible = mk_visible(colors.neutral_orange), warning_diagnostic_selected = mk_active(colors.faded_orange), error_diagnostic = mk_visible(colors.neutral_red), error_diagnostic_visible = mk_visible(colors.neutral_red), error_diagnostic_selected = mk_active(colors.red), separator = visible, separator_visible = {bg = colors.red}, separator_selected = {bg = colors.red}, indicator_selected = {bg = colors.neutral_aqua, fg = colors.neutral_aqua, italic = false, bold = false}, tab_separator = {bg = colors.red}, tab_separator_selected = {bg = colors.neutral_aqua, fg = colors.neutral_aqua}, pick_selected = {bg = colors.bright_red, fg = colors.bright_red}, tab_selected = {bg = colors.bright_green, fg = colors.bright_green}, tab = {bg = colors.bright_yellow, fg = colors.bright_yellow}}}) + return bufferline.setup({options = {diagnostics = "nvim_lsp", diagnostics_indicator = _2_, tab_size = 10, enforce_regular_tabs = false, show_buffer_close_icons = false, show_buffer_icons = false, show_close_icon = false, show_tab_indicators = false}, highlights = {fill = {bg = colors.bg_main, fg = colors.light0}, background = visible, buffer_visible = visible, buffer_selected = a.assoc(selected, "bold", false, "italic", false), modified = visible, modified_visible = visible, modified_selected = selected, hint = visible, hint_visible = visible, hint_selected = selected, info = visible, info_visible = visible, info_selected = selected, warning = visible, warning_visible = visible, warning_selected = selected, error = visible, error_visible = visible, error_selected = selected, duplicate = visible, duplicate_visible = visible, duplicate_selected = selected, diagnostic = mk_visible(colors.neutral_red), diagnostic_visible = mk_visible(colors.neutral_red), diagnostic_selected = mk_active(colors.faded_red), info_diagnostic = mk_visible(colors.neutral_blue), info_diagnostic_visible = mk_visible(colors.neutral_blue), info_diagnostic_selected = mk_active(colors.faded_blue), hint_diagnostic = mk_visible(colors.neutral_yellow), hint_diagnostic_visible = mk_visible(colors.neutral_yellow), hint_diagnostic_selected = mk_active(colors.faded_orange), warning_diagnostic = mk_visible(colors.neutral_orange), warning_diagnostic_visible = mk_visible(colors.neutral_orange), warning_diagnostic_selected = mk_active(colors.faded_orange), error_diagnostic = mk_visible(colors.neutral_red), error_diagnostic_visible = mk_visible(colors.neutral_red), error_diagnostic_selected = mk_active(colors.red), separator = visible, separator_visible = {bg = colors.red}, separator_selected = {bg = colors.red}, indicator_selected = {bg = colors.neutral_aqua, fg = colors.neutral_aqua, bold = false, italic = false}, tab_separator = {bg = colors.red}, tab_separator_selected = {bg = colors.neutral_aqua, fg = colors.neutral_aqua}, pick_selected = {bg = colors.bright_red, fg = colors.bright_red}, tab_selected = {bg = colors.bright_green, fg = colors.bright_green}, tab = {bg = colors.bright_yellow, fg = colors.bright_yellow}}}) end -return {utils.plugin("akinsho/nvim-bufferline.lua", {config = setup, tag = "v4.5.2"})} +return {utils.plugin("akinsho/nvim-bufferline.lua", {config = setup, tag = "v4.7.0"})} diff --git a/nvim/.config/nvim/lua/dots/plugins/cmp.lua b/nvim/.config/nvim/lua/dots/plugins/cmp.lua index 438b313..576b15e 100644 --- a/nvim/.config/nvim/lua/dots/plugins/cmp.lua +++ b/nvim/.config/nvim/lua/dots/plugins/cmp.lua @@ -10,11 +10,11 @@ local function item_formatter(item, vim_item) do local t_2_ = item if (nil ~= t_2_) then - t_2_ = (t_2_).completion_item + t_2_ = t_2_.completion_item else end if (nil ~= t_2_) then - t_2_ = (t_2_).detail + t_2_ = t_2_.detail else end details = t_2_ diff --git a/nvim/.config/nvim/lua/dots/plugins/feline.lua b/nvim/.config/nvim/lua/dots/plugins/feline.lua index 24e7997..10e0cc1 100644 --- a/nvim/.config/nvim/lua/dots/plugins/feline.lua +++ b/nvim/.config/nvim/lua/dots/plugins/feline.lua @@ -48,11 +48,11 @@ local function setup() local function _7_() local t_6_ = vim.b if (nil ~= t_6_) then - t_6_ = (t_6_).gitsigns_status_dict + t_6_ = t_6_.gitsigns_status_dict else end if (nil ~= t_6_) then - t_6_ = (t_6_).head + t_6_ = t_6_.head else end return t_6_ @@ -63,41 +63,21 @@ local function setup() return (" " .. (modes[vim.fn.mode()].text or vim.fn.mode) .. " ") end local function lsp_progress_provider() - local msgs = vim.lsp.util.get_progress_messages() - local s - do - local tbl_17_auto = {} - local i_18_auto = #tbl_17_auto - for _, msg in ipairs(msgs) do - local val_19_auto - if msg.message then - val_19_auto = (msg.title .. " " .. msg.message) - else - val_19_auto = nil - end - if (nil ~= val_19_auto) then - i_18_auto = (i_18_auto + 1) - do end (tbl_17_auto)[i_18_auto] = val_19_auto - else - end - end - s = tbl_17_auto - end - return or_empty(str.join(" | ", s)) + return vim.lsp.status() end local function lsp_diagnostic_component(kind, color) - local function _12_() + local function _10_() return (0 ~= #vim.diagnostic.get(0, {severity = kind})) end - local function _13_() + local function _11_() return spaces(#vim.diagnostic.get(0, {severity = kind})) end - return {enabled = _12_, provider = _13_, left_sep = "", right_sep = "", hl = {fg = bar_bg, bg = color}} + return {enabled = _10_, provider = _11_, left_sep = "", right_sep = "", hl = {fg = bar_bg, bg = color}} end local function coordinates() - local _let_14_ = vim.api.nvim_win_get_cursor(0) - local line = _let_14_[1] - local col = _let_14_[2] + local _let_12_ = vim.api.nvim_win_get_cursor(0) + local line = _let_12_[1] + local col = _let_12_[2] return (" " .. line .. ":" .. col .. " ") end local function inactive_separator_provider() @@ -108,24 +88,24 @@ local function setup() end end local components = {active = {}, inactive = {}} - local function _16_() + local function _14_() return vim_mode_hl(false) end + local function _15_() + return vim_mode_hl(true) + end + components.active[1] = {{provider = vim_mode, hl = _14_}, {provider = get_current_filepath, left_sep = " ", hl = {fg = colors.light4}}, {provider = git_status_provider, left_sep = " ", hl = _15_}} + local function _16_() + return (0 < #vim.lsp.buf_get_clients()) + end + components.active[2] = {{provider = lsp_progress_provider, left_sep = " ", right_sep = " ", enabled = _16_}} local function _17_() return vim_mode_hl(true) end - components.active[1] = {{provider = vim_mode, hl = _16_}, {provider = get_current_filepath, left_sep = " ", hl = {fg = colors.light4}}, {provider = git_status_provider, left_sep = " ", hl = _17_}} local function _18_() - return (0 < #vim.lsp.buf_get_clients()) - end - components.active[2] = {{provider = lsp_progress_provider, left_sep = " ", right_sep = " ", enabled = _18_}} - local function _19_() - return vim_mode_hl(true) - end - local function _20_() return vim_mode_hl(false) end - components.active[3] = {{provider = vim.bo.filetype, right_sep = " ", hl = _19_}, lsp_diagnostic_component(vim.diagnostic.severity.INFO, colors.neutral_green), lsp_diagnostic_component(vim.diagnostic.severity.HINT, colors.neutral_aqua), lsp_diagnostic_component(vim.diagnostic.severity.WARN, colors.neutral_yellow), lsp_diagnostic_component(vim.diagnostic.severity.ERROR, colors.neutral_red), {provider = coordinates, hl = _20_}} + components.active[3] = {{provider = vim.bo.filetype, right_sep = " ", hl = _17_}, lsp_diagnostic_component(vim.diagnostic.severity.INFO, colors.neutral_green), lsp_diagnostic_component(vim.diagnostic.severity.HINT, colors.neutral_aqua), lsp_diagnostic_component(vim.diagnostic.severity.WARN, colors.neutral_yellow), lsp_diagnostic_component(vim.diagnostic.severity.ERROR, colors.neutral_red), {provider = coordinates, hl = _18_}} components.inactive[1] = {{provider = inactive_separator_provider, hl = {bg = "NONE", fg = horiz_separator_color}}} utils["highlight-add"]("StatusLineNC", {bg = "NONE", fg = colors.light1}) return feline.setup({theme = {fg = colors.light1, bg = colors.bg_main}, components = components}) diff --git a/nvim/.config/nvim/lua/dots/plugins/lsp.lua b/nvim/.config/nvim/lua/dots/plugins/lsp.lua index b16ce3e..a8645bc 100644 --- a/nvim/.config/nvim/lua/dots/plugins/lsp.lua +++ b/nvim/.config/nvim/lua/dots/plugins/lsp.lua @@ -153,7 +153,7 @@ local function setup() return previous_handler(a0, result, b, c) else local new_contents = cleanup_markdown(result.contents) - do end (result)["contents"] = new_contents + result["contents"] = new_contents return previous_handler(a0, result, b, c) end end @@ -161,6 +161,6 @@ local function setup() return nil end local function _18_() - return (require("mason")).setup() + return require("mason").setup() end return {utils.plugin("williamboman/mason.nvim", {config = _18_}), utils.plugin("williamboman/mason-lspconfig.nvim", {config = {ensure_installed = {"rust_analyzer"}}}), utils.plugin("neovim/nvim-lspconfig", {event = "VeryLazy", lazy = true, config = setup})} diff --git a/nvim/.config/nvim/lua/dots/plugins/ltex-ls.lua b/nvim/.config/nvim/lua/dots/plugins/ltex-ls.lua index 647e733..602c21c 100644 --- a/nvim/.config/nvim/lua/dots/plugins/ltex-ls.lua +++ b/nvim/.config/nvim/lua/dots/plugins/ltex-ls.lua @@ -6,17 +6,17 @@ local lsp = autoload("lspconfig") local configs = autoload("lspconfig/configs") local lsputil = autoload("lspconfig/util") local function cmds(xs) - local tbl_17_auto = {} - local i_18_auto = #tbl_17_auto + local tbl_21_auto = {} + local i_22_auto = 0 for _, x in ipairs(xs) do - local val_19_auto = ("\\" .. x .. "{}") - if (nil ~= val_19_auto) then - i_18_auto = (i_18_auto + 1) - do end (tbl_17_auto)[i_18_auto] = val_19_auto + local val_23_auto = ("\\" .. x .. "{}") + if (nil ~= val_23_auto) then + i_22_auto = (i_22_auto + 1) + tbl_21_auto[i_22_auto] = val_23_auto else end end - return tbl_17_auto + return tbl_21_auto end local latex_command_settings = {dummy = cmds({"texttt", "scripture", "lstref", "figref", "tblref", "secref", "personaltextcite", "personalparencite", "textcite", "parencite", "parencite[]", "game", "acsu", "enquote", "name", "item", "reqref", "gamebtn", "fs", "cs", "appref", "sorty"}), ignore = cmds({"urlfootnote", "caption", "todo"})} local Dictionary_file = {["de-DE"] = {(vim.fn.getenv("HOME") .. "/.config/ltex-ls/dictionary.txt")}} @@ -146,7 +146,7 @@ local function init() local orig_execute_command = vim.lsp.buf.execute_command local function _16_(command) if (command.command == "_ltex.addToDictionary") then - local arg = (command.arguments[1]).words + local arg = command.arguments[1].words for lang, words in pairs(arg) do for _, word in ipairs(words) do local filetype = "dictionary" @@ -155,7 +155,7 @@ local function init() end return nil elseif (command.command == "_ltex.disableRules") then - local arg = (command.arguments[1]).ruleIds + local arg = command.arguments[1].ruleIds for lang, rules in pairs(arg) do for _, rule in ipairs(rules) do local filetype = "disable" @@ -164,7 +164,7 @@ local function init() end return nil elseif (command.command == "_ltex.hideFalsePositives") then - local arg = (command.arguments[1]).falsePositives + local arg = command.arguments[1].falsePositives for lang, rules in pairs(arg) do for _, rule in ipairs(rules) do local filetype = "falsePositive" diff --git a/nvim/.config/nvim/lua/dots/plugins/plugins.lua b/nvim/.config/nvim/lua/dots/plugins/plugins.lua index 52280a4..0ecfeba 100644 --- a/nvim/.config/nvim/lua/dots/plugins/plugins.lua +++ b/nvim/.config/nvim/lua/dots/plugins/plugins.lua @@ -1,11 +1,11 @@ -- [nfnl] Compiled from fnl/dots/plugins/plugins.fnl by https://github.com/Olical/nfnl, do not edit. local function _1_() - do end (require("lsp_lines")).setup() + require("lsp_lines").setup() return vim.diagnostic.config({virtual_lines = false}) end local function _2_() - do end (require("litee.lib")).setup() - return (require("litee.gh")).setup() + require("litee.lib").setup() + return require("litee.gh").setup() end local function _3_() vim.g.code_action_menu_show_details = false diff --git a/nvim/.config/nvim/lua/dots/plugins/telescope.lua b/nvim/.config/nvim/lua/dots/plugins/telescope.lua index 1c6adc1..8228b30 100644 --- a/nvim/.config/nvim/lua/dots/plugins/telescope.lua +++ b/nvim/.config/nvim/lua/dots/plugins/telescope.lua @@ -5,7 +5,7 @@ local utils = _local_1_["utils"] local telescope = autoload("telescope") local actions = autoload("telescope.actions") local function setup() - telescope.setup({defaults = {mappings = {i = {[""] = actions.close}}, file_ignore_patterns = {"Cargo.lock", ".*.snap", "docs/theme/.*", "node%_modules/.*", "target/.*"}}, extensions = {["ui-select"] = {(require("telescope.themes")).get_dropdown()}}}) + telescope.setup({defaults = {mappings = {i = {[""] = actions.close}}, file_ignore_patterns = {"Cargo.lock", ".*.snap", "docs/theme/.*", "node%_modules/.*", "target/.*"}}, extensions = {["ui-select"] = {require("telescope.themes").get_dropdown()}}}) telescope.load_extension("dap") return utils.keymap("n", "", ":Telescope find_files") end diff --git a/nvim/.config/nvim/lua/dots/plugins/treesitter.lua b/nvim/.config/nvim/lua/dots/plugins/treesitter.lua index 0a80a53..2174ef8 100644 --- a/nvim/.config/nvim/lua/dots/plugins/treesitter.lua +++ b/nvim/.config/nvim/lua/dots/plugins/treesitter.lua @@ -2,6 +2,7 @@ local utils = require("dots.utils") local function setup() local configs = require("nvim-treesitter.configs") + vim.g.skip_ts_context_commentstring_module = true return configs.setup({ensure_installed = {"rust", "fennel", "commonlisp", "vim", "regex", "lua", "bash", "markdown", "markdown_inline"}, highlight = {disable = {"fennel", "rust", "haskell"}, enable = false}, incremental_selection = {keymaps = {init_selection = "gss", node_incremental = "gsl", node_decremental = "gsh", scope_incremental = "gsj", scope_decremental = "gsk"}, enable = false}, textsubjects = {enable = true, disable = {"noice"}, prev_selection = ",", keymaps = {["."] = "textsubjects-smart"}}, playground = {disable = {"fennel"}, updatetime = 25, keybindings = {toggle_query_editor = "o", toggle_hl_groups = "i", toggle_injected_languages = "t", toggle_anonymous_nodes = "a", toggle_language_display = "I", focus_language = "f", unfocus_language = "F", update = "R", goto_node = "", show_help = "?"}, enable = false, persist_queries = false}}) end return {} diff --git a/nvim/.config/nvim/lua/dots/plugins/trouble.lua b/nvim/.config/nvim/lua/dots/plugins/trouble.lua index 53f13f1..609259d 100644 --- a/nvim/.config/nvim/lua/dots/plugins/trouble.lua +++ b/nvim/.config/nvim/lua/dots/plugins/trouble.lua @@ -5,7 +5,7 @@ local utils = _local_1_["utils"] local colors = _local_1_["colors"] local trouble = autoload("trouble") local function setup() - trouble.setup({auto_close = true, auto_jump = {"lsp_definitions", "lsp_workspace_diagnostics", "lsp_type_definitions"}, action_keys = {jump = "", jump_close = "o", close = {"", "q"}, cancel = "q", preview = "p", toggle_preview = "P", toggle_mode = "m", hover = {"a", "K"}}, icons = false, auto_open = false, multiline = false, auto_preview = false, indent_lines = false}) + trouble.setup({auto_close = true, auto_jump = {"lsp_definitions", "lsp_workspace_diagnostics", "lsp_type_definitions"}, action_keys = {jump = "", jump_close = "o", close = {"", "q"}, cancel = "q", preview = "p", toggle_preview = "P", toggle_mode = "m", hover = {"a", "K"}}, auto_open = false, auto_preview = false, icons = false, indent_lines = false, multiline = false}) utils.highlight("TroubleFoldIcon", {bg = "NONE", fg = colors.bright_orange}) utils.highlight("TroubleCount", {bg = "NONE", fg = colors.bright_green}) utils.highlight("TroubleText", {bg = "NONE", fg = colors.light0}) diff --git a/nvim/.config/nvim/lua/dots/utils.lua b/nvim/.config/nvim/lua/dots/utils.lua index 057d427..92c138d 100644 --- a/nvim/.config/nvim/lua/dots/utils.lua +++ b/nvim/.config/nvim/lua/dots/utils.lua @@ -11,6 +11,11 @@ local function plugin(name, _3fopts) return _3fopts end end +local function prepend(a0, list) + local x = list + table.insert(x, 1, a0) + return x +end local function all(f) local function _3_(_241) return not f(_241) @@ -32,20 +37,20 @@ local function contains_3f(list, elem) return false end local function filter_table(f, t) - local tbl_14_auto = {} + local tbl_16_auto = {} for k, v in pairs(t) do - local k_15_auto, v_16_auto = nil, nil + local k_17_auto, v_18_auto = nil, nil if f(k, v) then - k_15_auto, v_16_auto = k, v + k_17_auto, v_18_auto = k, v else - k_15_auto, v_16_auto = nil + k_17_auto, v_18_auto = nil end - if ((k_15_auto ~= nil) and (v_16_auto ~= nil)) then - tbl_14_auto[k_15_auto] = v_16_auto + if ((k_17_auto ~= nil) and (v_18_auto ~= nil)) then + tbl_16_auto[k_17_auto] = v_18_auto else end end - return tbl_14_auto + return tbl_16_auto end local function split_last(s, sep) for i = #s, 1, -1 do @@ -102,16 +107,13 @@ local function keymap(modes, from, to, _3fopts) local full_opts = without_keys({"buffer"}, a.merge({noremap = true, silent = true}, (_3fopts or {}))) for _, mode in ipairs(single_to_list(modes)) do local keymap_opts - local _14_ - do - local _13_ = _3fopts - if (nil ~= _13_) then - _14_ = (_13_).buffer - else - _14_ = _13_ - end + local _13_ + if (nil ~= _3fopts) then + _13_ = _3fopts.buffer + else + _13_ = nil end - if _14_ then + if _13_ then keymap_opts = a.assoc(full_opts, "buffer", 0) else keymap_opts = full_opts @@ -121,14 +123,14 @@ local function keymap(modes, from, to, _3fopts) return nil end local function del_keymap(mode, from, _3fbuf_local) - local function _17_() + local function _16_() if _3fbuf_local then return {buffer = 0} else return {} end end - return vim.keymap.del(mode, from, _17_()) + return vim.keymap.del(mode, from, _16_()) end local function buffer_content(bufnr) return vim.api.nvim_buf_get_lines(bufnr, 0, -1, false) @@ -162,28 +164,28 @@ local function shorten_path(path, seg_length, shorten_after) local init = a.butlast(segments) local filename = a.last(segments) local shortened_segs - local function _19_(_241) + local function _18_(_241) return string.sub(_241, 1, seg_length) end - shortened_segs = a.map(_19_, init) + shortened_segs = a.map(_18_, init) return (str.join("/", shortened_segs) .. "/" .. filename) end end local function comp(f, g) - local function _21_(...) + local function _20_(...) return f(g(...)) end - return _21_ + return _20_ end local function get_selection() - local _let_22_ = vim.fn.getpos("'<") - local _ = _let_22_[1] - local s_start_line = _let_22_[2] - local s_start_col = _let_22_[3] - local _let_23_ = vim.fn.getpos("'>") - local _0 = _let_23_[1] - local s_end_line = _let_23_[2] - local s_end_col = _let_23_[3] + local _let_21_ = vim.fn.getpos("'<") + local _ = _let_21_[1] + local s_start_line = _let_21_[2] + local s_start_col = _let_21_[3] + local _let_22_ = vim.fn.getpos("'>") + local _0 = _let_22_[1] + local s_end_line = _let_22_[2] + local s_end_col = _let_22_[3] local n_lines = (1 + math.abs((s_end_line - s_start_line))) local lines = vim.api.nvim_buf_get_lines(0, (s_start_line - 1), s_end_line, false) if (nil == lines[1]) then @@ -198,4 +200,4 @@ local function get_selection() return s_start_line, s_end_line, lines end end -return {plugin = plugin, all = all, ["single-to-list"] = single_to_list, ["contains?"] = contains_3f, ["filter-table"] = filter_table, ["split-last"] = split_last, ["find-where"] = find_where, ["find-map"] = find_map, ["keep-if"] = keep_if, ["map-values"] = map_values, ["without-keys"] = without_keys, keymap = keymap, ["del-keymap"] = del_keymap, ["buffer-content"] = buffer_content, ["surround-if-present"] = surround_if_present, highlight = highlight, ["highlight-add"] = highlight_add, ["shorten-path"] = shorten_path, comp = comp, ["get-selection"] = get_selection} +return {plugin = plugin, all = all, ["single-to-list"] = single_to_list, ["contains?"] = contains_3f, ["filter-table"] = filter_table, ["split-last"] = split_last, ["find-where"] = find_where, ["find-map"] = find_map, ["keep-if"] = keep_if, ["map-values"] = map_values, ["without-keys"] = without_keys, keymap = keymap, ["del-keymap"] = del_keymap, ["buffer-content"] = buffer_content, ["surround-if-present"] = surround_if_present, highlight = highlight, ["highlight-add"] = highlight_add, ["shorten-path"] = shorten_path, prepend = prepend, comp = comp, ["get-selection"] = get_selection} diff --git a/nvim/.config/nvim/lua/main.lua b/nvim/.config/nvim/lua/main.lua index 5330c88..a5eeca9 100644 --- a/nvim/.config/nvim/lua/main.lua +++ b/nvim/.config/nvim/lua/main.lua @@ -68,7 +68,7 @@ local function _4_() end vim.api.nvim_create_autocmd("FileType", {pattern = "vim", callback = _4_}) local function _5_() - vim.opt_local.formatoptions = (vim.o.formatoptions):gsub("[cor]", "") + vim.opt_local.formatoptions = vim.o.formatoptions:gsub("[cor]", "") return nil end vim.api.nvim_create_autocmd("FileType", {pattern = "*", callback = _5_}) diff --git a/zed/.config/zed/keymap.json b/zed/.config/zed/keymap.json index 86a30d7..ea2b19d 100644 --- a/zed/.config/zed/keymap.json +++ b/zed/.config/zed/keymap.json @@ -1,4 +1,17 @@ [ + { + "context": "Pane", + "bindings": { + // unbind closing the tab with this + "ctrl-w": null, + "ctrl-w ctrl-h": ["workspace::ActivatePaneInDirection", "Left"], + "ctrl-w ctrl-j": ["workspace::ActivatePaneInDirection", "Down"], + "ctrl-w ctrl-k": ["workspace::ActivatePaneInDirection", "Up"], + "ctrl-w ctrl-l": ["workspace::ActivatePaneInDirection", "Right"], + "ctrl-shift-t": "pane::ReopenClosedItem" + // "shift-escape": null + } + }, { "context": "os == macos && EmptyPane", "bindings": { @@ -12,6 +25,12 @@ "cmd-d": "editor::SelectNext" } }, + { + "bindings": { + "ctrl-alt-shift-p": "projects::OpenRecent", + "ctrl-alt-shift-o": "workspace::Open" + } + }, { "context": "os == linux && Editor && VimControl && !VimWaiting && !menu", "bindings": { @@ -24,11 +43,17 @@ "space b c": "pane::CloseActiveItem", ":": "command_palette::Toggle", "space p": "file_finder::Toggle", + "space o": "pane::DeploySearch", "space h": "pane::ActivatePrevItem", "space l": "pane::ActivateNextItem", "space c space": "editor::ToggleComments", + // go to search result + "g space": "editor::OpenExcerpts", + "space e j": "editor::ExpandExcerptsDown", + "space e k": "editor::ExpandExcerptsUp", + // multi-cursor "cmd-shift-d": "editor::SelectPrevious", "cmd-shift-l": "editor::SelectAllMatches", @@ -50,7 +75,6 @@ "space e e": "diagnostics::Deploy", "space e w": "diagnostics::ToggleWarnings", // view - "space v f": "project_panel::ToggleFocus", "space v n": "editor::ToggleLineNumbers", "space v i": "editor::ToggleInlayHints", // Git @@ -61,6 +85,12 @@ "context": "Editor && vim_mode == normal && !VimWaiting && !menu", "bindings": {} }, + { + "context": "Editor && vim_mode == insert", + "bindings": { + "ctrl-w": "editor::DeleteToPreviousWordStart" + } + }, { "context": "os == linux && ((Editor && vim_mode == normal) || Terminal) && !VimWaiting && !menu", "bindings": { @@ -70,6 +100,7 @@ "ctrl-t ctrl-h": "pane::ActivatePrevItem", "ctrl-t ctrl-l": "pane::ActivateNextItem", "ctrl-x ctrl-c": "pane::CloseActiveItem", + "alt-j": "workspace::ToggleBottomDock" } }, @@ -106,17 +137,43 @@ ",": "editor::SplitSelectionIntoLines" } }, + { - "context": "Editor && vim_mode == insert", + "context": "ProjectSearchBar", "bindings": { - "ctrl-w": "editor::DeleteToPreviousWordStart" + "space b c": "pane::CloseActiveItem", + "escape escape": "pane::CloseActiveItem" + } + }, + + // Panel stuff + { + "context": "Editor && VimControl && !VimWaiting && !menu || OutlinePanel || ProjectPanel || Assistant", + "bindings": { + "space v h": "workspace::ToggleLeftDock", + "space v l": "workspace::ToggleRightDock", + + "space v o": "outline_panel::ToggleFocus", + "space v p": "project_panel::ToggleFocus", + "space v a": "assistant::ToggleFocus" } }, { - "context": "Pane", + "context": "OutlinePanel", "bindings": { - "ctrl-w": null, - "shift-escape": null + "space l": "outline_panel::ToggleFocus" + } + }, + { + "context": "ProjectPanel", + "bindings": { + "space l": "project_panel::ToggleFocus" + } + }, + { + "context": "Assistant", + "bindings": { + "space h": "assistant::ToggleFocus" } } ] diff --git a/zsh/.zshenv b/zsh/.zshenv index ea4fbed..c26b28c 100644 --- a/zsh/.zshenv +++ b/zsh/.zshenv @@ -2,3 +2,5 @@ ZDOTDIR=$HOME/.config/zsh [ -f "$HOME/.cargo/env" ] && . "$HOME/.cargo/env" if [ -e /home/leon/.nix-profile/etc/profile.d/nix.sh ]; then . /home/leon/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer + +if [ -e /home/elk/.nix-profile/etc/profile.d/nix.sh ]; then . /home/elk/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer