commit 76e455d582cd5f12f26cabb4e33f7361f0150b2a
parent 3f76cdf236242ea12838bd65198c2fde7f765ceb
Author: Alex Balgavy <alexander.balgavy@spaceapplications.com>
Date: Sat, 6 Dec 2025 15:34:29 +0100
nvim: update config
Diffstat:
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 = {