From 6c633f87785677e0d991898b082515ab92ba29cd Mon Sep 17 00:00:00 2001 From: Shubham Pawar Date: Mon, 24 Feb 2025 23:16:18 +0530 Subject: [PATCH] chore: minor changes --- .config/X11/profile | 80 ++++-- .config/ghostty/config | 1 + .config/nvim-astro/lazy-lock.json | 21 +- .config/nvim-astro/lua/community.lua | 3 +- .config/nvim-astro/lua/plugins/astrocore.lua | 16 +- .config/nvim-astro/lua/plugins/disabled.lua | 2 + .config/nvim-astro/lua/plugins/emmet.lua | 25 -- .../nvim-astro/lua/plugins/file-manager.lua | 27 ++ .config/nvim-astro/lua/plugins/mini-nvim.lua | 133 --------- .config/nvim-astro/lua/plugins/nvim-cmp.lua | 65 ++--- .config/nvim-astro/lua/plugins/session.lua | 160 ++++++----- .config/nvim-astro/lua/plugins/snacks.lua | 20 +- .config/nvim-astro/lua/plugins/toggleterm.lua | 36 +-- .config/nvim-astro/lua/plugins/treesitter.lua | 43 ++- .config/nvim-lazy/lazy-lock.json | 80 +++--- .config/nvim-lazy/lazyvim.json | 3 +- .config/nvim-lazy/lua/plugins/completion.lua | 8 +- .../nvim-lazy/lua/plugins/lsp/mappings.lua | 5 +- .config/nvim-lazy/lua/plugins/snacks.lua | 15 +- .config/nvim/lazy-lock.json | 66 +++-- .config/nvim/lua/user/plugins/blink-cmp.lua | 21 +- .config/nvim/lua/user/plugins/emmet-vim.lua | 17 -- .config/nvim/lua/user/plugins/lsp/htmlcss.lua | 9 +- .config/nvim/lua/user/plugins/mini/files.lua | 1 + .../nvim/lua/user/plugins/mini/surround.lua | 2 +- .../nvim/lua/user/plugins/nvim-autopairs.lua | 1 + .config/nvim/lua/user/plugins/nvim-cmp.lua | 261 ++++++++++++++++++ .config/nvim/lua/user/plugins/snacks.lua | 23 +- .config/nvim/lua/user/plugins/surround.lua | 4 +- .config/nvim/lua/user/plugins/yazi.lua | 25 ++ .config/ripgreprc | 2 +- .config/tmux/tmux.conf | 25 +- .config/vifm/favicons.vifm | 71 +++++ .config/vifm/scripts/vifm-sixel | 68 +++++ .config/vifm/scripts/vifmimg | 56 ++++ .config/vifm/scripts/vifmrun | 21 ++ .config/vifm/vifmrc | 49 +++- .config/yazi/init.lua | 5 + .config/yazi/keymap.toml | 7 +- .config/yazi/package.toml | 7 + .config/yazi/plugins/compress.yazi/init.lua | 228 --------------- .../yazi/plugins/smart-enter.yazi/init.lua | 7 - .config/zsh/.zshrc | 6 +- .local/bin/myscripts/dfs | 4 +- .local/bin/myscripts/rofis | 10 +- 45 files changed, 974 insertions(+), 765 deletions(-) delete mode 100644 .config/nvim-astro/lua/plugins/emmet.lua create mode 100644 .config/nvim-astro/lua/plugins/file-manager.lua delete mode 100644 .config/nvim/lua/user/plugins/emmet-vim.lua create mode 100644 .config/nvim/lua/user/plugins/nvim-cmp.lua create mode 100644 .config/nvim/lua/user/plugins/yazi.lua create mode 100644 .config/vifm/favicons.vifm create mode 100755 .config/vifm/scripts/vifm-sixel create mode 100755 .config/vifm/scripts/vifmimg create mode 100755 .config/vifm/scripts/vifmrun create mode 100644 .config/yazi/package.toml delete mode 100644 .config/yazi/plugins/compress.yazi/init.lua delete mode 100644 .config/yazi/plugins/smart-enter.yazi/init.lua diff --git a/.config/X11/profile b/.config/X11/profile index c4ffab2..2f600d5 100644 --- a/.config/X11/profile +++ b/.config/X11/profile @@ -1,14 +1,33 @@ #!/usr/bin/env bash -PATH="$PATH:$HOME/.local/bin/:$HOME/.local/bin/myscripts/" -PATH="$PATH:$HOME/.local/share/luarocks/bin/:$HOME/.local/share/golib/bin/:$HOME/.local/share/npm/bin/" -PATH="$PATH:$HOME/.local/share/nim-2.0.4/bin:$HOME/Downloads/GitClones/roc_nightly:$HOME/.nimble/bin:$HOME/.cache/rebar3/bin" -PATH="$PATH:$HOME/.config/suckless/dwm/status/scripts/:$HOME/.local/share/python/bin/:$HOME/.nimble/bin" -PATH="$PATH:$HOME/.turso" -# Deduplicate entries in PATH -PATH="$(echo $PATH | tr ':' '\n' | awk '{print length, $0}' | sort -n | cut -d' ' -f2 | uniq | tr '\n' ':' | rev | cut -c2- | rev)" +append_path() { + case ":$PATH:" in + *":$1:"*) : ;; # already there + *) + if [ "$2" = "check" ]; then + [ -d "$1" ] && PATH="$PATH:$1" + else + PATH="$PATH:$1" + fi + ;; + esac +} +paths=( + "$HOME/.local/bin/" + "$HOME/.local/bin/myscripts/" + "$HOME/.local/share/npm/bin/" + "$HOME/.config/suckless/dwm/status/scripts/" + "$HOME/.turso" +) -export PATH +for p in "${paths[@]}"; do + append_path "$p" +done +# PATH="$PATH:$HOME/.local/bin/:$HOME/.local/bin/myscripts/" +# PATH="$PATH:$HOME/.local/share/luarocks/bin/:$HOME/.local/share/golib/bin/:$HOME/.local/share/npm/bin/" +# PATH="$PATH:$HOME/.config/suckless/dwm/status/scripts/" +# PATH="$PATH:$HOME/.turso" +# [ -d "$HOME/.local/share/bob/nvim-bin" ] && PATH="$PATH:$HOME/.local/share/bob/nvim-bin" export EDITOR=nvim export VISUAL=nvim @@ -31,7 +50,7 @@ export XDG_CACHE_HOME="$HOME/.cache" if [ "$XDG_SESSION_TYPE" = "wayland" ]; then export MOZ_ENABLE_WAYLAND=1 export _JAVA_AWT_WM_NONREPARENTING=1 - export XCURSOR_SIZE=24 + # export XCURSOR_SIZE=24 fi export GTK_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}"/gtk-1.0/gtkrc export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc":"${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc.mine" @@ -53,7 +72,7 @@ export ASDF_DATA_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/asdf" # export PATH=$PATH:$ANDROID_HOME/platform-tools # export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin export ANDROID_HOME="$HOME/Android/Sdk" -export PATH="$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/cmdline-tools/latest:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$PATH" +# [ -d "$ANDROID_HOME" ] && export PATH="$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/cmdline-tools/latest:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$PATH" export MYSQL_HISTFILE="${XDG_DATA_HOME:-$HOME/.local/share}/mysql_history" export PSQLRC="$XDG_CONFIG_HOME/pg/psqlrc" export PSQL_HISTORY="$XDG_STATE_HOME/psql_history" @@ -97,29 +116,25 @@ export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker" export MACHINE_STORAGE_PATH="${XDG_DATA_HOME:-$HOME/.local/share}"/docker-machine export LEIN_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/lein" export LESSHISTFILE=- -export DENO_INSTALL="/home/shubham/.config/deno" -[ -s "$DENO_INSTALL" ] && export PATH="$PATH:$DENO_INSTALL/bin" +export DENO_INSTALL="${XDG_CONFIG_HOME:-$HOME/.config}/deno" +# [ -d "$DENO_INSTALL" ] && export PATH="$PATH:$DENO_INSTALL/bin" export BUN_INSTALL="${XDG_DATA_HOME:-$HOME/.local/share}/bun" -[ -s "$BUN_INSTALL" ] && export PATH="$BUN_INSTALL/bin:$PATH" +# [ -d "$BUN_INSTALL" ] && export PATH="$BUN_INSTALL/bin:$PATH" # export LESSOPEN="| /usr/bin/highlight -O xterm256 --style=leo %s 2>/dev/null" # export LESS='-q -F -i -J -M -W -x4 -z-4 -R --use-color' export LESS='-R --use-color -Dd+r$Du+b' # export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java export _JAVA_AWT_WM_NONREPARENTING=1 # export GNUPGHOME="${XDG_DATA_HOME:-$HOME/.local/share}"/gnupg -export _ZL_DATA="$XDG_CACHE_HOME/zlua" -export _ZL_DATA_DIR="$XDG_CACHE_HOME/zlua" -export RANGER_ZLUA="$HOME/Downloads/GitClones/z.lua/z.lua" -export XBPS_DISTDIR="$HOME/Downloads/GitClones/void-packages" -export PATH="$PATH:$XDG_CACHE_HOME/fnm-install:$HOME/Documents/Programming/Flutter/flutter/bin" -export FZF_DEFAULT_COMMAND="fd -t f --hidden --follow --ignore-file node_modules --ignore-file .git --ignore-file .github --ignore-file dist" -# export FZF_DEFAULT_COMMAND="rg --files --hidden --follow --glob '!Git*' --iglob '!void-*' --iglob '!.git*' --iglob '!venv' --iglob '!__pycache__' --iglob '!*.out'" +# [ -d "$HOME/Downloads/GitClones/void-packages" ] && export XBPS_DISTDIR="$HOME/Downloads/GitClones/void-packages" +# [ -d "$XDG_CACHE_HOME/fnm-install" ] && export PATH="$PATH:$XDG_CACHE_HOME/fnm-install:$HOME/Documents/Programming/Flutter/flutter/bin" +export FZF_DEFAULT_COMMAND="rg --files --hidden --follow -g '!{node_modules/,.venv/,venv,.git/,.github,dist,android/,ios/,build/,vendor/}'" export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" export FZF_ALT_C_COMMAND="fd -t d -H -L --ignore-file ~/.config/git/ignore" export FZF_DEFAULT_OPTS="--cycle --marker='+' --keep-right" # remember --bind KEY:ACTION or EVENT:ACTION # eval $(dircolors "$XDG_CONFIG_HOME"/dir_colors) -export XCURSOR_PATH=${XCURSOR_PATH}:~/.local/share/icons +# export XCURSOR_PATH=${XCURSOR_PATH}:~/.local/share/icons export GHCUP_USE_XDG_DIRS="$HOME"/.config export STACK_ROOT="${XDG_DATA_HOME:-$HOME/.local/share}/stack" export CABAL_CONFIG="$XDG_CONFIG_HOME"/cabal/config @@ -130,9 +145,30 @@ export CABAL_DIR="$XDG_CACHE_HOME"/cabal # Ignore certain files while completing export FIGNORE=".class:.out:.hi:.o" export MICRO_TRUECOLOR=1 -export ZK_NOTEBOOK_DIR="$HOME/Documents/Notes/Refrens" +export ZK_NOTEBOOK_DIR="$HOME/Documents/Notes" export MIX_XDG="true" export FFMPEG_DATADIR="$XDG_CONFIG_HOME"/ffmpeg export RIPGREP_CONFIG_PATH="${XDG_CONFIG_HOME:-$HOME/.config}/ripgreprc" export BASH_COMPLETION_USER_FILE="$XDG_CONFIG_HOME"/bash-completion/bash_completion + +checked_paths=( + "$HOME/.local/share/bob/nvim-bin" + "$HOME/Downloads/GitClones/void-packages" + "$XDG_CACHE_HOME/fnm-install" + "$HOME/Documents/Programming/Flutter/flutter/bin" + "$DENO_INSTALL/bin" + "$BUN_INSTALL/bin" + "$ANDROID_HOME/emulator" + "$ANDROID_HOME/tools" + "$ANDROID_HOME/tools/bin" + "$ANDROID_HOME/cmdline-tools/latest" + "$ANDROID_HOME/cmdline-tools/latest/bin" + "$ANDROID_HOME/platform-tools" +) +for p in "${checked_paths[@]}"; do + append_path "$p" "check" +done # [ -r /etc/profile.d/flatpak.sh ] && . /etc/profile.d/flatpak.sh +# Deduplicate entries in PATH +# PATH="$(echo $PATH | tr ':' '\n' | awk '{print length, $0}' | sort -n | cut -d' ' -f2 | uniq | tr '\n' ':' | rev | cut -c2- | rev)" +export PATH diff --git a/.config/ghostty/config b/.config/ghostty/config index 7c5114d..97c4741 100644 --- a/.config/ghostty/config +++ b/.config/ghostty/config @@ -1,4 +1,5 @@ # vim: commentstring=#\ %s +command = fish --login --interactive window-padding-color = background font-family = "RecMonoDuotone Nerd Font" font-feature = -liga diff --git a/.config/nvim-astro/lazy-lock.json b/.config/nvim-astro/lazy-lock.json index 14edb7b..f9ffaec 100644 --- a/.config/nvim-astro/lazy-lock.json +++ b/.config/nvim-astro/lazy-lock.json @@ -2,7 +2,7 @@ "AstroNvim": { "branch": "main", "commit": "030098cf85611fdd838c33ae60753471f991ea89" }, "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, - "SchemaStore.nvim": { "branch": "main", "commit": "6d840a01545b9be71c45843f2aabcc384d4fafbf" }, + "SchemaStore.nvim": { "branch": "main", "commit": "589adb1f6d1e28b508e4d434a0cb7cbc2225c25f" }, "aerial.nvim": { "branch": "master", "commit": "3284a2cb858ba009c79da87d5e010ccee3c99c4d" }, "age.nvim": { "branch": "main", "commit": "f1793e14123a7c5374a3744aacab9c283014fa1d" }, "alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" }, @@ -11,6 +11,7 @@ "astrolsp": { "branch": "main", "commit": "2f6b0a4059775a1dac011d2944dd41fd4a8fe7a8" }, "astrotheme": { "branch": "main", "commit": "f12dcf64b1f9a05839c3ac2146f550f43bae9dab" }, "astroui": { "branch": "main", "commit": "076766c1d422db486378354729f8fa7c1a68b745" }, + "auto-session": { "branch": "main", "commit": "9c3f977aafb56bd73ba0d082c4dcbdba5666faf3" }, "avante.nvim": { "branch": "main", "commit": "b20b2caf220cd988b026d5981475bf8928afa27e" }, "better-escape.nvim": { "branch": "master", "commit": "199dcc2643dec5d8dbdab4ec672cf405224dcb3b" }, "blade-nav.nvim": { "branch": "main", "commit": "56601aaf230698388ed687d1d9d468599d277ac2" }, @@ -27,11 +28,10 @@ "cmp-tailwind-colors": { "branch": "main", "commit": "4b200e280e9051a26ade776589c2ac246350f5dc" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "codecompanion.nvim": { "branch": "main", "commit": "3e71a1a7c0b3788bdb7bc72c6f3478d928d796da" }, - "crates.nvim": { "branch": "main", "commit": "1d92a7f449a2a76d8f4c3459bd98f450e76d2ea3" }, + "crates.nvim": { "branch": "main", "commit": "1803c8b5516610ba7cdb759a4472a78414ee6cd4" }, "dial.nvim": { "branch": "master", "commit": "34bbd9c387c358190e61ce71017faad3dffa7a74" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dressing.nvim": { "branch": "master", "commit": "3a45525bb182730fe462325c99395529308f431e" }, - "emmet-vim": { "branch": "master", "commit": "6c511a8d7d2863066f32e25543e2bb99d505172c" }, "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" }, "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" }, "gitsigns.nvim": { "branch": "main", "commit": "0b04035bb7b3c83e999b9676e2fb46fd0aa9f910" }, @@ -54,13 +54,11 @@ "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, "mini.align": { "branch": "main", "commit": "3bdf6f0b91b31db5300a7b04f53f296a7fb150c1" }, "mini.bufremove": { "branch": "main", "commit": "1ee294a97e091d3cf967974df622c0d887890dc2" }, - "mini.files": { "branch": "main", "commit": "0db8f49088bcefff23c5cb8498a6c94e46a45a8e" }, "mini.icons": { "branch": "main", "commit": "ec61af6e606fc89ee3b1d8f2f20166a3ca917a36" }, "mini.move": { "branch": "main", "commit": "c8b30e92dd2668dd6e56a9a23cb7d4ee38c2266d" }, "mini.operators": { "branch": "main", "commit": "81e5059268154f5a8b594c95748968febdd539e3" }, - "minuet-ai.nvim": { "branch": "main", "commit": "b96c93b2f496f94603ff3c755540b17658d62408" }, "multicursor.nvim": { "branch": "1.0", "commit": "17942364aec9c2caeec5fe29ee5f229b2f00c4b1" }, - "neo-tree.nvim": { "branch": "main", "commit": "5d172e8315444dbc32867d1c7b04d8e7e68ec4e1" }, + "neo-tree.nvim": { "branch": "main", "commit": "e96fd85bf18bc345dab332b345098fa5460dffac" }, "neoconf.nvim": { "branch": "main", "commit": "d0f2fc2c67f03100ddca63e20124b7d0b60ef30c" }, "neogen": { "branch": "main", "commit": "d633d2ef572479792f6a09665fe5e897ed49f85c" }, "neogit": { "branch": "master", "commit": "63124cf520ff24d09deb3b850e053908ab0fc66a" }, @@ -75,7 +73,7 @@ "nvim-cmp": { "branch": "main", "commit": "12509903a5723a876abd65953109f926f4634c30" }, "nvim-colorizer.lua": { "branch": "master", "commit": "9b5fe0450bfb2521c6cea29391e5ec571f129136" }, "nvim-dap": { "branch": "master", "commit": "52302f02fea3a490e55475de52fa4deb8af2eb11" }, - "nvim-dap-go": { "branch": "main", "commit": "07739481317d36ddb3e3e8fbdfcd8f90b4167d73" }, + "nvim-dap-go": { "branch": "main", "commit": "8763ced35b19c8dc526e04a70ab07c34e11ad064" }, "nvim-dap-python": { "branch": "master", "commit": "34282820bb713b9a5fdb120ae8dd85c2b3f49b51" }, "nvim-dap-repl-highlights": { "branch": "master", "commit": "a7512fc0a0de0c0be8d58983939856dda6f72451" }, "nvim-dap-ui": { "branch": "master", "commit": "bc81f8d3440aede116f821114547a476b082b319" }, @@ -100,12 +98,12 @@ "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, "quick-scope": { "branch": "master", "commit": "f2b6043e04d9ef05205c8953e389304a4c1946f2" }, "quicker.nvim": { "branch": "master", "commit": "76bfadd8f29895e79429fe0d30f0b3df82cd466a" }, - "refactoring.nvim": { "branch": "master", "commit": "07e99021f66cad7eb7a6b45921798b0555f00bc3" }, + "refactoring.nvim": { "branch": "master", "commit": "74f7aea37b4a5afcab7273f19bff72485c9c5c8a" }, "render-markdown.nvim": { "branch": "main", "commit": "e05a9f22f31c088ece3fa5928daf546a015b66ee" }, "resession.nvim": { "branch": "master", "commit": "cc819b0489938d03e4f3532a583354f0287c015b" }, "rustaceanvim": { "branch": "master", "commit": "f03035fa03ccb36cd26d0792c946fbacba1d1a39" }, "smart-splits.nvim": { "branch": "master", "commit": "4a231987665d3c6e02ca88833d050e918afe3e1e" }, - "snacks.nvim": { "branch": "main", "commit": "acedb16ad76ba0b5d4761372ca71057aa9486adb" }, + "snacks.nvim": { "branch": "main", "commit": "5fa93cb6846b5998bc0b4b4ac9de47108fe39ce6" }, "sqls.nvim": { "branch": "main", "commit": "a514379f5f89bf72955ed3bf5c1c31a40b8a1472" }, "telescope.nvim": { "branch": "master", "commit": "415af52339215926d705cccc08145f3782c4d132" }, "template-string.nvim": { "branch": "main", "commit": "da5f326b65fb74fd068aa1d8b55461b64c8fb23b" }, @@ -117,10 +115,11 @@ "vague.nvim": { "branch": "main", "commit": "8a33468ca4fc73adc1b111b19f89b7663fdfd137" }, "venv-selector.nvim": { "branch": "regexp", "commit": "e82594274bf7b54387f9a2abe65f74909ac66e97" }, "vim-dadbod": { "branch": "master", "commit": "9f0ca8bcef704659820a95c3bbd2c262583a66a1" }, - "vim-dadbod-completion": { "branch": "master", "commit": "c7f1be21a08b8fc9d927a19db89a4aa995402787" }, + "vim-dadbod-completion": { "branch": "master", "commit": "464da308a988b5c8b136777a50182332b04f8d9f" }, "vim-dadbod-ui": { "branch": "master", "commit": "f4d37b7312ae6489e5c04bee654ca521baac188a" }, "vim-dotenv": { "branch": "master", "commit": "5c51cfcf8d87280d6414e03cd6b253eb70ecb800" }, "vim-illuminate": { "branch": "master", "commit": "b5713e6ca3f627b46968386d6d3f24d374d3cb17" }, "vim-matchup": { "branch": "master", "commit": "aca23ce53ebfe34e02c4fe07e29e9133a2026481" }, - "which-key.nvim": { "branch": "main", "commit": "b74a3c85f03225bc91f4f5a9056518d3fa9a3470" } + "which-key.nvim": { "branch": "main", "commit": "b74a3c85f03225bc91f4f5a9056518d3fa9a3470" }, + "yazi.nvim": { "branch": "main", "commit": "3716fa4b188502833aa6cc50f98bc06d584982ae" } } diff --git a/.config/nvim-astro/lua/community.lua b/.config/nvim-astro/lua/community.lua index 7630a32..45bf682 100644 --- a/.config/nvim-astro/lua/community.lua +++ b/.config/nvim-astro/lua/community.lua @@ -30,7 +30,7 @@ return { { import = "astrocommunity.pack.full-dadbod" }, { import = "astrocommunity.quickfix.quicker-nvim" }, - { import = "astrocommunity.file-explorer.mini-files" }, + -- { import = "astrocommunity.file-explorer.mini-files" }, { import = "astrocommunity.completion.magazine-nvim" }, -- { import = "astrocommunity.completion.blink-cmp" }, @@ -40,7 +40,6 @@ return { { import = "astrocommunity.debugging.persistent-breakpoints-nvim" }, { import = "astrocommunity.editing-support.dial-nvim" }, - -- { import = "astrocommunity.editing-support.multiple-cursors-nvim" }, { import = "astrocommunity.editing-support.nvim-treesitter-context" }, { import = "astrocommunity.editing-support.refactoring-nvim" }, diff --git a/.config/nvim-astro/lua/plugins/astrocore.lua b/.config/nvim-astro/lua/plugins/astrocore.lua index 806e704..41023cd 100644 --- a/.config/nvim-astro/lua/plugins/astrocore.lua +++ b/.config/nvim-astro/lua/plugins/astrocore.lua @@ -4,14 +4,14 @@ return { ---@type AstroCoreOpts opts = { -- Configure core features of AstroNvim - -- features = { - -- large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter - -- autopairs = true, -- enable autopairs at start - -- cmp = true, -- enable completion at start - -- diagnostics_mode = 3, -- diagnostic mode on start (0 = off, 1 = no signs/virtual text, 2 = no virtual text, 3 = on) - -- highlighturl = true, -- highlight URLs at start - -- notifications = true, -- enable notifications at start - -- }, + features = { + large_buf = { size = false, lines = false }, -- set global limits for large files for disabling features like treesitter + -- autopairs = true, -- enable autopairs at start + -- cmp = true, -- enable completion at start + -- diagnostics_mode = 3, -- diagnostic mode on start (0 = off, 1 = no signs/virtual text, 2 = no virtual text, 3 = on) + -- highlighturl = true, -- highlight URLs at start + -- notifications = true, -- enable notifications at start + }, -- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on diagnostics = { virtual_text = true, diff --git a/.config/nvim-astro/lua/plugins/disabled.lua b/.config/nvim-astro/lua/plugins/disabled.lua index dd006ee..0e2edc3 100644 --- a/.config/nvim-astro/lua/plugins/disabled.lua +++ b/.config/nvim-astro/lua/plugins/disabled.lua @@ -2,4 +2,6 @@ return { { "goolord/alpha-nvim", enabled = false }, { "rcarriga/nvim-notify", enabled = false }, + { "stevearc/resession.nvim", enabled = false }, + { "nvim-neo-tree/neo-tree.nvim", enabled = false }, } diff --git a/.config/nvim-astro/lua/plugins/emmet.lua b/.config/nvim-astro/lua/plugins/emmet.lua deleted file mode 100644 index 469e84f..0000000 --- a/.config/nvim-astro/lua/plugins/emmet.lua +++ /dev/null @@ -1,25 +0,0 @@ ----@type LazySpec -return { - { - "mattn/emmet-vim", - cmd = "EmmetInstall", - keys = { { "", desc = "Emmet plugin", mode = { "i", "n" } } }, - init = function() vim.g.user_emmet_install_global = 0 end, - }, - { - "AstroNvim/astrocore", - ---@type AstroCoreOpts - opts = { - autocmds = { - enable_emmet_in_fts = { - { - event = "FileType", - desc = "Enabled emmet plugin for specific filetypes", - pattern = { "html", "css", "scss", "javascriptreact", "typescriptreact", "astro", "vue", "svelte" }, - command = "EmmetInstall", - }, - }, - }, - }, - }, -} diff --git a/.config/nvim-astro/lua/plugins/file-manager.lua b/.config/nvim-astro/lua/plugins/file-manager.lua new file mode 100644 index 0000000..ac3ba47 --- /dev/null +++ b/.config/nvim-astro/lua/plugins/file-manager.lua @@ -0,0 +1,27 @@ +return { + "mikavilpas/yazi.nvim", + enabled = true, + dependencies = { "snacks.nvim" }, + ---@type YaziConfig | {} + opts = { + open_for_directories = false, + }, + keys = { + { + "e", + mode = { "n", "v" }, + "Yazi", + desc = "Open yazi at the current file", + }, + { + "E", + "Yazi cwd", + desc = "Open the file manager in nvim's working directory", + }, + { + "", + "Yazi toggle", + desc = "Resume the last yazi session", + }, + }, +} diff --git a/.config/nvim-astro/lua/plugins/mini-nvim.lua b/.config/nvim-astro/lua/plugins/mini-nvim.lua index 7f1e368..5b1494a 100644 --- a/.config/nvim-astro/lua/plugins/mini-nvim.lua +++ b/.config/nvim-astro/lua/plugins/mini-nvim.lua @@ -1,134 +1,5 @@ -local mini_files = vim.api.nvim_create_augroup("sp_mini_files", {}) - -local minifiles_toggle = function(...) - local f = require "mini.files" - local arg_len = ... == nil and 0 or #... - if not f.close() then - if arg_len == 0 then - f.open(f.get_latest_path()) - else - f.open(...) - end - end -end - ---@type LazySpec return { - { - "echasnovski/mini.files", - dependencies = { - { - "s1n7ax/nvim-window-picker", - version = "2.*", - config = function() - require("window-picker").setup { - filter_rules = { - include_current_win = false, - autoselect_one = true, - -- filter using buffer options - bo = { - -- if the file type is one of following, the window will be ignored - filetype = { "neo-tree", "neo-tree-popup", "notify" }, - -- if the buffer type is one of following, the window will be ignored - buftype = { "terminal", "quickfix" }, - }, - }, - --- @type 'statusline-winbar' | 'floating-big-letter' - hint = "floating-big-letter", - } - end, - }, - { - "AstroNvim/astrocore", - opts = { - mappings = { - n = { - ["-"] = { minifiles_toggle, desc = "Explorer" }, - ["E"] = { - function() minifiles_toggle(vim.api.nvim_buf_get_name(0), false) end, - desc = "Explorer(current file)", - }, - }, - }, - }, - }, - }, - opts = { - options = { - permanent_delete = false, - use_as_default_explorer = true, - }, - windows = { - preview = true, - width_focus = 30, - width_preview = 30, - }, - }, - config = function(_, opts) - require("mini.files").setup(opts) - - local map_split = function(buf_id, lhs, direction, close_on_file) - local rhs = function() - local new_target_window - local cur_target_window = require("mini.files").get_explorer_state().target_window - if cur_target_window ~= nil then - vim.api.nvim_win_call(cur_target_window, function() - vim.cmd("belowright " .. direction .. " split") - new_target_window = vim.api.nvim_get_current_win() - end) - - require("mini.files").set_target_window(new_target_window) - require("mini.files").go_in { close_on_file = close_on_file } - end - end - - local desc = "Open in " .. direction .. " split" - if close_on_file then desc = desc .. " and close" end - vim.keymap.set("n", lhs, rhs, { buffer = buf_id, desc = desc }) - end - - local function open_in_window_picker() - local f = require "mini.files" - local fs_entry = f.get_fs_entry() - if fs_entry ~= nil and fs_entry.fs_type == "file" then - local picked_window_id = require("window-picker").pick_window() - if picked_window_id == nil then return end - f.set_target_window(picked_window_id) - end - f.go_in { - close_on_file = true, - } - end - - vim.api.nvim_create_autocmd("User", { - pattern = "MiniFilesBufferCreate", - desc = "Setup mappings for MiniFiles", - group = mini_files, - callback = function(args) - local buf_id = args.data.buf_id - - map_split(buf_id, "gs", "horizontal", false) - map_split(buf_id, "gv", "vertical", false) - - map_split(buf_id, "s", "horizontal", false) - map_split(buf_id, "v", "vertical", false) - map_split(buf_id, "S", "horizontal", true) - map_split(buf_id, "V", "vertical", true) - - vim.keymap.set("n", "gw", open_in_window_picker, { buffer = buf_id, desc = "Open in target window" }) - end, - }) - vim.api.nvim_create_autocmd("User", { - pattern = "MiniFilesActionRename", - desc = "LSP renamed file", - group = mini_files, - callback = function(event) - local ok, snacks = pcall(require, "snacks") - if ok then snacks.rename.on_rename_file(event.data.from, event.data.to) end - end, - }) - end, - }, { "echasnovski/mini.operators", keys = { @@ -176,12 +47,8 @@ return { -- config = function(_, opts) require("mini.move").setup(opts) end, }, { - "echasnovski/mini.align", keys = { "ga", "gA" }, opts = {}, - -- config = function() - -- require('mini.align').setup({}) - -- end, }, } diff --git a/.config/nvim-astro/lua/plugins/nvim-cmp.lua b/.config/nvim-astro/lua/plugins/nvim-cmp.lua index 1375870..147d68f 100644 --- a/.config/nvim-astro/lua/plugins/nvim-cmp.lua +++ b/.config/nvim-astro/lua/plugins/nvim-cmp.lua @@ -7,6 +7,18 @@ local function deprio(kind) end end +---@return cmp.ComparatorFunction +local function lower_emmet() + return function(e1, e2) + local is_e1_emmet = e1.source:get_debug_name() == "nvim_lsp:emmet_ls" + or e1.source:get_debug_name() == "nvim_lsp:emmet_language_server" + local is_e2_emmet = e2.source:get_debug_name() == "nvim_lsp:emmet_ls" + or e2.source:get_debug_name() == "nvim_lsp:emmet_language_server" + if is_e1_emmet then return false end + if is_e2_emmet then return true end + end +end + ---@type LazySpec return { -- { @@ -20,43 +32,12 @@ return { optional = true, keys = { ":", "/", "?" }, -- lazy load cmp on more keys along with insert mode dependencies = { - -- { "hrsh7th/cmp-path", enabled = false }, - -- { "hrsh7th/cmp-nvim-lsp", enabled = false }, - -- { "hrsh7th/cmp-buffer", enabled = false }, { "iguanacucumber/mag-cmdline", name = "cmp-cmdline" }, { "iguanacucumber/mag-nvim-lsp", name = "cmp-nvim-lsp", opts = {} }, { "iguanacucumber/mag-buffer", name = "cmp-buffer" }, { "iguanacucumber/mag-cmdline", name = "cmp-cmdline" }, "https://codeberg.org/FelipeLema/cmp-async-path", "lukas-reineke/cmp-rg", - { - "milanglacier/minuet-ai.nvim", - enabled = false, - dependencies = { "nvim-lua/plenary.nvim" }, - opts = { - provider = "openai_fim_compatible", - n_completions = 1, -- recommend for local model for resource saving - -- I recommend beginning with a small context window size and incrementally - -- expanding it, depending on your local computing power. A context window - -- of 512, serves as an good starting point to estimate your computing - -- power. Once you have a reliable estimate of your local computing power, - -- you should adjust the context window to a larger value. - context_window = 512, - provider_options = { - openai_fim_compatible = { - api_key = "TERM", - name = "Ollama", - end_point = "http://localhost:11434/v1/completions", - model = "starcoder2:latest", - optional = { - max_tokens = 256, - top_p = 0.9, - }, - }, - }, - }, - config = function(_, opts) require("minuet").setup(opts) end, - }, }, opts = function(_, opts) local cmp = require "cmp" @@ -65,7 +46,6 @@ return { opts.mapping[""] = cmp.mapping.complete { config = { sources = { { name = "luasnip" } } }, } - -- opts.completion = { completeopt = "menu,menuone,preview" } opts.mapping[""] = cmp.mapping { i = cmp.mapping.confirm { behavior = cmp.ConfirmBehavior.Replace, select = true }, c = cmp.mapping.confirm { behavior = cmp.ConfirmBehavior.Replace, select = false }, @@ -74,34 +54,27 @@ return { i = cmp.mapping.confirm { behavior = cmp.ConfirmBehavior.Replace, select = true }, c = cmp.mapping.confirm { behavior = cmp.ConfirmBehavior.Replace, select = false }, } - -- opts.mapping[""] = require("minuet").make_cmp_map() - -- modify the sources part of the options table + opts.sources = cmp.config.sources { - { name = "nvim_lsp", priority = 1000 }, - { name = "luasnip", priority = 750 }, - { name = "buffer", priority = 300 }, - { name = "async_path", priority = 600 }, + { name = "nvim_lsp", priority = 1000, group_index = 1 }, + { name = "luasnip", priority = 750, group_index = 1 }, + { name = "async_path", priority = 600, group_index = 2 }, + { name = "buffer", priority = 300, group_index = 2 }, { name = "rg", keyword_length = 3, max_item_count = 10, + group_index = 2, priority = 200, option = { additional_arguments = "--smart-case" }, }, - -- { name = "minuet" }, } - -- opts.performance = require("astrocore").extend_tbl(opts.performance or {}, { - -- -- It is recommended to increase the timeout duration due to - -- -- the typically slower response speed of LLMs compared to - -- -- other completion sources. This is not needed when you only - -- -- need manual completion. - -- fetching_timeout = 2000, - -- }) opts.sorting = { priority_weight = defaults.sorting.priority_weight, comparators = vim.tbl_extend("keep", { deprio(types.lsp.CompletionItemKind.Text), + lower_emmet(), }, defaults.sorting.comparators), } end, diff --git a/.config/nvim-astro/lua/plugins/session.lua b/.config/nvim-astro/lua/plugins/session.lua index 6036a02..ce27779 100644 --- a/.config/nvim-astro/lua/plugins/session.lua +++ b/.config/nvim-astro/lua/plugins/session.lua @@ -13,78 +13,100 @@ end ---@type LazySpec return { - "AstroNvim/astrocore", - ---@type AstroCoreOpts - opts = { - sessions = { - -- disable the auto-saving of directory sessions - autosave = { cwd = false }, + { + "rmagatti/auto-session", + lazy = false, + cmd = { "AutoSession", "SessionManager" }, + ---enables autocomplete for opts + ---@module "auto-session" + ---@type AutoSession.Config + opts = { + enabled = true, + auto_save = true, + suppressed_dirs = { "~/", "~/Projects", "~/Downloads", "/" }, + use_git_branch = true, }, - mappings = { - n = { - -- update save dirsession mapping to get the correct session name - ["SS"] = { - function() require("resession").save(get_session_name(), { dir = "dirsession" }) end, - desc = "Save this dirsession", - }, - -- update load dirsession mapping to get the correct session name - ["S."] = { - function() require("resession").load(get_session_name(), { dir = "dirsession" }) end, - desc = "Load current dirsession", - }, - }, + keys = { + { "S", "", desc = "+[S]ession" }, + { "Ss", "SessionSave", desc = "[S]ave" }, + { "Sl", "AutoSession search", desc = "[L]ist" }, + { "Sd", "AutoSession delete", desc = "[D]elte" }, }, - autocmds = { - -- disable alpha autostart. I've disabled `alpha-nvim` - -- alpha_autostart = false, - git_branch_sessions = { - -- auto save directory sessions on leaving - { - event = "VimLeavePre", - desc = "Save git branch directory sessions on close", - callback = vim.schedule_wrap(function() - if require("astrocore.buffer").is_valid_session() then - require("resession").save(get_session_name(), { dir = "dirsession", notify = false }) - end - end), - }, - -- auto restore previous previous directory session, remove if necessary - { - event = "VimEnter", - desc = "Restore previous directory session if neovim opened with no arguments", - nested = true, -- trigger other autocommands as buffers open - callback = function() - -- Logic copied from https://github.com/AstroNvim/AstroNvim/blob/365aa6e083dcd25fa3d1c8a2515d7e71a03d51d3/lua/astronvim/plugins/alpha.lua#L49 - local should_skip - local lines = vim.api.nvim_buf_get_lines(0, 0, 2, false) - if - vim.fn.argc() > 0 -- don't start when opening a file - or #lines > 1 -- don't open if current buffer has more than 1 line - or (#lines == 1 and lines[1]:len() > 0) -- don't open the current buffer if it has anything on the first line - or #vim.tbl_filter(function(bufnr) return vim.bo[bufnr].buflisted end, vim.api.nvim_list_bufs()) > 1 -- don't open if any listed buffers - or not vim.o.modifiable -- don't open if not modifiable - then - should_skip = true - else - for _, arg in pairs(vim.v.argv) do - if arg == "-b" or arg == "-c" or vim.startswith(arg, "+") or arg == "-S" then - should_skip = true - break - end - end - end - if should_skip then return end - -- if possible, load session - if not pcall(function() require("resession").load(get_session_name(), { dir = "dirsession" }) end) then - -- if session was not loaded, if possible, load alpha - require("lazy").load { plugins = { "alpha-nvim" } } - if pcall(function() require("alpha").start(true) end) then - vim.schedule(function() vim.cmd.doautocmd "FileType" end) - end - end - end, - }, + }, + { + "AstroNvim/astrocore", + ---@type AstroCoreOpts + opts = { + sessions = { + -- disable the auto-saving of directory sessions + autosave = { cwd = false }, }, + -- mappings = { + -- n = { + -- -- update save dirsession mapping to get the correct session name + -- ["SS"] = { + -- function() require("resession").save(get_session_name(), { dir = "dirsession" }) end, + -- desc = "Save this dirsession", + -- }, + -- -- update load dirsession mapping to get the correct session name + -- ["S."] = { + -- function() require("resession").load(get_session_name(), { dir = "dirsession" }) end, + -- desc = "Load current dirsession", + -- }, + -- }, + -- }, + -- autocmds = { + -- -- disable alpha autostart. I've disabled `alpha-nvim` + -- -- alpha_autostart = false, + -- git_branch_sessions = { + -- -- auto save directory sessions on leaving + -- { + -- event = "VimLeavePre", + -- desc = "Save git branch directory sessions on close", + -- callback = vim.schedule_wrap(function() + -- if require("astrocore.buffer").is_valid_session() then + -- require("resession").save(get_session_name(), { dir = "dirsession", notify = false }) + -- end + -- end), + -- }, + -- -- auto restore previous previous directory session, remove if necessary + -- { + -- event = "VimEnter", + -- desc = "Restore previous directory session if neovim opened with no arguments", + -- nested = true, -- trigger other autocommands as buffers open + -- callback = function() + -- -- Logic copied from https://github.com/AstroNvim/AstroNvim/blob/365aa6e083dcd25fa3d1c8a2515d7e71a03d51d3/lua/astronvim/plugins/alpha.lua#L49 + -- local should_skip + -- local lines = vim.api.nvim_buf_get_lines(0, 0, 2, false) + -- if + -- vim.fn.argc() > 0 -- don't start when opening a file + -- or #lines > 1 -- don't open if current buffer has more than 1 line + -- or (#lines == 1 and lines[1]:len() > 0) -- don't open the current buffer if it has anything on the first line + -- or #vim.tbl_filter(function(bufnr) return vim.bo[bufnr].buflisted end, vim.api.nvim_list_bufs()) > 1 -- don't open if any listed buffers + -- or not vim.o.modifiable -- don't open if not modifiable + -- then + -- should_skip = true + -- else + -- for _, arg in pairs(vim.v.argv) do + -- if arg == "-b" or arg == "-c" or vim.startswith(arg, "+") or arg == "-S" then + -- should_skip = true + -- break + -- end + -- end + -- end + -- if should_skip then return end + -- -- if possible, load session + -- if not pcall(function() require("resession").load(get_session_name(), { dir = "dirsession" }) end) then + -- -- if session was not loaded, if possible, load alpha + -- require("lazy").load { plugins = { "alpha-nvim" } } + -- if pcall(function() require("alpha").start(true) end) then + -- vim.schedule(function() vim.cmd.doautocmd "FileType" end) + -- end + -- end + -- end, + -- }, + -- }, + -- }, }, }, } diff --git a/.config/nvim-astro/lua/plugins/snacks.lua b/.config/nvim-astro/lua/plugins/snacks.lua index 6c6e3a4..e00331a 100644 --- a/.config/nvim-astro/lua/plugins/snacks.lua +++ b/.config/nvim-astro/lua/plugins/snacks.lua @@ -27,6 +27,9 @@ return { "snacks.nvim", ---@type snacks.Config opts = { + bigfile = {}, + lazygit = {}, + notifier = {}, picker = { enabled = true, layout = { preset = "dropdown" }, @@ -64,8 +67,6 @@ return { list = { keys = { [""] = "edit_split" } }, }, }, - lazygit = {}, - notifier = {}, }, keys = { { @@ -81,16 +82,9 @@ return { { "", function() - -- vim.notify("Branch value " .. (branch or "nil")) - -- if branch == nil then - -- local obj = vim.system({ "git", "branch", "--show-current" }, { text = true }):wait() - -- if obj.stderr == "" and obj.stdout ~= "" then branch = obj.stdout end - -- vim.notify "calling vim.system" - -- else - branch = vim.g.gitsigns_head or vim.b.gitsigns_head or nil - -- end - if branch ~= nil or branch ~= "" then - Snacks.picker.git_files { layout = { preset = "vscode" } } + branch = vim.b.gitsigns_head or nil + if branch ~= nil and branch ~= "" then + Snacks.picker.git_files { layout = { preset = "vscode" }, untracked = true } else Snacks.picker.files { layout = { preset = "vscode" } } end @@ -177,7 +171,7 @@ return { mode = { "n", "x" }, }, { - "e", + "-", function() Snacks.explorer() end, desc = "Explorer", }, diff --git a/.config/nvim-astro/lua/plugins/toggleterm.lua b/.config/nvim-astro/lua/plugins/toggleterm.lua index f7525de..d5a4dbc 100644 --- a/.config/nvim-astro/lua/plugins/toggleterm.lua +++ b/.config/nvim-astro/lua/plugins/toggleterm.lua @@ -1,15 +1,15 @@ ---@type LazySpec return { "toggleterm.nvim", - keys = { "", "" }, + keys = { "" }, opts = { open_mapping = [[]], direction = "float", shell = "fish", on_open = function(t) local bufnr = t.bufnr - vim.opt_local.foldexpr = "" - vim.opt_local.foldmethod = "manual" + -- vim.opt_local.foldexpr = "" + -- vim.opt_local.foldmethod = "manual" vim.keymap.set("t", "", "", { buffer = bufnr, desc = "Goto normal mode" }) vim.keymap.set("n", "A", "A", { buffer = bufnr }) vim.keymap.set("n", "D", "A", { buffer = bufnr }) @@ -17,19 +17,19 @@ return { vim.keymap.set("n", "dd", "A", { buffer = bufnr }) end, }, - config = function(_, opts) - local Terminal = require("toggleterm.terminal").Terminal - local yazi = Terminal:new { - cmd = "yazi", - hidden = true, - direction = "float", - on_create = function(term) - local bufnr = term.bufnr - vim.keymap.set({ "t", "n" }, "", function() term:toggle() end, { desc = "Toggle Yazi", buffer = bufnr }) - end, - } - require("toggleterm").setup(opts) - - vim.keymap.set("n", "", function() yazi:toggle() end, { desc = "Toggle Yazi" }) - end, + -- config = function(_, opts) + -- local Terminal = require("toggleterm.terminal").Terminal + -- local yazi = Terminal:new { + -- cmd = "yazi", + -- hidden = true, + -- direction = "float", + -- on_create = function(term) + -- local bufnr = term.bufnr + -- vim.keymap.set({ "t", "n" }, "", function() term:toggle() end, { desc = "Toggle Yazi", buffer = bufnr }) + -- end, + -- } + -- require("toggleterm").setup(opts) + -- + -- vim.keymap.set("n", "", function() yazi:toggle() end, { desc = "Toggle Yazi" }) + -- end, } diff --git a/.config/nvim-astro/lua/plugins/treesitter.lua b/.config/nvim-astro/lua/plugins/treesitter.lua index a762ff0..c6210cd 100644 --- a/.config/nvim-astro/lua/plugins/treesitter.lua +++ b/.config/nvim-astro/lua/plugins/treesitter.lua @@ -1,19 +1,36 @@ ---@type LazySpec return { - "nvim-treesitter/nvim-treesitter", - opts = { - textobjects = { - swap = { - enable = true, - swap_next = { - ["k"] = { query = "@block.outer", desc = "Swap next block" }, - ["f"] = { query = "@function.outer", desc = "Swap next function" }, - ["a"] = { query = "@parameter.inner", desc = "Swap next argument" }, + { + "nvim-treesitter/nvim-treesitter", + opts = { + textobjects = { + swap = { + enable = true, + swap_next = { + ["k"] = { query = "@block.outer", desc = "Swap next block" }, + ["f"] = { query = "@function.outer", desc = "Swap next function" }, + ["a"] = { query = "@parameter.inner", desc = "Swap next argument" }, + }, + swap_previous = { + ["K"] = { query = "@block.outer", desc = "Swap previous block" }, + ["F"] = { query = "@function.outer", desc = "Swap previous function" }, + ["A"] = { query = "@parameter.inner", desc = "Swap previous argument" }, + }, }, - swap_previous = { - ["K"] = { query = "@block.outer", desc = "Swap previous block" }, - ["F"] = { query = "@function.outer", desc = "Swap previous function" }, - ["A"] = { query = "@parameter.inner", desc = "Swap previous argument" }, + }, + }, + }, + { + "AstroNvim/astrocore", + ---@type AstroCoreOpts + opts = { + mappings = { + n = { + ["\\"] = { + function() require("treesitter-context").go_to_context(vim.v.count1) end, + desc = "Jumping to context (upwards)", + silent = true, + }, }, }, }, diff --git a/.config/nvim-lazy/lazy-lock.json b/.config/nvim-lazy/lazy-lock.json index 81f960a..725b738 100644 --- a/.config/nvim-lazy/lazy-lock.json +++ b/.config/nvim-lazy/lazy-lock.json @@ -1,102 +1,102 @@ { - "LazyVim": { "branch": "main", "commit": "eb8ddea8c9438c34e71db097eb77a44185dd1093" }, + "LazyVim": { "branch": "main", "commit": "3f034d0a7f58031123300309f2efd3bb0356ee21" }, "LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" }, - "SchemaStore.nvim": { "branch": "main", "commit": "b265e7b68308c9b68581d57c3f79419ce5e8dca2" }, + "SchemaStore.nvim": { "branch": "main", "commit": "a72f390eafa06abed53427a29bf073d69199d9cf" }, "age.nvim": { "branch": "main", "commit": "f1793e14123a7c5374a3744aacab9c283014fa1d" }, - "auto-session": { "branch": "main", "commit": "82630e2f70be140f8dcc75a12e2ee2839e8488c2" }, - "avante.nvim": { "branch": "main", "commit": "12cf3c041821652a5590c6baa361999a28190f03" }, - "blink-ripgrep.nvim": { "branch": "main", "commit": "519ac7894113f6a7b517b157c26e31fbd58a0de5" }, - "blink.cmp": { "branch": "main", "commit": "b6f11a0aa33e601c469a126e3ed6e35208fe3ea3" }, + "auto-session": { "branch": "main", "commit": "9c3f977aafb56bd73ba0d082c4dcbdba5666faf3" }, + "avante.nvim": { "branch": "main", "commit": "e93f2426e98955fed0fc935e1c5efe7c976c1316" }, + "blink-ripgrep.nvim": { "branch": "main", "commit": "6fdb73fd2c9acadba7fcac9fc90357ef2cccac7a" }, + "blink.cmp": { "branch": "main", "commit": "18b352d12b35bca148427b607098df14b75a218f" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, - "bullets.vim": { "branch": "master", "commit": "2253f970e54320dbd76fd6bb4f5a0bf2436ce232" }, - "catppuccin": { "branch": "main", "commit": "4965db2d6155c25db4e8417465fc2703fdf4c2b7" }, + "bullets.vim": { "branch": "master", "commit": "af7e7adfd0d9b349cd48eb730e337fe3628b12b2" }, + "catppuccin": { "branch": "main", "commit": "4bb938bbba41d306db18bf0eb0633a5f28fd7ba0" }, "clangd_extensions.nvim": { "branch": "main", "commit": "db28f29be928d18cbfb86fbfb9f83f584f658feb" }, - "codecompanion.nvim": { "branch": "main", "commit": "e54ec7499513055077ce20f81d95de7ae60f2537" }, - "conform.nvim": { "branch": "master", "commit": "363243c03102a531a8203311d4f2ae704c620d9b" }, + "codecompanion.nvim": { "branch": "main", "commit": "6f07c0601ef2ad1b63169efe8c63c59a66dd3635" }, + "conform.nvim": { "branch": "master", "commit": "a6f5bdb78caa305496357d17e962bbc4c0b392e2" }, "copilot.lua": { "branch": "master", "commit": "886ee73b6d464b2b3e3e6a7ff55ce87feac423a9" }, - "crates.nvim": { "branch": "main", "commit": "bd35b13e94a292ee6e32c351e05ca2202dc9f070" }, + "crates.nvim": { "branch": "main", "commit": "1803c8b5516610ba7cdb759a4472a78414ee6cd4" }, "dial.nvim": { "branch": "master", "commit": "34bbd9c387c358190e61ce71017faad3dffa7a74" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dooing": { "branch": "main", "commit": "3c7cba4fa85c50c1719728e782c6de57a2d742ed" }, - "dressing.nvim": { "branch": "master", "commit": "56ef6a969a4990d938c5fed40c370f65e125fc97" }, - "flash.nvim": { "branch": "main", "commit": "f899265876ecdcf7352dbc9f0adf87068cedefbb" }, + "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, + "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" }, "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" }, "fzf-lua": { "branch": "main", "commit": "aaf7604bca38890cb487b29738f8cb02586bc818" }, "git-conflict.nvim": { "branch": "main", "commit": "4bbfdd92d547d2862a75b4e80afaf30e73f7bbb4" }, "gitpad.nvim": { "branch": "main", "commit": "1e0f6fa335c72c05d1d3635120c572e198e5ae0d" }, - "gitsigns.nvim": { "branch": "main", "commit": "fc56fc25cfc3dc3f24266508aa4a7096102eb6a6" }, + "gitsigns.nvim": { "branch": "main", "commit": "4c40357994f386e72be92a46f41fc1664c84c87d" }, "grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" }, "grug-far.nvim": { "branch": "main", "commit": "3a8690461afac34c0e5bacb0f7b4bc3066aab665" }, "gx.nvim": { "branch": "main", "commit": "c7e6a0ace694a098a5248d92a866c290bd2da1cc" }, "hydra.nvim": { "branch": "main", "commit": "983852960cd4e4e9a1b272df0bd1447495aae755" }, "img-clip.nvim": { "branch": "main", "commit": "5ded6f468d633ccfb315905fe8901d6c95ae8f29" }, "lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" }, - "lazydev.nvim": { "branch": "main", "commit": "a1b78b2ac6f978c72e76ea90ae92a94edf380cfc" }, - "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, + "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, + "lualine.nvim": { "branch": "master", "commit": "f4f791f67e70d378a754d02da068231d2352e5bc" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "f75e877f5266e87523eb5a18fcde2081820d087b" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" }, - "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, - "mini.ai": { "branch": "main", "commit": "53b4e4571e42913b94a12eff85dabe4db370d352" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "09220b99d63d5363f219daa2785242ee5fddba7f" }, + "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, + "mini.ai": { "branch": "main", "commit": "6e01c0e5a15554852546fac9853960780ac52ed4" }, "mini.align": { "branch": "main", "commit": "8d5f3254a4c25fdfd26b7467d2372f5deed3a78c" }, "mini.files": { "branch": "main", "commit": "01001e0cfc1e79f581d055ae3f70fbac96a2f378" }, "mini.icons": { "branch": "main", "commit": "ec61af6e606fc89ee3b1d8f2f20166a3ca917a36" }, "mini.move": { "branch": "main", "commit": "c8b30e92dd2668dd6e56a9a23cb7d4ee38c2266d" }, "mini.operators": { "branch": "main", "commit": "7cb4dc66c51a3d736d347bbc517dc73dc7d28888" }, "mini.pairs": { "branch": "main", "commit": "1a3e73649c0eaef2f6c48ce1e761c6f0a7c11918" }, - "mini.surround": { "branch": "main", "commit": "5e815557148d2c93eceaa44195c5d89953225b02" }, + "mini.surround": { "branch": "main", "commit": "f90069c7441a5fb04c3de42eacf93e16b64dd3eb" }, "multicursors.nvim": { "branch": "main", "commit": "562809aaf203b4c65482a75199166d360f2b9298" }, "multiple-cursors.nvim": { "branch": "main", "commit": "2f5e786c43aa9c0fc34b295cfcc9bfbacef8e926" }, "neo-tree.nvim": { "branch": "main", "commit": "343886b020cb6bfbb326c4a07a7c356eb5ee05b7" }, - "neogen": { "branch": "main", "commit": "dd0301bfba1f83a3bc009b5430fce7aa3cee6941" }, - "neogit": { "branch": "master", "commit": "63124cf520ff24d09deb3b850e053908ab0fc66a" }, + "neogen": { "branch": "main", "commit": "05d754004da8c89115b291f2a23ca530a8cac8fd" }, + "neogit": { "branch": "master", "commit": "8710d4f014f00262fd89f4067b3f9e6baa69ad2c" }, "neotest": { "branch": "master", "commit": "d66cf4e05a116957f0d3a7755a24291c7d1e1f72" }, "neotest-elixir": { "branch": "master", "commit": "a242aebeaa6997c1c149138ff77f6cacbe33b6fc" }, - "neotest-golang": { "branch": "main", "commit": "059c5754a17629c25dce61eefcea40164ee62975" }, + "neotest-golang": { "branch": "main", "commit": "131e0402e63966692d340861c58756853913ada3" }, "neotest-python": { "branch": "master", "commit": "a2861ab3c9a0bf75a56b11835c2bfc8270f5be7e" }, "neotest-zig": { "branch": "main", "commit": "c7a1a39626fa90e639fb640b6322739060a2acf3" }, - "noice.nvim": { "branch": "main", "commit": "cf758e9df66451889aab56613a21b8673f045ec2" }, + "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, "nordic.nvim": { "branch": "main", "commit": "2e060bda700365af5ce936bec6bb2b8ff2daeb19" }, "nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" }, "nvim-cmp": { "branch": "main", "commit": "b555203ce4bd7ff6192e759af3362f9d217e8c89" }, - "nvim-dap": { "branch": "master", "commit": "52302f02fea3a490e55475de52fa4deb8af2eb11" }, - "nvim-dap-go": { "branch": "main", "commit": "07739481317d36ddb3e3e8fbdfcd8f90b4167d73" }, + "nvim-dap": { "branch": "master", "commit": "6e0e8ab4d8ed520076971465a4388dfe54a91d83" }, + "nvim-dap-go": { "branch": "main", "commit": "8763ced35b19c8dc526e04a70ab07c34e11ad064" }, "nvim-dap-python": { "branch": "master", "commit": "34282820bb713b9a5fdb120ae8dd85c2b3f49b51" }, "nvim-dap-ui": { "branch": "master", "commit": "bc81f8d3440aede116f821114547a476b082b319" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "df66808cd78b5a97576bbaeee95ed5ca385a9750" }, - "nvim-highlight-colors": { "branch": "main", "commit": "68a4df620cf58e2c7336e53738e8cf3a522ad694" }, + "nvim-highlight-colors": { "branch": "main", "commit": "a770df5fbd98abbb0fc1a95d9a3f2bb1e51e3e2c" }, "nvim-lint": { "branch": "master", "commit": "6e9dd545a1af204c4022a8fcd99727ea41ffdcc8" }, - "nvim-lspconfig": { "branch": "master", "commit": "696ac53289280a29a349f3e68624e23129341126" }, + "nvim-lspconfig": { "branch": "master", "commit": "6b63bdf2399b9bedf93297d98419550523a9ad68" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, "nvim-scissors": { "branch": "main", "commit": "12d9f282b67525bb766c6fe33317caf25a19c86a" }, "nvim-snippets": { "branch": "main", "commit": "56b4052f71220144689caaa2e5b66222ba5661eb" }, - "nvim-treesitter": { "branch": "master", "commit": "824bf8455fd670186986fb3eb46fcaa4c5460949" }, - "nvim-treesitter-context": { "branch": "master", "commit": "9a49f43a2ec9bf77aecfb0fcbc43af43338375c0" }, + "nvim-treesitter": { "branch": "master", "commit": "f2bd62c6568de54ca1b8fb0a8de04a41442934cb" }, + "nvim-treesitter-context": { "branch": "master", "commit": "198720b4016af04c9590f375d714d5bf8afecc1a" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" }, - "nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" }, + "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, "nvim-window-picker": { "branch": "main", "commit": "0dfef64eaf063e1cd27983ab11a30e7bc5b74fac" }, "persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" }, - "plenary.nvim": { "branch": "master", "commit": "3707cdb1e43f5cea73afb6037e6494e7ce847a66" }, + "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, "quick-scope": { "branch": "master", "commit": "f2b6043e04d9ef05205c8953e389304a4c1946f2" }, - "refactoring.nvim": { "branch": "master", "commit": "2db6d378e873de31d18ade549c2edba64ff1c2e3" }, - "render-markdown.nvim": { "branch": "main", "commit": "5c2440d932a4ba96840e5ce5a7bd40f0624bdaa2" }, - "rustaceanvim": { "branch": "master", "commit": "f03035fa03ccb36cd26d0792c946fbacba1d1a39" }, - "snacks.nvim": { "branch": "main", "commit": "4a6ed6912e5b5cabeb3c3dbbecaedf7a1c743256" }, + "refactoring.nvim": { "branch": "master", "commit": "cd770c7e05bcc0a7e180063cde39e973b3be04ee" }, + "render-markdown.nvim": { "branch": "main", "commit": "57fa691b9e374c6539cc0340062dac8f42d4bd8b" }, + "rustaceanvim": { "branch": "master", "commit": "2feffcf9aa0e160221caafd544c4dedf30414522" }, + "snacks.nvim": { "branch": "main", "commit": "70e7e081ee558eb3756aba02491f1bc84fb72ab0" }, "telescope-egrepify.nvim": { "branch": "master", "commit": "a8070970a661330c4e00450d25f874f6c2b00af9" }, "template-string.nvim": { "branch": "main", "commit": "da5f326b65fb74fd068aa1d8b55461b64c8fb23b" }, "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, "tokyonight.nvim": { "branch": "main", "commit": "c2725eb6d086c8c9624456d734bd365194660017" }, - "trouble.nvim": { "branch": "main", "commit": "6f380b8826fb819c752c8fd7daaee9ef96d4c689" }, + "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, "ts-comments.nvim": { "branch": "main", "commit": "872dcfa0418f4a33b7437fb4d9f4e89f2f000d74" }, "vague.nvim": { "branch": "1.3", "commit": "ee51f05350431ca8a49a8d58f12074e07e12e174" }, "venv-selector.nvim": { "branch": "regexp", "commit": "e82594274bf7b54387f9a2abe65f74909ac66e97" }, "vim-abolish": { "branch": "master", "commit": "dcbfe065297d31823561ba787f51056c147aa682" }, "vim-dadbod": { "branch": "master", "commit": "9f0ca8bcef704659820a95c3bbd2c262583a66a1" }, - "vim-dadbod-completion": { "branch": "master", "commit": "c7f1be21a08b8fc9d927a19db89a4aa995402787" }, + "vim-dadbod-completion": { "branch": "master", "commit": "464da308a988b5c8b136777a50182332b04f8d9f" }, "vim-dadbod-ui": { "branch": "master", "commit": "f4d37b7312ae6489e5c04bee654ca521baac188a" }, "vim-dispatch": { "branch": "master", "commit": "a2ff28abdb2d89725192db5b8562977d392a4d3f" }, "vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" }, "vim-swap": { "branch": "master", "commit": "9358bfdc5e377aa13e7c2c2dd8699ba32b0dcf83" }, - "which-key.nvim": { "branch": "main", "commit": "0e76a87ac51772569aec678dc74baa8e2a86100c" } + "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" } } diff --git a/.config/nvim-lazy/lazyvim.json b/.config/nvim-lazy/lazyvim.json index 82e173e..9ab34a8 100644 --- a/.config/nvim-lazy/lazyvim.json +++ b/.config/nvim-lazy/lazyvim.json @@ -2,8 +2,9 @@ "extras": [ ], + "install_version": 7, "news": { "NEWS.md": "10960" }, - "version": 7 + "version": 8 } \ No newline at end of file diff --git a/.config/nvim-lazy/lua/plugins/completion.lua b/.config/nvim-lazy/lua/plugins/completion.lua index 7e00625..2d1abaf 100644 --- a/.config/nvim-lazy/lua/plugins/completion.lua +++ b/.config/nvim-lazy/lua/plugins/completion.lua @@ -6,7 +6,7 @@ end return { { "saghen/blink.cmp", - enabled = vim.g.lazyvim_cmp == "blink.cmp" or vim.g.lazyvim_cmp == "auto", + optional = true, dependencies = { "mikavilpas/blink-ripgrep.nvim" }, ---@module 'blink.cmp' ---@type blink.cmp.Config @@ -19,7 +19,9 @@ return { [""] = { "select_next", "fallback" }, [""] = { "select_next", "snippet_forward", "fallback" }, [""] = { "select_prev", "snippet_backward", "fallback" }, - cmdline = { + }, + cmdline = { + keymap = { preset = "enter", [""] = {}, [""] = {}, @@ -78,7 +80,7 @@ return { }, { "hrsh7th/nvim-cmp", - enabled = vim.g.lazyvim_cmp == "nvim-cmp", + optional = true, dependencies = { { "hrsh7th/cmp-path", enabled = false }, "lukas-reineke/cmp-rg", diff --git a/.config/nvim-lazy/lua/plugins/lsp/mappings.lua b/.config/nvim-lazy/lua/plugins/lsp/mappings.lua index 48dd4a1..34673b5 100644 --- a/.config/nvim-lazy/lua/plugins/lsp/mappings.lua +++ b/.config/nvim-lazy/lua/plugins/lsp/mappings.lua @@ -3,7 +3,8 @@ return { "neovim/nvim-lspconfig", opts = function() local keys = require("lazyvim.plugins.lsp.keymaps").get() - if LazyVim.pick.want() == "fzf" then + local ok_fzf, _ = require("fzf-lua") + if ok_fzf then keys[#keys + 1] = { "cw", "FzfLua lsp_document_symbols", desc = "Document symbols" } keys[#keys + 1] = { "cW", "FzfLua lsp_live_workspace_symbols", desc = "Workspace symbols" } elseif LazyVim.pick.want() == "telescope" then @@ -40,7 +41,5 @@ return { desc = "Signature Help", has = "signatureHelp", } - -- add a keymap - -- keys[#keys + 1] = { "H", "echo 'hello'" } end, } diff --git a/.config/nvim-lazy/lua/plugins/snacks.lua b/.config/nvim-lazy/lua/plugins/snacks.lua index 8fa0e26..fcc7faf 100644 --- a/.config/nvim-lazy/lua/plugins/snacks.lua +++ b/.config/nvim-lazy/lua/plugins/snacks.lua @@ -43,16 +43,9 @@ return { { "", function() - -- if branch == nil then - -- local obj = vim.system({ "git", "branch", "--show-current" }, { text = true }):wait() - -- if obj.stderr == "" and obj.stdout ~= "" then - -- branch = obj.stdout - -- end - -- else - branch = vim.g.gitsigns_head or vim.b.gitsigns_head or nil - -- end - if branch ~= nil or branch ~= "" then - Snacks.picker.git_files({ layout = { preset = "vscode" } }) + branch = vim.b.gitsigns_head or nil + if branch ~= nil and branch ~= "" then + Snacks.picker.git_files({ layout = { preset = "vscode" }, untracked = true }) else Snacks.picker.files({ layout = { preset = "vscode" } }) end @@ -69,7 +62,7 @@ return { { "fg", function() - Snacks.picker.git_files({ layout = { preset = "vscode" } }) + Snacks.picker.git_files({ untracked = true, layout = { preset = "vscode" } }) end, desc = "Find Files(git)", }, diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 3b28073..1811cd3 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,34 +1,39 @@ { "FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" }, "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, - "astrolsp": { "branch": "main", "commit": "292b2c9bf530182780e6f99acdf1c47efb53f656" }, + "astrolsp": { "branch": "main", "commit": "909fbe64f3f87d089ff3777751261544557117cc" }, "auto-session": { "branch": "main", "commit": "9c3f977aafb56bd73ba0d082c4dcbdba5666faf3" }, - "blink-ripgrep.nvim": { "branch": "main", "commit": "ceae07f3d76cd7353282ed4aba095a053b4438c5" }, - "blink.cmp": { "branch": "main", "commit": "b6f11a0aa33e601c469a126e3ed6e35208fe3ea3" }, + "blink.cmp": { "branch": "main", "commit": "18b352d12b35bca148427b607098df14b75a218f" }, "bullets.vim": { "branch": "master", "commit": "af7e7adfd0d9b349cd48eb730e337fe3628b12b2" }, "catppuccin": { "branch": "main", "commit": "f67b886d65a029f12ffa298701fb8f1efd89295d" }, - "conform.nvim": { "branch": "master", "commit": "659bea24f4d5145ce8c4312318abe31c9fcc5251" }, + "cmp-async-path": { "branch": "main", "commit": "d6d1ffa2075039632a2d71e8fa139818e15ac757" }, + "cmp-buffer": { "branch": "main", "commit": "11159370b51495c9848b0b6bb2b933df27672a7a" }, + "cmp-cmdline": { "branch": "main", "commit": "2c3bee4d1168670b7eb8f572378e309e8cdca79e" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "32a511e862811db68c894b541bdc7546ce552e50" }, + "cmp-nvim-lua": { "branch": "main", "commit": "e7823d08c5072e8390fef3be4bcabce702c8cab5" }, + "cmp-rg": { "branch": "master", "commit": "70a43543f61b6083ba9c3b7deb9ccee671410ac6" }, + "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, + "conform.nvim": { "branch": "master", "commit": "a6f5bdb78caa305496357d17e962bbc4c0b392e2" }, "dial.nvim": { "branch": "master", "commit": "34bbd9c387c358190e61ce71017faad3dffa7a74" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, - "emmet-vim": { "branch": "master", "commit": "6c511a8d7d2863066f32e25543e2bb99d505172c" }, "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" }, "git-conflict.nvim": { "branch": "main", "commit": "4bbfdd92d547d2862a75b4e80afaf30e73f7bbb4" }, "gitpad.nvim": { "branch": "main", "commit": "1e0f6fa335c72c05d1d3635120c572e198e5ae0d" }, - "gitsigns.nvim": { "branch": "main", "commit": "2bc3b472bbc2484214549af4d9f38c127b886a55" }, + "gitsigns.nvim": { "branch": "main", "commit": "4c40357994f386e72be92a46f41fc1664c84c87d" }, "grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" }, "gx.nvim": { "branch": "main", "commit": "c7e6a0ace694a098a5248d92a866c290bd2da1cc" }, "heirline-components.nvim": { "branch": "main", "commit": "935f29dabd86f2669e0b3c8dd283b2d3b1cfaee7" }, "heirline.nvim": { "branch": "master", "commit": "af3f441ea10f96105e1af14cd37bf213533812d2" }, "jellybeans.nvim": { "branch": "main", "commit": "a2a38b87726189d887847841256b4ea82f0f999f" }, - "lazy.nvim": { "branch": "main", "commit": "f15a93907ddad3d9139aea465ae18336d87f5ce6" }, - "lazydev.nvim": { "branch": "main", "commit": "a1b78b2ac6f978c72e76ea90ae92a94edf380cfc" }, + "lazy.nvim": { "branch": "main", "commit": "e5e9bf48211a13d9ee6c1077c88327c49c1ab4a0" }, + "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, "lexima.vim": { "branch": "master", "commit": "f851b232505766aff7bed7d20100ad31c9c0b33b" }, "luvit-meta": { "branch": "main", "commit": "1df30b60b1b4aecfebc785aa98943db6c6989716" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "805c31ec6bfb557975143712ecff6956d3227141" }, - "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, + "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, "mini.ai": { "branch": "main", "commit": "6e01c0e5a15554852546fac9853960780ac52ed4" }, "mini.align": { "branch": "main", "commit": "3bdf6f0b91b31db5300a7b04f53f296a7fb150c1" }, - "mini.extra": { "branch": "main", "commit": "4fe88ba62d10fd9698c3cb4a89812cd72e52e794" }, + "mini.extra": { "branch": "main", "commit": "7725a82b4d9c0acdc370385b9c04bb0791017230" }, "mini.files": { "branch": "main", "commit": "0db8f49088bcefff23c5cb8498a6c94e46a45a8e" }, "mini.icons": { "branch": "main", "commit": "ec61af6e606fc89ee3b1d8f2f20166a3ca917a36" }, "mini.indentscope": { "branch": "main", "commit": "8ce41a77eed7f4121c83c67fda5e2e86af999e6d" }, @@ -36,11 +41,11 @@ "mini.operators": { "branch": "main", "commit": "81e5059268154f5a8b594c95748968febdd539e3" }, "mini.pick": { "branch": "main", "commit": "6cb8d8a253e66fdd175c56e2815aa1ada0fb42a4" }, "mini.surround": { "branch": "main", "commit": "f90069c7441a5fb04c3de42eacf93e16b64dd3eb" }, - "multiple-cursors.nvim": { "branch": "main", "commit": "d5ed3383154b86748fce966b6e442b7f09b7edf5" }, - "neogen": { "branch": "main", "commit": "d633d2ef572479792f6a09665fe5e897ed49f85c" }, - "neogit": { "branch": "master", "commit": "63124cf520ff24d09deb3b850e053908ab0fc66a" }, + "multiple-cursors.nvim": { "branch": "main", "commit": "1ac15d047a4b265cc2389957bcc56ee561b29e02" }, + "neogen": { "branch": "main", "commit": "05d754004da8c89115b291f2a23ca530a8cac8fd" }, + "neogit": { "branch": "master", "commit": "8710d4f014f00262fd89f4067b3f9e6baa69ad2c" }, "neotest": { "branch": "master", "commit": "d66cf4e05a116957f0d3a7755a24291c7d1e1f72" }, - "neotest-golang": { "branch": "main", "commit": "501ce2b2a331bb6ebdd1f74c9920896be6ee7651" }, + "neotest-golang": { "branch": "main", "commit": "131e0402e63966692d340861c58756853913ada3" }, "neotest-jest": { "branch": "main", "commit": "514fd4eae7da15fd409133086bb8e029b65ac43f" }, "neotest-minitest": { "branch": "main", "commit": "7ff057de8ab2c27491ff27c7be9826b8f3bb5ec1" }, "neotest-plenary": { "branch": "master", "commit": "3523adcf9ffaad1911960c5813b0136c1b63a2ec" }, @@ -49,42 +54,43 @@ "nordic.nvim": { "branch": "main", "commit": "2e060bda700365af5ce936bec6bb2b8ff2daeb19" }, "nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" }, "nvim-autopairs": { "branch": "master", "commit": "3d02855468f94bf435db41b661b58ec4f48a06b7" }, - "nvim-dap": { "branch": "master", "commit": "52302f02fea3a490e55475de52fa4deb8af2eb11" }, - "nvim-dap-go": { "branch": "main", "commit": "07739481317d36ddb3e3e8fbdfcd8f90b4167d73" }, + "nvim-cmp": { "branch": "main", "commit": "cf8afed0f22f68e8cfdd28ed9ef86cbae8b36645" }, + "nvim-dap": { "branch": "master", "commit": "6e0e8ab4d8ed520076971465a4388dfe54a91d83" }, + "nvim-dap-go": { "branch": "main", "commit": "8763ced35b19c8dc526e04a70ab07c34e11ad064" }, "nvim-dap-ui": { "branch": "master", "commit": "bc81f8d3440aede116f821114547a476b082b319" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "df66808cd78b5a97576bbaeee95ed5ca385a9750" }, - "nvim-highlight-colors": { "branch": "main", "commit": "16a3cd4a32a655c8537de6e5643c234a9b38183a" }, + "nvim-highlight-colors": { "branch": "main", "commit": "a770df5fbd98abbb0fc1a95d9a3f2bb1e51e3e2c" }, "nvim-lint": { "branch": "master", "commit": "6e9dd545a1af204c4022a8fcd99727ea41ffdcc8" }, - "nvim-lspconfig": { "branch": "master", "commit": "6c17f8656f667727b27f5f598463afedb7791b18" }, + "nvim-lspconfig": { "branch": "master", "commit": "6b63bdf2399b9bedf93297d98419550523a9ad68" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, "nvim-surround": { "branch": "main", "commit": "ae298105122c87bbe0a36b1ad20b06d417c0433e" }, - "nvim-treesitter": { "branch": "master", "commit": "6108ba7a135ed37e32276ccb877a348af17fe411" }, - "nvim-treesitter-context": { "branch": "master", "commit": "03f382ef224c27a8508cdab2d0b463dcb8ca12a6" }, + "nvim-treesitter": { "branch": "master", "commit": "5774e7d3da4f681296a87fcd85d17779ad362a4f" }, + "nvim-treesitter-context": { "branch": "master", "commit": "198720b4016af04c9590f375d714d5bf8afecc1a" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" }, - "nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" }, - "nvim-ufo": { "branch": "main", "commit": "81f5ffa6e8ba27c48403cf681d4b383d924e03e4" }, + "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, + "nvim-ufo": { "branch": "main", "commit": "a52c92c3bbaa10f0c9b547a50adaa8c7d8b29f94" }, "nvim-vtsls": { "branch": "main", "commit": "45c6dfea9f83a126e9bfc5dd63430562b3f8af16" }, - "nvim-window-picker": { "branch": "main", "commit": "0dfef64eaf063e1cd27983ab11a30e7bc5b74fac" }, "package-info.nvim": { "branch": "master", "commit": "3de4f3569ce60e248707df042b72769b3ec343b8" }, "persistent-breakpoints.nvim": { "branch": "main", "commit": "4b199b1dcfd136cac8b0fa9c8dbbdeb81463f7a9" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, "poimandres.nvim": { "branch": "main", "commit": "a488957d803943a4201ac3b774913fcafa9e6b3a" }, "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, "quick-scope": { "branch": "master", "commit": "f2b6043e04d9ef05205c8953e389304a4c1946f2" }, - "refactoring.nvim": { "branch": "master", "commit": "2db6d378e873de31d18ade549c2edba64ff1c2e3" }, - "render-markdown.nvim": { "branch": "main", "commit": "17a77463f945c4b9e4f371c752efd90e3e1bf604" }, - "schemastore.nvim": { "branch": "main", "commit": "97b08f928d355bd6d5dee595fdf667b5bfb6329f" }, - "snacks.nvim": { "branch": "main", "commit": "a7e442b5ab1c62d97f171b367ea53fa1492fa210" }, + "refactoring.nvim": { "branch": "master", "commit": "cd770c7e05bcc0a7e180063cde39e973b3be04ee" }, + "render-markdown.nvim": { "branch": "main", "commit": "57fa691b9e374c6539cc0340062dac8f42d4bd8b" }, + "schemastore.nvim": { "branch": "main", "commit": "a72f390eafa06abed53427a29bf073d69199d9cf" }, + "snacks.nvim": { "branch": "main", "commit": "f5abf26777d30178608117e71b44d7715f4afe00" }, "template-string.nvim": { "branch": "main", "commit": "da5f326b65fb74fd068aa1d8b55461b64c8fb23b" }, "ts-comments.nvim": { "branch": "main", "commit": "872dcfa0418f4a33b7437fb4d9f4e89f2f000d74" }, "ts-error-translator.nvim": { "branch": "main", "commit": "47e5ba89f71b9e6c72eaaaaa519dd59bd6897df4" }, "typescript-tools.nvim": { "branch": "master", "commit": "35e397ce467bedbbbb5bfcd0aa79727b59a08d4a" }, "undotree": { "branch": "master", "commit": "2556c6800b210b2096b55b66e74b4cc1d9ebbe4f" }, "vim-dadbod": { "branch": "master", "commit": "9f0ca8bcef704659820a95c3bbd2c262583a66a1" }, - "vim-dadbod-completion": { "branch": "master", "commit": "c7f1be21a08b8fc9d927a19db89a4aa995402787" }, + "vim-dadbod-completion": { "branch": "master", "commit": "464da308a988b5c8b136777a50182332b04f8d9f" }, "vim-dadbod-ui": { "branch": "master", "commit": "f4d37b7312ae6489e5c04bee654ca521baac188a" }, "vim-matchup": { "branch": "master", "commit": "aca23ce53ebfe34e02c4fe07e29e9133a2026481" }, "vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" }, - "which-key.nvim": { "branch": "main", "commit": "0e76a87ac51772569aec678dc74baa8e2a86100c" } + "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }, + "yazi.nvim": { "branch": "main", "commit": "3716fa4b188502833aa6cc50f98bc06d584982ae" } } diff --git a/.config/nvim/lua/user/plugins/blink-cmp.lua b/.config/nvim/lua/user/plugins/blink-cmp.lua index 971e416..0f0db96 100644 --- a/.config/nvim/lua/user/plugins/blink-cmp.lua +++ b/.config/nvim/lua/user/plugins/blink-cmp.lua @@ -3,6 +3,7 @@ local snippet_preset = 'luasnip' ---@type LazySpec return { 'saghen/blink.cmp', + enabled = false, event = 'InsertEnter', version = '*', dependencies = { @@ -60,9 +61,6 @@ return { end, }, }, - init = function() - snippet_preset = 'mini_snippets' - end, opts = { history = true, delete_check_events = 'TextChanged' }, }, }, @@ -76,7 +74,9 @@ return { [''] = { 'select_next', 'fallback' }, [''] = { 'select_next', 'snippet_forward', 'fallback' }, [''] = { 'select_prev', 'snippet_backward', 'fallback' }, - cmdline = { + }, + cmdline = { + keymap = { preset = 'enter', [''] = {}, [''] = {}, @@ -175,5 +175,18 @@ return { }, }, snippets = { preset = snippet_preset }, + -- fuzzy = { + -- sorts = { + -- function(a, b) + -- if a.client_name == nil or b.client_name == nil then + -- return + -- end + -- return b.client_name == 'emmet_ls' or b.client_name == 'emmet_language_server' + -- end, + -- -- default sorts + -- 'score', + -- 'sort_text', + -- }, + -- }, }, } diff --git a/.config/nvim/lua/user/plugins/emmet-vim.lua b/.config/nvim/lua/user/plugins/emmet-vim.lua deleted file mode 100644 index 8460b39..0000000 --- a/.config/nvim/lua/user/plugins/emmet-vim.lua +++ /dev/null @@ -1,17 +0,0 @@ ----@type LazySpec -return { - 'mattn/emmet-vim', - cmd = 'EmmetInstall', - keys = { { '', desc = 'Emmet plugin', mode = { 'i', 'n' } } }, - init = function() - vim.g.user_emmet_install_global = 0 - end, - config = function() - vim.api.nvim_create_autocmd('FileType', { - pattern = { 'html', 'css', 'scss', 'javascriptreact', 'typescriptreact', 'astro', 'vue', 'svelte' }, - desc = 'Enabled emmet plugin for specific filetypes', - group = vim.api.nvim_create_augroup('sp_emmet', { clear = true }), - command = 'EmmetInstall', - }) - end, -} diff --git a/.config/nvim/lua/user/plugins/lsp/htmlcss.lua b/.config/nvim/lua/user/plugins/lsp/htmlcss.lua index 0396df0..9233918 100644 --- a/.config/nvim/lua/user/plugins/lsp/htmlcss.lua +++ b/.config/nvim/lua/user/plugins/lsp/htmlcss.lua @@ -79,9 +79,9 @@ return { -- end, -- }, }, - handlers = { - emmet_language_server = false, - }, + -- handlers = { + -- emmet_language_server = false, + -- }, }, }, { @@ -101,7 +101,8 @@ return { 'css-variables-language-server', 'cssmodules-language-server', 'prettierd', - 'emmet-language-server', + -- 'emmet-language-server', + 'emmet-ls', }, }, }, diff --git a/.config/nvim/lua/user/plugins/mini/files.lua b/.config/nvim/lua/user/plugins/mini/files.lua index 482218d..9ff9482 100644 --- a/.config/nvim/lua/user/plugins/mini/files.lua +++ b/.config/nvim/lua/user/plugins/mini/files.lua @@ -52,6 +52,7 @@ end ---@type LazySpec return { 'echasnovski/mini.files', + enabled = false, dependencies = { 'echasnovski/mini.icons', { diff --git a/.config/nvim/lua/user/plugins/mini/surround.lua b/.config/nvim/lua/user/plugins/mini/surround.lua index f3da532..58f20d2 100644 --- a/.config/nvim/lua/user/plugins/mini/surround.lua +++ b/.config/nvim/lua/user/plugins/mini/surround.lua @@ -11,7 +11,7 @@ local mappings = { ---@type LazySpec return { 'echasnovski/mini.surround', - enabled = true, + enabled = false, keys = { { 'gz', '', desc = '+surround' }, { mappings.add, mode = { 'n', 'v' }, desc = 'Surround add' }, diff --git a/.config/nvim/lua/user/plugins/nvim-autopairs.lua b/.config/nvim/lua/user/plugins/nvim-autopairs.lua index c47c6a6..7f66c66 100644 --- a/.config/nvim/lua/user/plugins/nvim-autopairs.lua +++ b/.config/nvim/lua/user/plugins/nvim-autopairs.lua @@ -112,6 +112,7 @@ return { { 'cohama/lexima.vim', branch = 'master', + enabled = true, config = function() vim.cmd [[call lexima#add_rule({'at': '\%#\w', 'char': '(', 'input': '('})]] end, diff --git a/.config/nvim/lua/user/plugins/nvim-cmp.lua b/.config/nvim/lua/user/plugins/nvim-cmp.lua new file mode 100644 index 0000000..03dd099 --- /dev/null +++ b/.config/nvim/lua/user/plugins/nvim-cmp.lua @@ -0,0 +1,261 @@ +local function has_words_before() + local line, col = (unpack or table.unpack)(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match '%s' == nil +end +local function is_visible(cmp) + return cmp.core.view:visible() or vim.fn.pumvisible() == 1 +end + +local function get_icon_provider() + local _, mini_icons = pcall(require, 'mini.icons') + if _G.MiniIcons then + return function(kind) + return mini_icons.get('lsp', kind or '') + end + end + local lspkind_avail, lspkind = pcall(require, 'lspkind') + if lspkind_avail then + return function(kind) + return lspkind.symbolic(kind, { mode = 'symbol' }) + end + end +end + +---@param kind lsp.CompletionItemKind | number +---@return cmp.ComparatorFunction +local function deprio(kind) + return function(e1, e2) + -- vim.inspect() + if e1:get_kind() == kind then + return false + end + if e2:get_kind() == kind then + return true + end + end +end + +---@return cmp.ComparatorFunction +local function lower_emmet() + return function(e1, e2) + local is_e1_emmet = e1.source:get_debug_name() == 'nvim_lsp:emmet_ls' + or e1.source:get_debug_name() == 'nvim_lsp:emmet_language_server' + local is_e2_emmet = e2.source:get_debug_name() == 'nvim_lsp:emmet_ls' + or e2.source:get_debug_name() == 'nvim_lsp:emmet_language_server' + if is_e1_emmet then + return false + end + if is_e2_emmet then + return true + end + end +end + +---@type LazySpec +return { + 'iguanacucumber/magazine.nvim', + name = 'nvim-cmp', + dependencies = { + 'lukas-reineke/cmp-rg', + 'kristijanhusak/vim-dadbod-completion', + 'https://codeberg.org/FelipeLema/cmp-async-path', + { 'iguanacucumber/mag-nvim-lsp', name = 'cmp-nvim-lsp', opts = {} }, + { 'iguanacucumber/mag-nvim-lua', name = 'cmp-nvim-lua' }, + { 'iguanacucumber/mag-buffer', name = 'cmp-buffer' }, + { 'iguanacucumber/mag-cmdline', name = 'cmp-cmdline' }, + 'saadparwaiz1/cmp_luasnip', + { + 'L3MON4D3/LuaSnip', + version = 'v2.*', + enabled = true, + build = 'make install_jsregexp', + dependencies = { + { + 'rafamadriz/friendly-snippets', + config = function() + require('luasnip.loaders.from_vscode').lazy_load() + require('luasnip.loaders.from_vscode').lazy_load({ paths = { vim.fn.stdpath 'config' .. '/snippets' } }) + + local extends = { + typescript = { 'tsdoc' }, + javascript = { 'jsdoc' }, + lua = { 'luadoc' }, + python = { 'pydoc' }, + rust = { 'rustdoc' }, + cs = { 'csharpdoc' }, + java = { 'javadoc' }, + c = { 'cdoc' }, + cpp = { 'cppdoc' }, + php = { 'phpdoc' }, + kotlin = { 'kdoc' }, + ruby = { 'rdoc' }, + sh = { 'shelldoc' }, + } + -- friendly-snippets - enable standardized comments snippets + for ft, snips in pairs(extends) do + require('luasnip').filetype_extend(ft, snips) + end + end, + }, + }, + opts = { + history = true, + delete_check_events = 'TextChanged', + }, + }, + { + 'folke/lazydev.nvim', + ft = 'lua', -- only load on lua files + dependencies = { 'Bilal2453/luvit-meta' }, + opts = { + library = { + 'lazy.nvim', + -- See the configuration section for more details + -- Load luvit types when the `vim.uv` word is found + { path = '${3rd}/luv/library', words = { 'vim%.uv' } }, + }, + }, + }, + }, + config = function() + local cmp = require 'cmp' + local types = require 'cmp.types' + local defaults = require 'cmp.config.default'() + local icon_provider = get_icon_provider() + local function format(entry, item) + local highlight_colors_avail, highlight_colors = pcall(require, 'nvim-highlight-colors') + local color_item = highlight_colors_avail and highlight_colors.format(entry, { kind = item.kind }) + if icon_provider then + local icon = icon_provider(item.kind) + if icon then + item.kind = icon + end + end + if color_item and color_item.abbr and color_item.abbr_hl_group then + item.kind, item.kind_hl_group = color_item.abbr, color_item.abbr_hl_group + end + return item + end + vim.opt.completeopt = 'menu,menuone,noinsert' + cmp.setup({ + preselect = cmp.PreselectMode.None, + completion = { completeopt = 'menu,menuone,noinsert' }, + sources = cmp.config.sources({ + { name = 'lazydev', priority = 1000, group_index = 0 }, + { name = 'nvim_lsp', priority = 1000 }, + { name = 'luasnip', priority = 750 }, + { name = 'async_path', priority = 600 }, + { name = 'buffer', priority = 300, group_index = 2 }, + { + name = 'rg', + keyword_length = 3, + max_item_count = 10, + group_index = 2, + priority = 200, + option = { additional_arguments = '--smart-case' }, + }, + }), + confirmation = { + default_behavior = cmp.SelectBehavior.Select, + }, + sorting = { + priority_weight = defaults.sorting.priority_weight, + comparators = vim.tbl_extend('keep', { + deprio(types.lsp.CompletionItemKind.Text), + lower_emmet(), + }, defaults.sorting.comparators), + }, + window = { + completion = cmp.config.window.bordered({ + col_offset = -2, + side_padding = 0, + border = 'rounded', + winhighlight = 'Normal:NormalFloat,FloatBorder:FloatBorder,CursorLine:PmenuSel,Search:None', + }), + documentation = cmp.config.window.bordered({ + border = 'rounded', + winhighlight = 'Normal:NormalFloat,FloatBorder:FloatBorder,CursorLine:PmenuSel,Search:None', + }), + }, + formatting = { + fields = { 'kind', 'abbr', 'menu' }, + format = format, + }, + mapping = { + [''] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Select }), + [''] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select }), + [''] = cmp.mapping(function() + if is_visible(cmp) then + cmp.select_prev_item() + else + cmp.complete() + end + end), + [''] = cmp.mapping(function() + if is_visible(cmp) then + cmp.select_next_item() + else + cmp.complete() + end + end), + [''] = cmp.mapping(cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Select }), { 'i', 'c' }), + [''] = cmp.mapping(cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select }), { 'i', 'c' }), + [''] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }), + [''] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }), + [''] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }), + [''] = cmp.config.disable, + [''] = cmp.mapping(cmp.mapping.abort(), { 'i', 'c' }), + [''] = cmp.mapping({ + i = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }), + c = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }), + }), + [''] = cmp.mapping.complete({ + config = { sources = { { name = 'luasnip' } } }, + }), + [''] = cmp.mapping(function(fallback) + if is_visible(cmp) then + cmp.select_next_item() + elseif vim.api.nvim_get_mode().mode ~= 'c' and vim.snippet and vim.snippet.active({ direction = 1 }) then + vim.schedule(function() + vim.snippet.jump(1) + end) + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { 'i', 's' }), + [''] = cmp.mapping(function(fallback) + if is_visible(cmp) then + cmp.select_prev_item() + elseif vim.api.nvim_get_mode().mode ~= 'c' and vim.snippet and vim.snippet.active({ direction = -1 }) then + vim.schedule(function() + vim.snippet.jump(-1) + end) + else + fallback() + end + end, { 'i', 's' }), + }, + }) + cmp.setup.cmdline('/', { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = 'buffer' }, + }, + }) + cmp.setup.cmdline(':', { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = 'path' }, + }, { + { + name = 'cmdline', + option = { + ignore_cmds = { 'Man', '!', 'find', 'fin' }, + }, + }, + }), + }) + end, +} diff --git a/.config/nvim/lua/user/plugins/snacks.lua b/.config/nvim/lua/user/plugins/snacks.lua index 9910322..e16fb3d 100644 --- a/.config/nvim/lua/user/plugins/snacks.lua +++ b/.config/nvim/lua/user/plugins/snacks.lua @@ -160,14 +160,6 @@ return { end, desc = 'Close All(Buffer)', }, - { - '', - function() - Snacks.terminal({ 'yazi' }, { cwd = vim.uv.cwd() }) - end, - desc = 'Toggle Yazi', - mode = { 'n', 't' }, - }, { '', function() @@ -179,16 +171,9 @@ return { { '', function() - -- if branch == nil then - -- local obj = vim.system({ "git", "branch", "--show-current" }, { text = true }):wait() - -- if obj.stderr == "" and obj.stdout ~= "" then - -- branch = obj.stdout - -- end - -- else - local branch = vim.g.gitsigns_head or vim.b.gitsigns_head or nil - -- end - if branch ~= nil or branch ~= '' then - Snacks.picker.git_files({ layout = { preset = 'vscode' } }) + local branch = vim.b.gitsigns_head or nil + if branch ~= nil and branch ~= '' then + Snacks.picker.git_files({ layout = { preset = 'vscode' }, untracked = true }) else Snacks.picker.files({ layout = { preset = 'vscode' } }) end @@ -233,7 +218,7 @@ return { { 'fg', function() - Snacks.picker.git_files({ layout = { preset = 'vscode' } }) + Snacks.picker.git_files({ layout = { preset = 'vscode' }, untracked = true }) end, desc = 'Find Git Files', }, diff --git a/.config/nvim/lua/user/plugins/surround.lua b/.config/nvim/lua/user/plugins/surround.lua index ecc8707..a9c725a 100644 --- a/.config/nvim/lua/user/plugins/surround.lua +++ b/.config/nvim/lua/user/plugins/surround.lua @@ -1,7 +1,7 @@ ---@type LazySpec return { 'kylechui/nvim-surround', - enabled = false, - config = true, + enabled = true, + opts = {}, keys = { 'ys', 'ds', 'cs', { 'S', mode = 'x', silent = false } }, } diff --git a/.config/nvim/lua/user/plugins/yazi.lua b/.config/nvim/lua/user/plugins/yazi.lua new file mode 100644 index 0000000..d653bc4 --- /dev/null +++ b/.config/nvim/lua/user/plugins/yazi.lua @@ -0,0 +1,25 @@ +---@type LazySpec +return { + "mikavilpas/yazi.nvim", + dependencies = { "snacks.nvim" }, + cmd = "Yazi", + keys = { + { + "e", + mode = { "n", "v" }, + "Yazi", + desc = "Open yazi at the current file", + }, + { + "E", + "Yazi cwd", + desc = "Open the file manager in nvim's working directory", + }, +{ + "", + "Yazi toggle", + desc = "Resume the last yazi session", + }, + }, + opts = {} +} diff --git a/.config/ripgreprc b/.config/ripgreprc index 50328e8..7aca0f3 100644 --- a/.config/ripgreprc +++ b/.config/ripgreprc @@ -18,4 +18,4 @@ prisma:*.prisma astro:*.astro --glob -!.git/* +!{.git/*,node_modules/*,.venv/*,android/*,ios/*,build/*,dist/*,vendor/*} diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf index c256e58..3241afb 100644 --- a/.config/tmux/tmux.conf +++ b/.config/tmux/tmux.conf @@ -20,20 +20,21 @@ setw -g xterm-keys on unbind M-l # use vim-like keys for splits and windows -bind-key v split-window -h -c "#{pane_current_path}" -bind-key s split-window -v -c "#{pane_current_path}" -bind-key h select-pane -L -bind-key j select-pane -D -bind-key k select-pane -U -bind-key l select-pane -R +bind v split-window -h -c "#{pane_current_path}" +bind s split-window -v -c "#{pane_current_path}" +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R # session management -bind-key w choose-session -bind-key W choose-tree +bind w choose-session +bind W choose-tree bind -r ] switch-client -n bind -r [ switch-client -p -bind-key R command-prompt -I "#S" { rename-session "%%" } -bind-key T command-prompt -p "New Session:" { new-session -A -s '%%' } +bind R command-prompt -I "#S" { rename-session "%%" } +bind T command-prompt -p "New Session:" { new-session -A -s '%%' } +bind escape copy-mode # bind-key O swap-window -s 2 -t 1 @@ -89,8 +90,8 @@ setenv -g TMUX_PLUGIN_MANAGER_PATH "$HOME/.config/tmux/plugins/" if "test ! -d ~/.config/tmux/plugins/tpm" \ "run 'git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm && ~/.config/tmux/plugins/tpm/bin/install_plugins'" run -b '~/.config/tmux/plugins/tpm/tpm' -set -g default-command /opt/homebrew/bin/fish -set -g default-shell /opt/homebrew/bin/fish +set -g default-command /bin/fish +set -g default-shell /bin/fish set -g set-clipboard on # set -g @override_copy_command 'xclip -i -r -sel clip' diff --git a/.config/vifm/favicons.vifm b/.config/vifm/favicons.vifm new file mode 100644 index 0000000..7a81a55 --- /dev/null +++ b/.config/vifm/favicons.vifm @@ -0,0 +1,71 @@ +" Ranger devicons for ViFM +" https://github.com/cirala/vifm_devicons +" +" Filetypes/directories +set classify=' :dir:/, :exe:, :reg:, :link:,? :?:, ::../::' + +" Specific files +set classify+=' ::.Xdefaults,,.Xresources,,.bashprofile,,.bash_profile,,.bashrc,,.dmrc,,.d_store,,.fasd,,.gitconfig,,.gitignore,,.jack-settings,,.mime.types,,.nvidia-settings-rc,,.pam_environment,,.profile,,.recently-used,,.selected_editor,,.xinitpurc,,.zprofile,,.yarnc,,.snclirc,,.tmux.conf,,.urlview,,.config,,.ini,,.user-dirs.dirs,,.mimeapps.list,,.offlineimaprc,,.msmtprc,,.Xauthority,,config::' +set classify+=' ::dropbox::' +set classify+=' ::favicon.*,,README,,readme::' +set classify+=' ::.vim,,.vimrc,,.gvimrc,,.vifm::' +set classify+=' ::gruntfile.coffee,,gruntfile.js,,gruntfile.ls::' +set classify+=' ::gulpfile.coffee,,gulpfile.js,,gulpfile.ls::' +set classify+=' ::ledger::' +set classify+=' ::license,,copyright,,copying,,LICENSE,,COPYRIGHT,,COPYING::' +set classify+=' ::node_modules::' +set classify+=' ::react.jsx::' + +" File extensions +set classify+='λ ::*.ml,,*.mli::' +set classify+=' ::*.styl::' +set classify+=' ::*.scss::' +set classify+=' ::*.py,,*.pyc,,*.pyd,,*.pyo::' +set classify+=' ::*.php::' +set classify+=' ::*.markdown,,*.md::' +set classify+=' ::*.json::' +set classify+=' ::*.js::' +set classify+=' ::*.bmp,,*.gif,,*.ico,,*.jpeg,,*.jpg,,*.png,,*.svg,,*.svgz,,*.tga,,*.tiff,,*.xmb,,*.xcf,,*.xpm,,*.xspf,,*.xwd,,*.cr2,,*.dng,,*.3fr,,*.ari,,*.arw,,*.bay,,*.crw,,*.cr3,,*.cap,,*.data,,*.dcs,,*.dcr,,*.drf,,*.eip,,*.erf,,*.fff,,*.gpr,,*.iiq,,*.k25,,*.kdc,,*.mdc,,*.mef,,*.mos,,*.mrw,,*.obm,,*.orf,,*.pef,,*.ptx,,*.pxn,,*.r3d,,*.raf,,*.raw,,*.rwl,,*.rw2,,*.rwz,,*.sr2,,*.srf,,*.srw,,*.tif,,*.x3f,,*.webp,,*.avif,,*.jxl::' +set classify+=' ::*.ejs,,*.htm,,*.html,,*.slim,,*.xml::' +set classify+=' ::*.mustasche::' +set classify+=' ::*.css,,*.less,,*.bat,,*.conf,,*.ini,,*.rc,,*.yml,,*.cfg::' +set classify+=' ::*.rss::' +set classify+=' ::*.coffee::' +set classify+=' ::*.twig::' +set classify+=' ::*.c++,,*.cpp,,*.cxx,,*.h::' +set classify+=' ::*.cc,,*.c::' +set classify+=' ::*.hs,,*.lhs::' +set classify+=' ::*.lua::' +set classify+=' ::*.jl::' +set classify+=' ::*.go::' +set classify+=' ::*.ts::' +set classify+=' ::*.db,,*.dump,,*.sql::' +set classify+=' ::*.sln,,*.suo::' +set classify+=' ::*.exe::' +set classify+=' ::*.diff,,*.sum,,*.md5,,*.sha512::' +set classify+=' ::*.scala::' +set classify+=' ::*.java,,*.jar::' +set classify+=' ::*.xul::' +set classify+=' ::*.clj,,*.cljc::' +set classify+=' ::*.pl,,*.pm,,*.t::' +set classify+=' ::*.cljs,,*.edn::' +set classify+=' ::*.rb::' +set classify+=' ::*.fish,,*.sh,,*.bash::' +set classify+=' ::*.dart::' +set classify+=' ::*.f#,,*.fs,,*.fsi,,*.fsscript,,*.fsx::' +set classify+=' ::*.rlib,,*.rs::' +set classify+=' ::*.d::' +set classify+=' ::*.erl,,*.hrl::' +set classify+=' ::*.ai::' +set classify+=' ::*.psb,,*.psd::' +set classify+=' ::*.jsx::' +set classify+=' ::*.aac,,*.anx,,*.asf,,*.au,,*.axa,,*.flac,,*.m2a,,*.m4a,,*.mid,,*.midi,,*.mp3,,*.mpc,,*.oga,,*.ogg,,*.ogx,,*.ra,,*.ram,,*.rm,,*.spx,,*.wav,,*.wma,,*.ac3::' +set classify+=' ::*.avi,,*.flv,,*.mkv,,*.mov,,*.mp4,,*.mpeg,,*.mpg,,*.webm,,*.av1::' +set classify+=' ::*.epub,,*.pdf,,*.fb2,,*.djvu::' +set classify+=' ::*.7z,,*.apk,,*.bz2,,*.cab,,*.cpio,,*.deb,,*.gem,,*.gz,,*.gzip,,*.lh,,*.lzh,,*.lzma,,*.rar,,*.rpm,,*.tar,,*.tgz,,*.xz,,*.zip,,*.zst::' +set classify+=' ::*.cbr,,*.cbz::' +set classify+=' ::*.log::' +set classify+=' ::*.doc,,*.docx,,*.adoc::' +set classify+=' ::*.xls,,*.xlsmx::' +set classify+=' ::*.pptx,,*.ppt::' + diff --git a/.config/vifm/scripts/vifm-sixel b/.config/vifm/scripts/vifm-sixel new file mode 100755 index 0000000..74e0c81 --- /dev/null +++ b/.config/vifm/scripts/vifm-sixel @@ -0,0 +1,68 @@ +#!/bin/bash + +[ -d "$HOME/.cache/vifm" ] || mkdir -p "$HOME/.cache/vifm" + +# $1 action +action="$1" +# $2 panel width +# $3 panel height +panel_width=$2 +panel_height=$3 +cell_width=6 +cell_height=14 +width=$((panel_width*cell_width)) +height=$((panel_height*cell_height)) +# $4 image path +image_file="$4" +background=black + +PCACHE="$HOME/.cache/vifm/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$PWD/$image_file")" | sha256sum | awk '{print $1}')" + +cleanup() { + printf '\33[s\33[5A\33[2K\33[u' + clear + exit 0 +} + +# recieves image with height +image() { + montage "$1" -background "$background" -geometry "${2}x${3}" sixel:- + } + + +case "$action" in + "clear") + cleanup + ;; + "draw") + [ ! -f "${PCACHE}.jpg" ] && magick "$image_file"'[0]' "${PCACHE}.jpg" + # FILE="$PWD/$image_file" + image "${PCACHE}.jpg" "$width" "$height" + ;; + "video") + [ ! -f "${PCACHE}.jpg" ] && \ + ffmpegthumbnailer -i "$4" -o "${PCACHE}.jpg" -s 0 -q 5 + image "${PCACHE}.jpg" "$width" "$height" + ;; + "epub") + [ ! -f "${PCACHE}.jpg" ] && \ + epub-thumbnailer "$image_file" "$PCACHE" 1024 + image "${PCACHE}.jpg" "$width" "$height" + ;; + "pdf") + [ ! -f "${PCACHE}.jpg" ] && \ + pdftoppm -jpeg -f 1 -singlefile "$image_file" "$PCACHE" + image "${PCACHE}.jpg" "$width" "$height" + ;; + "audio") + [ ! -f "${PCACHE}.jpg" ] && \ + ffmpeg -i "$image_file" "${PCACHE}.jpg" -y >/dev/null + image "${PCACHE}.jpg" "$width" "$height" + ;; + "font") + [ ! -f "${PCACHE}.jpg" ] && \ + fontpreview -i "$image_file" -o "${PCACHE}.jpg" + image "${PCACHE}.jpg" "$width" "$height" + ;; + *) +esac diff --git a/.config/vifm/scripts/vifmimg b/.config/vifm/scripts/vifmimg new file mode 100755 index 0000000..2bd2e62 --- /dev/null +++ b/.config/vifm/scripts/vifmimg @@ -0,0 +1,56 @@ +#!/usr/bin/env bash + +PCACHE="$HOME/.cache/vifm/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$PWD/$6")" | sha256sum)" +export PCACHE="${PCACHE%% *}" + +pclear() { + printf '{"action": "remove", "identifier": "vifm-preview"}\n' > "$FIFO_UEBERZUG" +} + +image() { + printf '{"action": "add", "identifier": "vifm-preview", "x": "%s", "y": "%s", "width": "%s", "height": "%s", "scaler": "contain", "path": "%s"}\n' "$2" "$3" "$4" "$5" "$6" > "$FIFO_UEBERZUG" +} + +main() { + case "$1" in + "clear") + pclear "$@" + ;; + "draw") + FILE="$PWD/$6" + image "$1" "$2" "$3" "$4" "$5" "$FILE" + ;; + "video") + [ ! -f "${PCACHE}.jpg" ] && \ + ffmpegthumbnailer -i "$6" -o "${PCACHE}.jpg" -s 0 -q 5 + image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" + ;; + "epub") + [ ! -f "$PCACHE" ] && \ + epub-thumbnailer "$6" "$PCACHE" 1024 + image "$1" "$2" "$3" "$4" "$5" "$PCACHE" + ;; + "pdf") + [ ! -f "${PCACHE}.jpg" ] && \ + pdftoppm -jpeg -f 1 -singlefile "$6" "$PCACHE" + image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" + ;; + "djvu") + [ ! -f "${PCACHE}.jpg" ] && \ + ddjvu -format=tiff -quality=90 -page=1 "$6" "$PCACHE.jpg" + image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" + ;; + "audio") + [ ! -f "${PCACHE}.jpg" ] && \ + ffmpeg -hide_banner -i "$6" "${PCACHE}.jpg" -y >/dev/null + image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" + ;; + "font") + [ ! -f "${PCACHE}.jpg" ] && \ + fontpreview -i "$6" -o "${PCACHE}.jpg" + image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg" + ;; + *) + esac +} +main "$@" diff --git a/.config/vifm/scripts/vifmrun b/.config/vifm/scripts/vifmrun new file mode 100755 index 0000000..9901c72 --- /dev/null +++ b/.config/vifm/scripts/vifmrun @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +if [ -z "$(command -v vifm)" ]; then + printf "vifm isn't installed on your system!\n" + exit 1 +elif [ -z "$(command -v ueberzug)" ]; then + exec vifm "$@" +else + cleanup() { + exec 3>&- + rm "$FIFO_UEBERZUG" + } + [ ! -d "$HOME/.cache/vifm" ] && mkdir -p "$HOME/.cache/vifm" + export FIFO_UEBERZUG="$HOME/.cache/vifm/ueberzug-${$}" + mkfifo "$FIFO_UEBERZUG" + ueberzug layer -s -p json <"$FIFO_UEBERZUG" & + exec 3>"$FIFO_UEBERZUG" + trap cleanup EXIT + vifm "$@" 3>&- + vifmimg clear +fi diff --git a/.config/vifm/vifmrc b/.config/vifm/vifmrc index 81840a1..5dacf42 100644 --- a/.config/vifm/vifmrc +++ b/.config/vifm/vifmrc @@ -1,4 +1,4 @@ -colorscheme dracula +colorscheme afterglow " Essentials {{{ set number @@ -186,34 +186,61 @@ fileviewer *.iso \ iso-info %c " VIFMIMG settings for Video,Image,etc preview {{{ +" fileviewer *.pdf +" \ vifm-sixel pdf %pw %ph %c %pd +" \ %pc +" \ vifm-sixel clear +" fileviewer *.epub +" \ vifm-sixel epub %pw %ph %c %pd +" \ %pc +" \ vifm-sixel clear +" +" fileviewer