From 24378f0aae5d832b1596c692ab4a77ea9141d94b Mon Sep 17 00:00:00 2001 From: Beesquit Date: Sat, 18 Jul 2026 16:18:15 +0300 Subject: [PATCH] feature: nvim plugins updates and some more fixes --- .bash_exports | 4 +- .bash_profile | 22 +++--- .bashrc | 51 ++++++++++---- .config/kitty/kitty.conf | 1 + .config/nvim/lazy-lock.json | 8 +-- .config/nvim/lua/config/config.lua | 1 + .config/nvim/lua/plugins/conform.lua | 4 +- .config/nvim/lua/plugins/multilayout.lua | 4 ++ .config/nvim/lua/plugins/treesitter.lua | 89 ++++++++++++------------ .config/yazi/keymap.toml | 5 ++ .multiplexer | 1 - config-scripts/install-config.sh | 2 +- 12 files changed, 114 insertions(+), 78 deletions(-) diff --git a/.bash_exports b/.bash_exports index 592384b..1550070 100644 --- a/.bash_exports +++ b/.bash_exports @@ -4,7 +4,6 @@ export HISTCONTROL=ignoreboth export HISTFILESIZE=-1 export HISTSIZE=-1 - # GCM export GCM_CREDENTIAL_STORE=cache @@ -24,3 +23,6 @@ fi export ANDROID_SDK_ROOT=/opt/android-sdk export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools + +# mimo code +export MIMOCODE_ENABLE_ANALYSIS=false diff --git a/.bash_profile b/.bash_profile index 104136b..2d132b3 100644 --- a/.bash_profile +++ b/.bash_profile @@ -11,17 +11,17 @@ fi if [ -n "$SSH_CONNECTION" ]; then echo -e "\e[33m*\e[30m⛧ \e[31m Domain expansion.." case $(uname -s) in - Darwin) os="macOS $(sw_vers -productversion 2>/dev/null)" ;; - Linux) - if [ -f "$HOME/.os-release" ]; then - . "$HOME/.os-release" 2>/dev/null && os="$PRETTY_NAME" - else - . /etc/os-release 2>/dev/null && os="$PRETTY_NAME" - fi - [ -z "$os" ] && os="Linux $(uname -r)" - ;; - Haiku) os="Haiku $(uname -r)" ;; - *) os="$(uname -s) $(uname -r)" ;; + Darwin) os="macOS $(sw_vers -productversion 2>/dev/null)" ;; + Linux) + if [ -f "$HOME/.os-release" ]; then + . "$HOME/.os-release" 2>/dev/null && os="$PRETTY_NAME" + else + . /etc/os-release 2>/dev/null && os="$PRETTY_NAME" + fi + [ -z "$os" ] && os="Linux $(uname -r)" + ;; + Haiku) os="Haiku $(uname -r)" ;; + *) os="$(uname -s) $(uname -r)" ;; esac echo -e "\e[30m⛧ \e[33m*\e[31m Driver: $os\e[0m" fi diff --git a/.bashrc b/.bashrc index 696fd3f..f7f6f4d 100644 --- a/.bashrc +++ b/.bashrc @@ -13,7 +13,6 @@ kitty_copy_line() { } bind -x '"\C-y": kitty_copy_line' - # Aliases # aliases aliases alias aliasm='alias |comm -13 <(grep -h ^alias ~/.bashrc ~/.bash_private | sort) -' @@ -71,6 +70,7 @@ alias cfgfastfetch='(cd ~/.config/fastfetch && nvim .)' alias cfgbash='(cd ~/.config/bash && nvim .)' alias cfgtmux='(cd ~/.config/tmux && nvim .)' alias cfgopencode='(cd ~/.config/opencode && nvim .)' +alias cfgmimocode='(cd ~/.config/mimocode && nvim .)' alias cfgscripts='(cd ~/config-scripts && nvim .)' alias cfgxfce='(cd ~/.config/xfce4 && nvim .)' alias script='(cd ~/scripts && nvim .)' @@ -149,11 +149,14 @@ alias gsh='git show' alias x='sudo chmod +x' alias y='yazi' alias n='nvim .' +alias nv='nvim' alias t='tmux' alias a='abduco' alias al='if [ -n "$A_SESSION_NAME" ]; then abduco -l | sed "s/.*$A_SESSION_NAME.*/\x1b[32m&\x1b[0m/"; else abduco -l; fi' alias py='python' alias pyv='python --version' +alias ad='drill -Q' +alias a6='drill -Q AAAA' alias clipclear='cliphist wipe' alias download='aria2c -x16 -s16' alias scrcpy-def='scrcpy -S --no-audio -K' @@ -161,7 +164,8 @@ alias share='python3 -m http.server' alias globalshare='(cd ~/Share && python3 -m http.server)' alias clearlock='faillock --user YOUR_USERNAME --reset' alias opencode-resume='opencode-restore' - +alias mimocode-resume='mimocode-restore' +alias mimocode='mimo' # fun aliases alias please='sudo ' @@ -172,7 +176,6 @@ alias mmsnow='unimatrix -u ❄❆❅᪥𑁍⭒*❄❆❅᪥* -c white -a' alias mute-light-disable='sudo sh -c "echo 0 > /sys/class/leds/platform::micmute/brightness"' alias quick-info='echo "Cores: $(lscpu | awk "/Core\(s\) per socket:/ {print \$4}") | Threads: $(nproc) | RAM: $(free -h | awk "/Mem:/ {print \$2}")"' - # Functions scannet() { for net in "$@"; do @@ -181,12 +184,12 @@ scannet() { } setos() { - if [ -z "$1" ]; then - echo "Error: Please provide a source file path." - echo "Usage: setos " - return 1 - fi - cp "$1" "$HOME/.os-release" + if [ -z "$1" ]; then + echo "Error: Please provide a source file path." + echo "Usage: setos " + return 1 + fi + cp "$1" "$HOME/.os-release" } aa() { @@ -204,24 +207,44 @@ look-into-kitty() { opencode-save() { uuid="$1" echo "opencode -s $uuid" >.opencode-session - echo 'Saved the command to continue opencode session to ".opencode-session"' + echo 'Saved the command to continue Opencode session to ".opencode-session"' } opencode-restore() { FILE_PATH=".opencode-session" if [ ! -f "$FILE_PATH" ]; then - echo "Error: no such file '$FILE_PATH'" - return 1 + echo "Error: no such file '$FILE_PATH'" + return 1 fi uuid=$(awk '/opencode -s/ {print $3}' "$FILE_PATH") if [ -z "$uuid" ]; then - echo "Error: no sessionn saved" - return 1 + echo "Error: no sessionn saved" + return 1 fi echo "Resuming Opencode session with ID: $uuid" opencode -s "$uuid" } +mimocode-save() { + uuid="$1" + echo "mimo -s $uuid" >.mimocode-session + echo 'Saved the command to continue Mimocode session to ".mimocode-session"' +} + +mimocode-restore() { + FILE_PATH=".mimocode-session" + if [ ! -f "$FILE_PATH" ]; then + echo "Error: no such file - $FILE_PATH" + return 1 + fi + uuid=$(awk '/mimo -s/ {print $3}' "$FILE_PATH") + if [ -z "$uuid" ]; then + echo "Error: no sessionn saved" + return 1 + fi + echo "Resuming Mimocode session with ID: $uuid..." + mimo -s "$uuid" +} # Imports if [ -f "$HOME/.bash_tools" ]; then diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index c7b607d..b9626b2 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -12,6 +12,7 @@ mouse_map b5 press grabbed,ungrabbed send_key ctrl+shift+i # Keyboard bindings map kitty_mod+t new_tab_with_cwd map ctrl+v paste_from_clipboard +map ctrl+м paste_from_clipboard map ctrl+; send_text all \x1b[24;5~ # Scroll up and down by line diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 0196f81..f3bfc99 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -19,11 +19,11 @@ "nvim-cmp": { "branch": "main", "commit": "2ffe79f1f021def8dd1fcd81deb16f1bb0d989f3" }, "nvim-dap": { "branch": "master", "commit": "9e848e09a697ee95302a3ef2dd43fd6eb709e570" }, "nvim-dap-python": { "branch": "master", "commit": "1808458eba2b18f178f990e01376941a42c7f93b" }, - "nvim-dap-ui": { "branch": "master", "commit": "1a66cabaa4a4da0be107d5eda6d57242f0fe7e49" }, - "nvim-lspconfig": { "branch": "master", "commit": "d5b6e3db4c17b0146f63a2fc47e2027a754b2cb1" }, - "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, + "nvim-dap-ui": { "branch": "master", "commit": "cc9dd33aade7f20bae414d0cba163bc60d4d4b43" }, + "nvim-lspconfig": { "branch": "master", "commit": "e7ca2c95ba316a8b846d3f3546d407908c5c4ccb" }, + "nvim-nio": { "branch": "master", "commit": "edcc181a875301dd21840189aa2f2f9ad69fc172" }, "nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" }, - "nvim-web-devicons": { "branch": "master", "commit": "09d1324e264c6950262dbe02a9bce2933a6800db" }, + "nvim-web-devicons": { "branch": "master", "commit": "0ca28b61a04fe7426cefbdd52c2647ef0e335b5f" }, "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, "telescope.nvim": { "branch": "master", "commit": "427b576c16792edad01a92b89721d923c19ad60f" }, "vim-fugitive": { "branch": "master", "commit": "3b753cf8c6a4dcde6edee8827d464ba9b8c4a6f0" }, diff --git a/.config/nvim/lua/config/config.lua b/.config/nvim/lua/config/config.lua index d456f32..1f2ce1e 100644 --- a/.config/nvim/lua/config/config.lua +++ b/.config/nvim/lua/config/config.lua @@ -20,6 +20,7 @@ vim.opt.listchars = { trail = "·", tab = " ", } +vim.opt.undofile = true -- Additional commands for typos vim.api.nvim_create_user_command("Qa", "qa", {}) diff --git a/.config/nvim/lua/plugins/conform.lua b/.config/nvim/lua/plugins/conform.lua index b14dc16..b618f7e 100644 --- a/.config/nvim/lua/plugins/conform.lua +++ b/.config/nvim/lua/plugins/conform.lua @@ -26,8 +26,8 @@ return { javascript = { "prettierd", "prettier", stop_after_first = true }, typescript = { "prettierd", "prettier", stop_after_first = true }, - json = { "prettierd", "prettier_f", stop_after_first = true }, - jsonc = { "prettierd_f", "prettier_f", stop_after_first = true }, + json = { "prettierd", "prettier", stop_after_first = true }, + jsonc = { "prettierd", "prettier", stop_after_first = true }, -- markdown = { "prettierd", "prettier", stop_after_first = true }, }, diff --git a/.config/nvim/lua/plugins/multilayout.lua b/.config/nvim/lua/plugins/multilayout.lua index 76a0f1a..b62874b 100644 --- a/.config/nvim/lua/plugins/multilayout.lua +++ b/.config/nvim/lua/plugins/multilayout.lua @@ -6,6 +6,10 @@ return { ru = "ru", }, use_libukb = false, + aliases = { + max_length = 3, + extra = { "sort", "term" }, + }, }, }, { diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index 2e45901..4db8074 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -1,51 +1,52 @@ return { "nvim-treesitter/nvim-treesitter", + event = { "BufReadPost", "BufNewFile" }, config = function() - ts = require("nvim-treesitter") - ts.setup() - ts.install({ - "python", - "go", - "kotlin", - "dart", - "lua", - "bash", - "json", - "yaml", - "markdown", - "vim", - "vimdoc", - "html", - "css", - "javascript", - }) - vim.treesitter.language.register("html", "gotmpl") - vim.api.nvim_create_autocmd("FileType", { - callback = function(args) - local lang = vim.treesitter.language.get_lang(args.match) - if vim.list_contains(ts.get_available(), lang) then - if not vim.list_contains(ts.get_installed(), lang) then - ts.install(lang):wait() - end + local ts = require("nvim-treesitter") - vim.treesitter.start(args.buf) - end - end, - desc = "enable nvim-treesitter and install parser if not installed", - }) + ts.setup({ + ensure_installed = { + "python", + "go", + "kotlin", + "dart", + "lua", + "bash", + "json", + "yaml", + "markdown", + "vim", + "vimdoc", + }, + sync_install = false, + auto_install = true, + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, + }) - -- require("nvim-treesitter").setup() - -- { - -- ensure_installed = { - -- }, - -- - -- sync_install = false, - -- auto_install = true, - -- - -- highlight = { - -- enable = true, - -- additional_vim_regex_highlighting = false, - -- }, - -- }) + pcall(vim.treesitter.language.register, "html", "gotmpl") + + vim.api.nvim_create_autocmd("FileType", { + group = vim.api.nvim_create_augroup("TreesitterOnDemand", { clear = true }), + callback = function(args) + local ft = args.match + local lang = vim.treesitter.language.get_lang(ft) or ft + + local installed = ts.get_installed and ts.get_installed() or {} + if not vim.list_contains(installed, lang) then + pcall(function() + local ok = ts.install(lang) + if ok and ok.wait then + ok:wait() + end + end) + end + + pcall(vim.treesitter.start, args.buf, lang) + end, + desc = "enable nvim-treesitter and install parser if not installed", + }) end, } diff --git a/.config/yazi/keymap.toml b/.config/yazi/keymap.toml index a8c11f3..2119f5c 100644 --- a/.config/yazi/keymap.toml +++ b/.config/yazi/keymap.toml @@ -108,3 +108,8 @@ desc = "Jump to char" on = "p" run = "plugin smart-paste" desc = "Paste into the hovered directory or CWD" + +[[mgr.prepend_keymap]] +on = "" +run = 'shell "xdg-open %s" --confirm' +desc = "Open with system default (xdg-open)" diff --git a/.multiplexer b/.multiplexer index 63e3bfa..b53b166 100644 --- a/.multiplexer +++ b/.multiplexer @@ -26,4 +26,3 @@ # # exec tmux new -s "$T_SESSION_NAME" # fi - diff --git a/config-scripts/install-config.sh b/config-scripts/install-config.sh index 418ab9a..63327ae 100755 --- a/config-scripts/install-config.sh +++ b/config-scripts/install-config.sh @@ -75,7 +75,7 @@ echo # Installing extra packages echo -e "${YELLOW}Installing extra packages....${NC}" sudo pacman -S --needed --noconfirm \ - ethtool bash bash-completion zoxide yadm hyprland uwsm \ + ethtool ldns bash bash-completion zoxide yadm hyprland uwsm \ wl-clipboard brightnessctl ttf-jetbrains-mono-nerd \ xdg-desktop-portal-hyprland xdg-desktop-portal \ xdg-desktop-portal-gtk xdg-desktop-portal-wlr archlinux-xdg-menu \