dotfiles

My personal shell configs and stuff
git clone git://git.alex.balgavy.eu/dotfiles.git
Log | Files | Refs | Submodules | README | LICENSE

commit 76e455d582cd5f12f26cabb4e33f7361f0150b2a
parent 3f76cdf236242ea12838bd65198c2fde7f765ceb
Author: Alex Balgavy <alexander.balgavy@spaceapplications.com>
Date:   Sat,  6 Dec 2025 15:34:29 +0100

nvim: update config

Diffstat:
Mnvim/lazy-lock.json | 1+
Mnvim/lua/plugins/completion.lua | 1+
Mnvim/lua/plugins/init.lua | 11+++++++++++
Mnvim/lua/plugins/lsp.lua | 9+++++++++
Mnvim/lua/plugins/snacks.lua | 114++++++++++++++++++++++++++++++++++++++++++++++---------------------------------
5 files changed, 88 insertions(+), 48 deletions(-)

diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json @@ -10,6 +10,7 @@ "mini.ai": { "branch": "main", "commit": "11c57180bc9084089206e211ac7aa598bedc9673" }, "mini.align": { "branch": "main", "commit": "f42eeb70232fbc4761f2d895a173b117bfd11541" }, "mini.operators": { "branch": "main", "commit": "1d0d1e1570e5bd22e6df3bcb068d0a2ac0d30710" }, + "mini.snippets": { "branch": "main", "commit": "b4065ca6b33e4df2897672d3bb760cfc93f4390a" }, "mini.surround": { "branch": "main", "commit": "3c73e2a4d20f46f8bcb610020db2be5fde8319fb" }, "nvim-lint": { "branch": "master", "commit": "9da1fb942dd0668d5182f9c8dee801b9c190e2bb" }, "nvim-lspconfig": { "branch": "master", "commit": "e25994a1c2373784364852cd904cb39b6d75f227" }, diff --git a/nvim/lua/plugins/completion.lua b/nvim/lua/plugins/completion.lua @@ -35,6 +35,7 @@ return { }, cmdline = { enabled = false }, + snippets = { preset = 'mini_snippets' }, -- Default list of enabled providers defined so that you can extend it -- elsewhere in your config, without redefining it, due to `opts_extend` diff --git a/nvim/lua/plugins/init.lua b/nvim/lua/plugins/init.lua @@ -55,6 +55,17 @@ return { }, { "nvim-mini/mini.operators", opts = {} }, { + "nvim-mini/mini.snippets", + opts = function(_, opts) + local snippets = require('mini.snippets') + opts.snippets = { + snippets.gen_loader.from_file('~/.config/nvim/snippets/global.json'), + snippets.gen_loader.from_file('~/.config/nvim/snippets/global.lua'), + snippets.gen_loader.from_lang(), + } + end, + }, + { "m00qek/baleia.nvim", version = "*", config = function() diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua @@ -207,6 +207,15 @@ local config = function() vim.lsp.enable("basedpyright") + -- vim.lsp.config("ty", { + -- settings = { + -- ty = { + -- diagnosticMode = 'workspace', + -- }, + -- }, + -- }) + -- vim.lsp.enable("ty") + -- vim.lsp.config("vue_ls", { -- -- add filetypes for typescript, javascript and vue -- filetypes = { "typescript", "javascript", "javascriptreact", "typescriptreact", "vue" }, diff --git a/nvim/lua/plugins/snacks.lua b/nvim/lua/plugins/snacks.lua @@ -9,59 +9,76 @@ end local keys = { -- Top Pickers & Explorer - { "<leader>s<space>", function() Snacks.picker.smart() end, desc = "Smart Find Files" }, - { "<leader>b", function() Snacks.picker.buffers() end, desc = "Buffers" }, - { "<leader>sg", function() Snacks.picker.grep() end, desc = "Grep" }, - { "<leader>s;", function() Snacks.picker.command_history() end, desc = "Command History" }, - { "<leader>sn", function() Snacks.picker.notifications() end, desc = "Notification History" }, - { "<leader>f", function() Snacks.picker.explorer() end, desc = "Explorer" }, + { "<leader>s<space>", function() Snacks.picker.smart() end, desc = "Smart Find Files" }, + { "<leader>b", function() Snacks.picker.buffers() end, desc = "Buffers" }, + { "<leader>sg", function() Snacks.picker.grep() end, desc = "Grep" }, + { "<leader>s;", function() Snacks.picker.command_history() end, desc = "Command History" }, + { "<leader>sn", function() Snacks.picker.notifications() end, desc = "Notification History" }, + { + "<leader>f", + function() + local explorer_pickers = Snacks.picker.get({ source = "explorer" }) + for _, v in pairs(explorer_pickers) do + if v:is_focused() then + v:close() + else + v:focus() + end + end + if #explorer_pickers == 0 then + Snacks.picker.explorer() + end + end, + + desc = "Explorer" + }, -- find - { "<leader>sc", function() Snacks.picker.files({ cwd = vim.fn.stdpath("config") }) end, desc = "Find Config File" }, - { "<leader>sf", function() Snacks.picker.files() end, desc = "Find Files" }, - { "<leader>sv", function() Snacks.picker.git_files() end, desc = "Find Git Files" }, - { "<leader>sP", function() Snacks.picker.projects() end, desc = "Projects" }, - { "<leader>sp", function() Snacks.picker.recent() end, desc = "Recent" }, + { "<leader>sc", function() Snacks.picker.files({ cwd = vim.fn.stdpath("config") }) end, desc = "Find Config File" }, + { "<leader>sf", function() Snacks.picker.files() end, desc = "Find Files" }, + { "<leader>sv", function() Snacks.picker.git_files() end, desc = "Find Git Files" }, + { "<leader>sP", function() Snacks.picker.projects() end, desc = "Projects" }, + { "<leader>sp", function() Snacks.picker.recent() end, desc = "Recent" }, -- git - { "<leader>gb", function() Snacks.picker.git_branches() end, desc = "Git Branches" }, - { "<leader>gl", function() Snacks.picker.git_log() end, desc = "Git Log" }, - { "<leader>gL", function() Snacks.picker.git_log_line() end, desc = "Git Log Line" }, - { "<leader>gs", function() Snacks.picker.git_status() end, desc = "Git Status" }, - { "<leader>gS", function() Snacks.picker.git_stash() end, desc = "Git Stash" }, - { "<leader>gd", function() Snacks.picker.git_diff() end, desc = "Git Diff (Hunks)" }, - { "<leader>gf", function() Snacks.picker.git_log_file() end, desc = "Git Log File" }, + { "<leader>gb", function() Snacks.picker.git_branches() end, desc = "Git Branches" }, + { "<leader>gl", function() Snacks.picker.git_log() end, desc = "Git Log" }, + { "<leader>gL", function() Snacks.picker.git_log_line() end, desc = "Git Log Line" }, + { "<leader>gs", function() Snacks.picker.git_status() end, desc = "Git Status" }, + { "<leader>gS", function() Snacks.picker.git_stash() end, desc = "Git Stash" }, + { "<leader>gd", function() Snacks.picker.git_diff() end, desc = "Git Diff (Hunks)" }, + { "<leader>gf", function() Snacks.picker.git_log_file() end, desc = "Git Log File" }, -- Grep - { "<leader>sb", function() Snacks.picker.lines() end, desc = "Buffer Lines" }, - { "<leader>sB", function() Snacks.picker.grep_buffers() end, desc = "Grep Open Buffers" }, - { "<leader>sg", function() Snacks.picker.grep() end, desc = "Grep" }, - { "<leader>sw", function() Snacks.picker.grep_word() end, desc = "Visual selection or word", mode = { "n", "x" } }, + { "<leader>sb", function() Snacks.picker.lines() end, desc = "Buffer Lines" }, + { "<leader>sB", function() Snacks.picker.grep_buffers() end, desc = "Grep Open Buffers" }, + { "<leader>sg", function() Snacks.picker.grep() end, desc = "Grep" }, + { "<leader>sw", function() Snacks.picker.grep_word() end, desc = "Visual selection or word", mode = { "n", "x" } }, -- search - { '<leader>s"', function() Snacks.picker.registers() end, desc = "Registers" }, - { '<leader>s/', function() Snacks.picker.search_history() end, desc = "Search History" }, - { "<leader>sa", function() Snacks.picker.autocmds() end, desc = "Autocmds" }, - { "<leader>sb", function() Snacks.picker.lines() end, desc = "Buffer Lines" }, - { "<leader>sC", function() Snacks.picker.commands() end, desc = "Commands" }, - { "<leader>sd", function() Snacks.picker.diagnostics() end, desc = "Diagnostics" }, - { "<leader>sD", function() Snacks.picker.diagnostics_buffer() end, desc = "Buffer Diagnostics" }, - { "<leader>sh", function() Snacks.picker.help() end, desc = "Help Pages" }, - { "<leader>sH", function() Snacks.picker.highlights() end, desc = "Highlights" }, - { "<leader>si", function() Snacks.picker.icons() end, desc = "Icons" }, - { "<leader>sj", function() Snacks.picker.jumps() end, desc = "Jumps" }, - { "<leader>sk", function() Snacks.picker.keymaps() end, desc = "Keymaps" }, - { "<leader>sl", function() Snacks.picker.loclist() end, desc = "Location List" }, - { "<leader>sm", function() Snacks.picker.marks() end, desc = "Marks" }, - { "<leader>sM", function() Snacks.picker.man() end, desc = "Man Pages" }, - { "<leader>sq", function() Snacks.picker.qflist() end, desc = "Quickfix List" }, - { "<leader>sR", function() Snacks.picker.resume() end, desc = "Resume" }, - { "<leader>su", function() Snacks.picker.undo() end, desc = "Undo History" }, - { "<leader>uC", function() Snacks.picker.colorschemes() end, desc = "Colorschemes" }, + { '<leader>s"', function() Snacks.picker.registers() end, desc = "Registers" }, + { '<leader>s/', function() Snacks.picker.search_history() end, desc = "Search History" }, + { "<leader>sa", function() Snacks.picker.autocmds() end, desc = "Autocmds" }, + { "<leader>sb", function() Snacks.picker.lines() end, desc = "Buffer Lines" }, + { "<leader>sC", function() Snacks.picker.commands() end, desc = "Commands" }, + { "<leader>sd", function() Snacks.picker.diagnostics() end, desc = "Diagnostics" }, + { "<leader>sD", function() Snacks.picker.diagnostics_buffer() end, desc = "Buffer Diagnostics" }, + { "<leader>sh", function() Snacks.picker.help() end, desc = "Help Pages" }, + { "<leader>sH", function() Snacks.picker.highlights() end, desc = "Highlights" }, + { "<leader>si", function() Snacks.picker.icons() end, desc = "Icons" }, + { "<leader>sj", function() Snacks.picker.jumps() end, desc = "Jumps" }, + { "<leader>sk", function() Snacks.picker.keymaps() end, desc = "Keymaps" }, + { "<leader>sl", function() Snacks.picker.loclist() end, desc = "Location List" }, + { "<leader>sm", function() Snacks.picker.marks() end, desc = "Marks" }, + { "<leader>sM", function() Snacks.picker.man() end, desc = "Man Pages" }, + { "<leader>sq", function() Snacks.picker.qflist() end, desc = "Quickfix List" }, + { "<leader>sR", function() Snacks.picker.resume() end, desc = "Resume" }, + { "<leader>su", function() Snacks.picker.undo() end, desc = "Undo History" }, + { "<leader>uC", function() Snacks.picker.colorschemes() end, desc = "Colorschemes" }, -- LSP - { "gd", function() Snacks.picker.lsp_definitions() end, desc = "Goto Definition" }, - { "gD", function() Snacks.picker.lsp_declarations() end, desc = "Goto Declaration" }, - { "<leader>sr", function() Snacks.picker.lsp_references() end, nowait = true, desc = "References" }, - { "gI", function() Snacks.picker.lsp_implementations() end, desc = "Goto Implementation" }, - { "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" }, - { "<leader>ss", symbols, desc = "LSP Symbols" }, - { "<leader>sS", function() Snacks.picker.lsp_workspace_symbols() end, desc = "LSP Workspace Symbols" }, + { "gd", function() Snacks.picker.lsp_definitions() end, desc = "Goto Definition" }, + { "gD", function() Snacks.picker.lsp_declarations() end, desc = "Goto Declaration" }, + { "<leader>sr", function() Snacks.picker.lsp_references() end, nowait = true, desc = "References" }, + { "gI", function() Snacks.picker.lsp_implementations() end, desc = "Goto Implementation" }, + { "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" }, + { "<leader>ss", symbols, desc = "LSP Symbols" }, + { "<leader>sS", function() Snacks.picker.lsp_workspace_symbols() end, desc = "LSP Workspace Symbols" }, -- Other } @@ -132,6 +149,7 @@ return { { ---@class snacks.picker.Explorer.Config explorer = { + jump = { close = true }, win = { list = { keys = {