Vic's *Nix config.

fmt

+756 -723
+1 -1
modules/flake/fmt-excludes.nix
··· 5 5 ".envrc" 6 6 ".leaderrc" 7 7 "*.el" # TODO contribute an emacs treefmt 8 - "*/config/nvim/*" 8 + "**/.gitignore" 9 9 "*/config/ghostty/*" 10 10 "*/config/wezterm/*" 11 11 "*/vic/dots/vscode/*"
+1
modules/vic/_fish/aliases.nix
··· 5 5 tree = "exa -T"; 6 6 # "." = "exa -g"; 7 7 ".." = "cd .."; 8 + vs = ''vim -c "lua Snacks.picker.smart()"''; 8 9 vf = ''vim -c "lua Snacks.picker.files()"''; 9 10 vg = ''vim -c "lua Snacks.picker.grep()"''; 10 11 vr = ''vim -c "lua Snacks.picker.recent()"'';
+10 -15
modules/vic/dots/config/nvim/after/ftplugin/rust.lua
··· 1 1 local bufnr = vim.api.nvim_get_current_buf() 2 + vim.keymap.set("n", "<leader>a", function() 3 + vim.cmd.RustLsp("codeAction") -- supports rust-analyzer's grouping 4 + -- or vim.lsp.buf.codeAction() if you don't want grouping. 5 + end, { silent = true, buffer = bufnr }) 2 6 vim.keymap.set( 3 - "n", 4 - "<leader>a", 5 - function() 6 - vim.cmd.RustLsp('codeAction') -- supports rust-analyzer's grouping 7 - -- or vim.lsp.buf.codeAction() if you don't want grouping. 8 - end, 9 - { silent = true, buffer = bufnr } 10 - ) 11 - vim.keymap.set( 12 - "n", 13 - "K", -- Override Neovim's built-in hover keymap with rustaceanvim's hover actions 14 - function() 15 - vim.cmd.RustLsp({'hover', 'actions'}) 16 - end, 17 - { silent = true, buffer = bufnr } 7 + "n", 8 + "K", -- Override Neovim's built-in hover keymap with rustaceanvim's hover actions 9 + function() 10 + vim.cmd.RustLsp({ "hover", "actions" }) 11 + end, 12 + { silent = true, buffer = bufnr } 18 13 )
+5 -5
modules/vic/dots/config/nvim/init.lua
··· 1 1 if vim.g.vscode then 2 - -- VSCode extension 2 + -- VSCode extension 3 3 else 4 - require 'prelude' 5 - require 'lazy-bootstrap' 6 - require("lazy").setup("plugins") 7 - end 4 + require("prelude") 5 + require("lazy-bootstrap") 6 + require("lazy").setup("plugins") 7 + end
+48 -12
modules/vic/dots/config/nvim/lazy-lock.json
··· 1 1 { 2 - "CopilotChat.nvim": { "branch": "main", "commit": "1b176f209a9ff85905fa5952898b1f9d4ad676cc" }, 3 - "codecompanion.nvim": { "branch": "main", "commit": "c13422e23b45bfd49906c22014929dc4be8d67c7" }, 4 - "haunt.nvim": { "branch": "master", "commit": "5f96968844f77fef4756df0f14b9d8e9077691e0" }, 5 - "hunk.nvim": { "branch": "master", "commit": "1e0a4d719c780bb8b0690a54915601508ced321e" }, 6 - "jj.nvim": { "branch": "main", "commit": "b8eb856228e42bc5548842cc9d43d49c39d7d180" }, 7 - "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, 8 - "mini.nvim": { "branch": "main", "commit": "48b924e4f3b37f62246873d237a4a89704d88948" }, 9 - "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, 10 - "rustaceanvim": { "branch": "master", "commit": "12504405821c05874d2d1f6b5ec919f9808e2c99" }, 11 - "snacks.nvim": { "branch": "main", "commit": "f2746da0bb83df0febd97ac2e71e2b790ac89e2d" }, 12 - "tv.vim": { "branch": "main", "commit": "88163c4cfd72e580452a72af46282d707abc186b" }, 13 - "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" } 2 + "CopilotChat.nvim": { 3 + "branch": "main", 4 + "commit": "1b176f209a9ff85905fa5952898b1f9d4ad676cc" 5 + }, 6 + "codecompanion.nvim": { 7 + "branch": "main", 8 + "commit": "c13422e23b45bfd49906c22014929dc4be8d67c7" 9 + }, 10 + "haunt.nvim": { 11 + "branch": "master", 12 + "commit": "5f96968844f77fef4756df0f14b9d8e9077691e0" 13 + }, 14 + "hunk.nvim": { 15 + "branch": "master", 16 + "commit": "1e0a4d719c780bb8b0690a54915601508ced321e" 17 + }, 18 + "jj.nvim": { 19 + "branch": "main", 20 + "commit": "b8eb856228e42bc5548842cc9d43d49c39d7d180" 21 + }, 22 + "lazy.nvim": { 23 + "branch": "main", 24 + "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" 25 + }, 26 + "mini.nvim": { 27 + "branch": "main", 28 + "commit": "48b924e4f3b37f62246873d237a4a89704d88948" 29 + }, 30 + "plenary.nvim": { 31 + "branch": "master", 32 + "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" 33 + }, 34 + "rustaceanvim": { 35 + "branch": "master", 36 + "commit": "12504405821c05874d2d1f6b5ec919f9808e2c99" 37 + }, 38 + "snacks.nvim": { 39 + "branch": "main", 40 + "commit": "f2746da0bb83df0febd97ac2e71e2b790ac89e2d" 41 + }, 42 + "tv.vim": { 43 + "branch": "main", 44 + "commit": "88163c4cfd72e580452a72af46282d707abc186b" 45 + }, 46 + "which-key.nvim": { 47 + "branch": "main", 48 + "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" 49 + } 14 50 }
+6 -6
modules/vic/dots/config/nvim/lua/lazy-bootstrap.lua
··· 1 1 -- [[ Install `lazy.nvim` plugin manager ]] 2 2 -- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info 3 - local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim' 3 + local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 4 4 if not (vim.uv or vim.loop).fs_stat(lazypath) then 5 - local lazyrepo = 'https://github.com/folke/lazy.nvim.git' 6 - local out = vim.fn.system { 'git', 'clone', '--filter=blob:none', '--branch=stable', lazyrepo, lazypath } 7 - if vim.v.shell_error ~= 0 then 8 - error('Error cloning lazy.nvim:\n' .. out) 9 - end 5 + local lazyrepo = "https://github.com/folke/lazy.nvim.git" 6 + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) 7 + if vim.v.shell_error ~= 0 then 8 + error("Error cloning lazy.nvim:\n" .. out) 9 + end 10 10 end 11 11 12 12 ---@type vim.Option
+6 -7
modules/vic/dots/config/nvim/lua/plugins/codecompanion.lua
··· 1 1 return { { 2 - "olimorris/codecompanion.nvim", 3 - opts = {}, 4 - dependencies = { 5 - "nvim-lua/plenary.nvim", 6 - }, 7 - }, 8 - } 2 + "olimorris/codecompanion.nvim", 3 + opts = {}, 4 + dependencies = { 5 + "nvim-lua/plenary.nvim", 6 + }, 7 + } }
+7 -8
modules/vic/dots/config/nvim/lua/plugins/haunt.lua
··· 1 1 return { 2 - { 3 - "https://git.sr.ht/~adigitoleo/haunt.nvim", 4 - lazy = true, 5 - config = function() 6 - require('haunt').setup({ 7 - }) 8 - end, 9 - } 2 + { 3 + "https://git.sr.ht/~adigitoleo/haunt.nvim", 4 + lazy = true, 5 + config = function() 6 + require("haunt").setup({}) 7 + end, 8 + }, 10 9 }
+7 -7
modules/vic/dots/config/nvim/lua/plugins/hunk.lua
··· 1 1 return { 2 - { 3 - "julienvincent/hunk.nvim", 4 - cmd = { "DiffEditor" }, 5 - config = function() 6 - require("hunk").setup() 7 - end, 8 - } 2 + { 3 + "julienvincent/hunk.nvim", 4 + cmd = { "DiffEditor" }, 5 + config = function() 6 + require("hunk").setup() 7 + end, 8 + }, 9 9 }
+36 -40
modules/vic/dots/config/nvim/lua/plugins/jj.lua
··· 1 1 return { 2 2 3 - { 4 - "nicolasgb/jj.nvim", 5 - dependencies = { 6 - "folke/snacks.nvim", -- Optional only if you use picker's 7 - }, 8 - config = function() 9 - require("jj").setup({}) 10 - local cmd = require "jj.cmd" 11 - vim.keymap.set("n", "<leader>jj", '<cmd>J<CR>', { desc = "JJ" }) 12 - vim.keymap.set("n", "<leader>jd", cmd.describe, { desc = "JJ describe" }) 13 - vim.keymap.set("n", "<leader>jl", cmd.log, { desc = "JJ log" }) 14 - vim.keymap.set("n", "<leader>je", cmd.edit, { desc = "JJ edit" }) 15 - vim.keymap.set("n", "<leader>jn", cmd.new, { desc = "JJ new" }) 16 - vim.keymap.set("n", "<leader>js", cmd.status, { desc = "JJ status" }) 17 - vim.keymap.set("n", "<leader>ji", cmd.diff, { desc = "JJ diff" }) 18 - vim.keymap.set("n", "<leader>jq", cmd.squash, { desc = "JJ squash" }) 19 - 20 - -- Pickers 21 - vim.keymap.set("n", "<leader>gj", function() 22 - require("jj.picker").status() 23 - end, { desc = "JJ Picker status" }) 24 - vim.keymap.set("n", "<leader>gl", function() 25 - require("jj.picker").file_history() 26 - end, { desc = "JJ Picker file history" }) 27 - 28 - 3 + { 4 + "nicolasgb/jj.nvim", 5 + dependencies = { 6 + "folke/snacks.nvim", -- Optional only if you use picker's 7 + }, 8 + config = function() 9 + require("jj").setup({}) 10 + local cmd = require("jj.cmd") 11 + vim.keymap.set("n", "<leader>jj", "<cmd>J<CR>", { desc = "JJ" }) 12 + vim.keymap.set("n", "<leader>jd", cmd.describe, { desc = "JJ describe" }) 13 + vim.keymap.set("n", "<leader>jl", cmd.log, { desc = "JJ log" }) 14 + vim.keymap.set("n", "<leader>je", cmd.edit, { desc = "JJ edit" }) 15 + vim.keymap.set("n", "<leader>jn", cmd.new, { desc = "JJ new" }) 16 + vim.keymap.set("n", "<leader>js", cmd.status, { desc = "JJ status" }) 17 + vim.keymap.set("n", "<leader>ji", cmd.diff, { desc = "JJ diff" }) 18 + vim.keymap.set("n", "<leader>jq", cmd.squash, { desc = "JJ squash" }) 29 19 30 - -- Some functions like `describe` or `log` can take parameters 31 - vim.keymap.set("n", "<leader>jl", function() 32 - cmd.log { 33 - revisions = "all()", 34 - } 35 - end, { desc = "JJ log" }) 20 + -- Pickers 21 + vim.keymap.set("n", "<leader>gj", function() 22 + require("jj.picker").status() 23 + end, { desc = "JJ Picker status" }) 24 + vim.keymap.set("n", "<leader>gl", function() 25 + require("jj.picker").file_history() 26 + end, { desc = "JJ Picker file history" }) 36 27 37 - -- This is an alias i use for moving bookmarks its so good 38 - vim.keymap.set("n", "<leader>jt", function() 39 - cmd.j "tug" 40 - cmd.log {} 41 - end, { desc = "JJ tug" }) 42 - end, 43 - } 28 + -- Some functions like `describe` or `log` can take parameters 29 + vim.keymap.set("n", "<leader>jl", function() 30 + cmd.log({ 31 + revisions = "all()", 32 + }) 33 + end, { desc = "JJ log" }) 44 34 35 + -- This is an alias i use for moving bookmarks its so good 36 + vim.keymap.set("n", "<leader>jt", function() 37 + cmd.j("tug") 38 + cmd.log({}) 39 + end, { desc = "JJ tug" }) 40 + end, 41 + }, 45 42 } 46 -
+21 -15
modules/vic/dots/config/nvim/lua/plugins/minifile.lua
··· 1 1 return { 2 - { 3 - 'nvim-mini/mini.nvim', 4 - version = false, 5 - lazy = true, 6 - keys = { 7 - { '<leader>E', function() require('mini.files').open() end, desc = "Explore" }, 8 - }, 9 - config = function() 10 - require('mini.files').setup({ 11 - mappings = { 12 - close = '<ESC>', 13 - go_in_plus = '<CR>', 2 + { 3 + "nvim-mini/mini.nvim", 4 + version = false, 5 + lazy = true, 6 + keys = { 7 + { 8 + "<leader>E", 9 + function() 10 + require("mini.files").open() 11 + end, 12 + desc = "Explore", 13 + }, 14 + }, 15 + config = function() 16 + require("mini.files").setup({ 17 + mappings = { 18 + close = "<ESC>", 19 + go_in_plus = "<CR>", 20 + }, 21 + }) 22 + end, 14 23 }, 15 - }) 16 - end, 17 - }, 18 24 }
+4 -4
modules/vic/dots/config/nvim/lua/plugins/rustaceanvim.lua
··· 1 1 return { 2 2 { 3 - 'mrcjkb/rustaceanvim', 4 - version = '^6', -- Recommended 3 + "mrcjkb/rustaceanvim", 4 + version = "^6", -- Recommended 5 5 lazy = false, -- This plugin is already lazy 6 - } 7 - } 6 + }, 7 + }
+5 -4
modules/vic/dots/config/nvim/lua/plugins/snacks.lua
··· 1 - return { { 1 + return { 2 + { 2 3 "folke/snacks.nvim", 3 4 priority = 1000, 4 5 lazy = false, 5 6 ---@type snacks.Config 6 7 opts = { 7 8 bigfile = { enabled = true }, 8 - dashboard = require('plugins.snacks.dashboard'), 9 + dashboard = require("plugins.snacks.dashboard"), 9 10 explorer = { enabled = true }, 10 11 indent = { enabled = true }, 11 12 input = { enabled = true }, ··· 25 26 }, 26 27 }, 27 28 }, 28 - keys = require('plugins.snacks.keys'), 29 - init = require('plugins.snacks.initf'), 29 + keys = require("plugins.snacks.keys"), 30 + init = require("plugins.snacks.initf"), 30 31 }, 31 32 }
+28 -28
modules/vic/dots/config/nvim/lua/plugins/snacks/dashboard.lua
··· 1 1 return { 2 - enabled = true; 3 - sections = { 4 - { icon = " ", title = "Recent Files", section = "recent_files", indent = 2, padding = 1 }, 5 - { icon = " ", title = "Projects", section = "projects", indent = 2, padding = 1 }, 6 - { 7 - icon = " ", 8 - title = "jj Status", 9 - section = "terminal", 10 - enabled = function() 11 - return Snacks.git.get_root() ~= nil 12 - end, 13 - cmd = "jj --ignore-working-copy show --no-patch --no-pager", 14 - height = 10, 15 - padding = 1, 16 - ttl = 5 * 60, 17 - indent = 3, 18 - }, 19 - { pane = 2, section = "startup" }, 20 - { pane = 2, section = "header" }, 21 - { 22 - pane = 2, 23 - section = "terminal", 24 - cmd = "echo hola", 25 - height = 5, 26 - padding = 1, 27 - }, 28 - { pane = 2, section = "keys", gap = 1, padding = 1 }, 29 - }, 2 + enabled = true, 3 + sections = { 4 + { icon = " ", title = "Recent Files", section = "recent_files", indent = 2, padding = 1 }, 5 + { icon = " ", title = "Projects", section = "projects", indent = 2, padding = 1 }, 6 + { 7 + icon = " ", 8 + title = "jj Status", 9 + section = "terminal", 10 + enabled = function() 11 + return Snacks.git.get_root() ~= nil 12 + end, 13 + cmd = "jj --ignore-working-copy show --no-patch --no-pager", 14 + height = 10, 15 + padding = 1, 16 + ttl = 5 * 60, 17 + indent = 3, 18 + }, 19 + { pane = 2, section = "startup" }, 20 + { pane = 2, section = "header" }, 21 + { 22 + pane = 2, 23 + section = "terminal", 24 + cmd = "echo hola", 25 + height = 5, 26 + padding = 1, 27 + }, 28 + { pane = 2, section = "keys", gap = 1, padding = 1 }, 29 + }, 30 30 }
+31 -32
modules/vic/dots/config/nvim/lua/plugins/snacks/initf.lua
··· 1 - return (function() 2 - vim.api.nvim_create_autocmd("User", { 3 - pattern = "VeryLazy", 4 - callback = function() 5 - -- Setup some globals for debugging (lazy-loaded) 6 - _G.dd = function(...) 7 - Snacks.debug.inspect(...) 8 - end 9 - _G.bt = function() 10 - Snacks.debug.backtrace() 11 - end 12 - vim.print = _G.dd -- Override print to use snacks for `:=` command 1 + return function() 2 + vim.api.nvim_create_autocmd("User", { 3 + pattern = "VeryLazy", 4 + callback = function() 5 + -- Setup some globals for debugging (lazy-loaded) 6 + _G.dd = function(...) 7 + Snacks.debug.inspect(...) 8 + end 9 + _G.bt = function() 10 + Snacks.debug.backtrace() 11 + end 12 + vim.print = _G.dd -- Override print to use snacks for `:=` command 13 13 14 - -- Create some toggle mappings 15 - Snacks.toggle.option("spell", { name = "Spelling" }):map("<leader>us") 16 - Snacks.toggle.option("wrap", { name = "Wrap" }):map("<leader>uw") 17 - Snacks.toggle.option("relativenumber", { name = "Relative Number" }):map("<leader>uL") 18 - Snacks.toggle.diagnostics():map("<leader>ud") 19 - Snacks.toggle.line_number():map("<leader>ul") 20 - Snacks.toggle 21 - .option("conceallevel", { off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2 }) 22 - :map("<leader>uc") 23 - Snacks.toggle.treesitter():map("<leader>uT") 24 - Snacks.toggle 25 - .option("background", { off = "light", on = "dark", name = "Dark Background" }) 26 - :map("<leader>ub") 27 - Snacks.toggle.inlay_hints():map("<leader>uh") 28 - Snacks.toggle.indent():map("<leader>ug") 29 - Snacks.toggle.dim():map("<leader>uD") 30 - end, 31 - }) 32 - end) 33 - 14 + -- Create some toggle mappings 15 + Snacks.toggle.option("spell", { name = "Spelling" }):map("<leader>us") 16 + Snacks.toggle.option("wrap", { name = "Wrap" }):map("<leader>uw") 17 + Snacks.toggle.option("relativenumber", { name = "Relative Number" }):map("<leader>uL") 18 + Snacks.toggle.diagnostics():map("<leader>ud") 19 + Snacks.toggle.line_number():map("<leader>ul") 20 + Snacks.toggle 21 + .option("conceallevel", { off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2 }) 22 + :map("<leader>uc") 23 + Snacks.toggle.treesitter():map("<leader>uT") 24 + Snacks.toggle 25 + .option("background", { off = "light", on = "dark", name = "Dark Background" }) 26 + :map("<leader>ub") 27 + Snacks.toggle.inlay_hints():map("<leader>uh") 28 + Snacks.toggle.indent():map("<leader>ug") 29 + Snacks.toggle.dim():map("<leader>uD") 30 + end, 31 + }) 32 + end
+486 -485
modules/vic/dots/config/nvim/lua/plugins/snacks/keys.lua
··· 1 1 return { 2 - -- Top Pickers & Explorer 3 - { 4 - "<leader><space>", 5 - function() 6 - Snacks.picker.smart() 7 - end, 8 - desc = "Smart Find Files", 9 - }, 10 - { 11 - "<leader>,", 12 - function() 13 - Snacks.picker.buffers() 14 - end, 15 - desc = "Buffers", 16 - }, 17 - { 18 - "<leader>/", 19 - function() 20 - Snacks.picker.grep() 21 - end, 22 - desc = "Grep", 23 - }, 24 - { 25 - "<leader>:", 26 - function() 27 - Snacks.picker.command_history() 28 - end, 29 - desc = "Command History", 30 - }, 31 - { 32 - "<leader>n", 33 - function() 34 - Snacks.picker.notifications() 35 - end, 36 - desc = "Notification History", 37 - }, 38 - { 39 - "<leader>e", 40 - function() 41 - Snacks.explorer() 42 - end, 43 - desc = "File Explorer", 44 - }, 45 - -- find 46 - { 47 - "<leader>fb", 48 - function() 49 - Snacks.picker.buffers() 50 - end, 51 - desc = "Buffers", 52 - }, 53 - { 54 - "<leader>fc", 55 - function() 56 - Snacks.picker.files({ cwd = vim.fn.stdpath("config") }) 57 - end, 58 - desc = "Find Config File", 59 - }, 60 - { 61 - "<leader>ff", 62 - function() 63 - Snacks.picker.files() 64 - end, 65 - desc = "Find Files", 66 - }, 67 - { 68 - "<leader>fg", 69 - function() 70 - Snacks.picker.git_files() 71 - end, 72 - desc = "Find Git Files", 73 - }, 74 - { 75 - "<leader>fp", 76 - function() 77 - Snacks.picker.projects() 78 - end, 79 - desc = "Projects", 80 - }, 81 - { 82 - "<leader>fr", 83 - function() 84 - Snacks.picker.recent() 85 - end, 86 - desc = "Recent", 87 - }, 88 - -- git 89 - { 90 - "<leader>gb", 91 - function() 92 - Snacks.picker.git_branches() 93 - end, 94 - desc = "Git Branches", 95 - }, 96 - { 97 - "<leader>gl", 98 - function() 99 - Snacks.picker.git_log() 100 - end, 101 - desc = "Git Log", 102 - }, 103 - { 104 - "<leader>gL", 105 - function() 106 - Snacks.picker.git_log_line() 107 - end, 108 - desc = "Git Log Line", 109 - }, 110 - { 111 - "<leader>gs", 112 - function() 113 - Snacks.picker.git_status() 114 - end, 115 - desc = "Git Status", 116 - }, 117 - { 118 - "<leader>gS", 119 - function() 120 - Snacks.picker.git_stash() 121 - end, 122 - desc = "Git Stash", 123 - }, 124 - { 125 - "<leader>gd", 126 - function() 127 - Snacks.picker.git_diff() 128 - end, 129 - desc = "Git Diff (Hunks)", 130 - }, 131 - { 132 - "<leader>gf", 133 - function() 134 - Snacks.picker.git_log_file() 135 - end, 136 - desc = "Git Log File", 137 - }, 138 - -- Grep 139 - { 140 - "<leader>sb", 141 - function() 142 - Snacks.picker.lines() 143 - end, 144 - desc = "Buffer Lines", 145 - }, 146 - { 147 - "<leader>sB", 148 - function() 149 - Snacks.picker.grep_buffers() 150 - end, 151 - desc = "Grep Open Buffers", 152 - }, 153 - { 154 - "<leader>sg", 155 - function() 156 - Snacks.picker.grep() 157 - end, 158 - desc = "Grep", 159 - }, 160 - { 161 - "<leader>sw", 162 - function() 163 - Snacks.picker.grep_word() 164 - end, 165 - desc = "Visual selection or word", 166 - mode = { "n", "x" }, 167 - }, 168 - -- search 169 - { 170 - '<leader>s"', 171 - function() 172 - Snacks.picker.registers() 173 - end, 174 - desc = "Registers", 175 - }, 176 - { 177 - "<leader>s/", 178 - function() 179 - Snacks.picker.search_history() 180 - end, 181 - desc = "Search History", 182 - }, 183 - { 184 - "<leader>sa", 185 - function() 186 - Snacks.picker.autocmds() 187 - end, 188 - desc = "Autocmds", 189 - }, 190 - { 191 - "<leader>sb", 192 - function() 193 - Snacks.picker.lines() 194 - end, 195 - desc = "Buffer Lines", 196 - }, 197 - { 198 - "<leader>sc", 199 - function() 200 - Snacks.picker.command_history() 201 - end, 202 - desc = "Command History", 203 - }, 204 - { 205 - "<leader>sC", 206 - function() 207 - Snacks.picker.commands() 208 - end, 209 - desc = "Commands", 210 - }, 211 - { 212 - "<leader>sd", 213 - function() 214 - Snacks.picker.diagnostics() 215 - end, 216 - desc = "Diagnostics", 217 - }, 218 - { 219 - "<leader>sD", 220 - function() 221 - Snacks.picker.diagnostics_buffer() 222 - end, 223 - desc = "Buffer Diagnostics", 224 - }, 225 - { 226 - "<leader>sh", 227 - function() 228 - Snacks.picker.help() 229 - end, 230 - desc = "Help Pages", 231 - }, 232 - { 233 - "<leader>sH", 234 - function() 235 - Snacks.picker.highlights() 236 - end, 237 - desc = "Highlights", 238 - }, 239 - { 240 - "<leader>si", 241 - function() 242 - Snacks.picker.icons() 243 - end, 244 - desc = "Icons", 245 - }, 246 - { 247 - "<leader>sj", 248 - function() 249 - Snacks.picker.jumps() 250 - end, 251 - desc = "Jumps", 252 - }, 253 - { 254 - "<leader>sk", 255 - function() 256 - Snacks.picker.keymaps() 257 - end, 258 - desc = "Keymaps", 259 - }, 260 - { 261 - "<leader>sl", 262 - function() 263 - Snacks.picker.loclist() 264 - end, 265 - desc = "Location List", 266 - }, 267 - { 268 - "<leader>sm", 269 - function() 270 - Snacks.picker.marks() 271 - end, 272 - desc = "Marks", 273 - }, 274 - { 275 - "<leader>sM", 276 - function() 277 - Snacks.picker.man() 278 - end, 279 - desc = "Man Pages", 280 - }, 281 - { 282 - "<leader>sp", 283 - function() 284 - Snacks.picker.lazy() 285 - end, 286 - desc = "Search for Plugin Spec", 287 - }, 288 - { 289 - "<leader>sq", 290 - function() 291 - Snacks.picker.qflist() 292 - end, 293 - desc = "Quickfix List", 294 - }, 295 - { 296 - "<leader>sR", 297 - function() 298 - Snacks.picker.resume() 299 - end, 300 - desc = "Resume", 301 - }, 302 - { 303 - "<leader>su", 304 - function() 305 - Snacks.picker.undo() 306 - end, 307 - desc = "Undo History", 308 - }, 309 - { 310 - "<leader>uC", 311 - function() 312 - Snacks.picker.colorschemes() 313 - end, 314 - desc = "Colorschemes", 315 - }, 316 - -- LSP 317 - { 318 - "gd", 319 - function() 320 - Snacks.picker.lsp_definitions() 321 - end, 322 - desc = "Goto Definition", 323 - }, 324 - { 325 - "gD", 326 - function() 327 - Snacks.picker.lsp_declarations() 328 - end, 329 - desc = "Goto Declaration", 330 - }, 331 - { 332 - "gr", 333 - function() 334 - Snacks.picker.lsp_references() 335 - end, 336 - nowait = true, 337 - desc = "References", 338 - }, 339 - { 340 - "gI", 341 - function() 342 - Snacks.picker.lsp_implementations() 343 - end, 344 - desc = "Goto Implementation", 345 - }, 346 - { 347 - "gy", 348 - function() 349 - Snacks.picker.lsp_type_definitions() 350 - end, 351 - desc = "Goto T[y]pe Definition", 352 - }, 353 - { 354 - "<leader>ss", 355 - function() 356 - Snacks.picker.lsp_symbols() 357 - end, 358 - desc = "LSP Symbols", 359 - }, 360 - { 361 - "<leader>sS", 362 - function() 363 - Snacks.picker.lsp_workspace_symbols() 364 - end, 365 - desc = "LSP Workspace Symbols", 366 - }, 367 - -- Other 368 - { 369 - "<leader>z", 370 - function() 371 - Snacks.zen() 372 - end, 373 - desc = "Toggle Zen Mode", 374 - }, 375 - { 376 - "<leader>Z", 377 - function() 378 - Snacks.zen.zoom() 379 - end, 380 - desc = "Toggle Zoom", 381 - }, 382 - { 383 - "<leader>.", 384 - function() 385 - Snacks.scratch() 386 - end, 387 - desc = "Toggle Scratch Buffer", 388 - }, 389 - { 390 - "<leader>S", 391 - function() 392 - Snacks.scratch.select() 393 - end, 394 - desc = "Select Scratch Buffer", 395 - }, 396 - { 397 - "<leader>n", 398 - function() 399 - Snacks.notifier.show_history() 400 - end, 401 - desc = "Notification History", 402 - }, 403 - { 404 - "<leader>bd", 405 - function() 406 - Snacks.bufdelete() 407 - end, 408 - desc = "Delete Buffer", 409 - }, 410 - { 411 - "<leader>cR", 412 - function() 413 - Snacks.rename.rename_file() 414 - end, 415 - desc = "Rename File", 416 - }, 417 - { 418 - "<leader>gB", 419 - function() 420 - Snacks.gitbrowse() 421 - end, 422 - desc = "Git Browse", 423 - mode = { "n", "v" }, 424 - }, 425 - { 426 - "<leader>gg", 427 - function() 428 - Snacks.lazygit() 429 - end, 430 - desc = "Lazygit", 431 - }, 432 - { 433 - "<leader>un", 434 - function() 435 - Snacks.notifier.hide() 436 - end, 437 - desc = "Dismiss All Notifications", 438 - }, 439 - { 440 - "<c-/>", 441 - function() 442 - Snacks.terminal() 443 - end, 444 - desc = "Toggle Terminal", 445 - }, 446 - { 447 - "<c-_>", 448 - function() 449 - Snacks.terminal() 450 - end, 451 - desc = "which_key_ignore", 452 - }, 453 - { 454 - "]]", 455 - function() 456 - Snacks.words.jump(vim.v.count1) 457 - end, 458 - desc = "Next Reference", 459 - mode = { "n", "t" }, 460 - }, 461 - { 462 - "[[", 463 - function() 464 - Snacks.words.jump(-vim.v.count1) 465 - end, 466 - desc = "Prev Reference", 467 - mode = { "n", "t" }, 468 - }, 469 - { 470 - "<leader>N", 471 - desc = "Neovim News", 472 - function() 473 - Snacks.win({ 474 - file = vim.api.nvim_get_runtime_file("doc/news.txt", false)[1], 475 - width = 0.6, 476 - height = 0.6, 477 - wo = { 478 - spell = false, 479 - wrap = false, 480 - signcolumn = "yes", 481 - statuscolumn = " ", 482 - conceallevel = 3, 483 - }, 484 - }) 485 - end, 486 - }, 2 + -- Top Pickers & Explorer 3 + { 4 + "<leader><space>", 5 + function() 6 + Snacks.picker.smart() 7 + end, 8 + desc = "Smart Find Files", 9 + }, 10 + { 11 + "<leader>,", 12 + function() 13 + Snacks.picker.buffers() 14 + end, 15 + desc = "Buffers", 16 + }, 17 + { 18 + "<leader>/", 19 + function() 20 + Snacks.picker.grep() 21 + end, 22 + desc = "Grep", 23 + }, 24 + { 25 + "<leader>:", 26 + function() 27 + Snacks.picker.command_history() 28 + end, 29 + desc = "Command History", 30 + }, 31 + { 32 + "<leader>n", 33 + function() 34 + Snacks.picker.notifications() 35 + end, 36 + desc = "Notification History", 37 + }, 38 + { 39 + "<leader>e", 40 + function() 41 + Snacks.explorer() 42 + end, 43 + desc = "File Explorer", 44 + }, 45 + -- find 46 + { 47 + "<leader>fb", 48 + function() 49 + Snacks.picker.buffers() 50 + end, 51 + desc = "Buffers", 52 + }, 53 + { 54 + "<leader>fc", 55 + function() 56 + Snacks.picker.files({ cwd = vim.fn.stdpath("config") }) 57 + end, 58 + desc = "Find Config File", 59 + }, 60 + { 61 + "<leader>ff", 62 + function() 63 + Snacks.picker.files() 64 + end, 65 + desc = "Find Files", 66 + }, 67 + { 68 + "<leader>fg", 69 + function() 70 + Snacks.picker.git_files() 71 + end, 72 + desc = "Find Git Files", 73 + }, 74 + { 75 + "<leader>fp", 76 + function() 77 + Snacks.picker.projects() 78 + end, 79 + desc = "Projects", 80 + }, 81 + { 82 + "<leader>fr", 83 + function() 84 + Snacks.picker.recent() 85 + end, 86 + desc = "Recent", 87 + }, 88 + -- git 89 + { 90 + "<leader>gb", 91 + function() 92 + Snacks.picker.git_branches() 93 + end, 94 + desc = "Git Branches", 95 + }, 96 + { 97 + "<leader>gl", 98 + function() 99 + Snacks.picker.git_log() 100 + end, 101 + desc = "Git Log", 102 + }, 103 + { 104 + "<leader>gL", 105 + function() 106 + Snacks.picker.git_log_line() 107 + end, 108 + desc = "Git Log Line", 109 + }, 110 + { 111 + "<leader>gs", 112 + function() 113 + Snacks.picker.git_status() 114 + end, 115 + desc = "Git Status", 116 + }, 117 + { 118 + "<leader>gS", 119 + function() 120 + Snacks.picker.git_stash() 121 + end, 122 + desc = "Git Stash", 123 + }, 124 + { 125 + "<leader>gd", 126 + function() 127 + Snacks.picker.git_diff() 128 + end, 129 + desc = "Git Diff (Hunks)", 130 + }, 131 + { 132 + "<leader>gf", 133 + function() 134 + Snacks.picker.git_log_file() 135 + end, 136 + desc = "Git Log File", 137 + }, 138 + -- Grep 139 + { 140 + "<leader>sb", 141 + function() 142 + Snacks.picker.lines() 143 + end, 144 + desc = "Buffer Lines", 145 + }, 146 + { 147 + "<leader>sB", 148 + function() 149 + Snacks.picker.grep_buffers() 150 + end, 151 + desc = "Grep Open Buffers", 152 + }, 153 + { 154 + "<leader>sg", 155 + function() 156 + Snacks.picker.grep() 157 + end, 158 + desc = "Grep", 159 + }, 160 + { 161 + "<leader>sw", 162 + function() 163 + Snacks.picker.grep_word() 164 + end, 165 + desc = "Visual selection or word", 166 + mode = { "n", "x" }, 167 + }, 168 + -- search 169 + { 170 + '<leader>s"', 171 + function() 172 + Snacks.picker.registers() 173 + end, 174 + desc = "Registers", 175 + }, 176 + { 177 + "<leader>s/", 178 + function() 179 + Snacks.picker.search_history() 180 + end, 181 + desc = "Search History", 182 + }, 183 + { 184 + "<leader>sa", 185 + function() 186 + Snacks.picker.autocmds() 187 + end, 188 + desc = "Autocmds", 189 + }, 190 + { 191 + "<leader>sb", 192 + function() 193 + Snacks.picker.lines() 194 + end, 195 + desc = "Buffer Lines", 196 + }, 197 + { 198 + "<leader>sc", 199 + function() 200 + Snacks.picker.command_history() 201 + end, 202 + desc = "Command History", 203 + }, 204 + { 205 + "<leader>sC", 206 + function() 207 + Snacks.picker.commands() 208 + end, 209 + desc = "Commands", 210 + }, 211 + { 212 + "<leader>sd", 213 + function() 214 + Snacks.picker.diagnostics() 215 + end, 216 + desc = "Diagnostics", 217 + }, 218 + { 219 + "<leader>sD", 220 + function() 221 + Snacks.picker.diagnostics_buffer() 222 + end, 223 + desc = "Buffer Diagnostics", 224 + }, 225 + { 226 + "<leader>sh", 227 + function() 228 + Snacks.picker.help() 229 + end, 230 + desc = "Help Pages", 231 + }, 232 + { 233 + "<leader>sH", 234 + function() 235 + Snacks.picker.highlights() 236 + end, 237 + desc = "Highlights", 238 + }, 239 + { 240 + "<leader>si", 241 + function() 242 + Snacks.picker.icons() 243 + end, 244 + desc = "Icons", 245 + }, 246 + { 247 + "<leader>sj", 248 + function() 249 + Snacks.picker.jumps() 250 + end, 251 + desc = "Jumps", 252 + }, 253 + { 254 + "<leader>sk", 255 + function() 256 + Snacks.picker.keymaps() 257 + end, 258 + desc = "Keymaps", 259 + }, 260 + { 261 + "<leader>sl", 262 + function() 263 + Snacks.picker.loclist() 264 + end, 265 + desc = "Location List", 266 + }, 267 + { 268 + "<leader>sm", 269 + function() 270 + Snacks.picker.marks() 271 + end, 272 + desc = "Marks", 273 + }, 274 + { 275 + "<leader>sM", 276 + function() 277 + Snacks.picker.man() 278 + end, 279 + desc = "Man Pages", 280 + }, 281 + { 282 + "<leader>sp", 283 + function() 284 + Snacks.picker.lazy() 285 + end, 286 + desc = "Search for Plugin Spec", 287 + }, 288 + { 289 + "<leader>sq", 290 + function() 291 + Snacks.picker.qflist() 292 + end, 293 + desc = "Quickfix List", 294 + }, 295 + { 296 + "<leader>sR", 297 + function() 298 + Snacks.picker.resume() 299 + end, 300 + desc = "Resume", 301 + }, 302 + { 303 + "<leader>su", 304 + function() 305 + Snacks.picker.undo() 306 + end, 307 + desc = "Undo History", 308 + }, 309 + { 310 + "<leader>uC", 311 + function() 312 + Snacks.picker.colorschemes() 313 + end, 314 + desc = "Colorschemes", 315 + }, 316 + -- LSP 317 + { 318 + "gd", 319 + function() 320 + Snacks.picker.lsp_definitions() 321 + end, 322 + desc = "Goto Definition", 323 + }, 324 + { 325 + "gD", 326 + function() 327 + Snacks.picker.lsp_declarations() 328 + end, 329 + desc = "Goto Declaration", 330 + }, 331 + { 332 + "gr", 333 + function() 334 + Snacks.picker.lsp_references() 335 + end, 336 + nowait = true, 337 + desc = "References", 338 + }, 339 + { 340 + "gI", 341 + function() 342 + Snacks.picker.lsp_implementations() 343 + end, 344 + desc = "Goto Implementation", 345 + }, 346 + { 347 + "gy", 348 + function() 349 + Snacks.picker.lsp_type_definitions() 350 + end, 351 + desc = "Goto T[y]pe Definition", 352 + }, 353 + { 354 + "<leader>ss", 355 + function() 356 + Snacks.picker.lsp_symbols() 357 + end, 358 + desc = "LSP Symbols", 359 + }, 360 + { 361 + "<leader>sS", 362 + function() 363 + Snacks.picker.lsp_workspace_symbols() 364 + end, 365 + desc = "LSP Workspace Symbols", 366 + }, 367 + -- Other 368 + { 369 + "<leader>z", 370 + function() 371 + Snacks.zen() 372 + end, 373 + desc = "Toggle Zen Mode", 374 + }, 375 + { 376 + "<leader>Z", 377 + function() 378 + Snacks.zen.zoom() 379 + end, 380 + desc = "Toggle Zoom", 381 + }, 382 + { 383 + "<leader>.", 384 + function() 385 + Snacks.scratch() 386 + end, 387 + desc = "Toggle Scratch Buffer", 388 + }, 389 + { 390 + "<leader>S", 391 + function() 392 + Snacks.scratch.select() 393 + end, 394 + desc = "Select Scratch Buffer", 395 + }, 396 + { 397 + "<leader>n", 398 + function() 399 + Snacks.notifier.show_history() 400 + end, 401 + desc = "Notification History", 402 + }, 403 + { 404 + "<leader>bd", 405 + function() 406 + Snacks.bufdelete() 407 + end, 408 + desc = "Delete Buffer", 409 + }, 410 + { 411 + "<leader>cR", 412 + function() 413 + Snacks.rename.rename_file() 414 + end, 415 + desc = "Rename File", 416 + }, 417 + { 418 + "<leader>gB", 419 + function() 420 + Snacks.gitbrowse() 421 + end, 422 + desc = "Git Browse", 423 + mode = { "n", "v" }, 424 + }, 425 + { 426 + "<leader>gg", 427 + function() 428 + Snacks.lazygit() 429 + end, 430 + desc = "Lazygit", 431 + }, 432 + { 433 + "<leader>un", 434 + function() 435 + Snacks.notifier.hide() 436 + end, 437 + desc = "Dismiss All Notifications", 438 + }, 439 + { 440 + "<c-/>", 441 + function() 442 + Snacks.terminal() 443 + end, 444 + desc = "Toggle Terminal", 445 + }, 446 + { 447 + "<c-_>", 448 + function() 449 + Snacks.terminal() 450 + end, 451 + desc = "which_key_ignore", 452 + }, 453 + { 454 + "]]", 455 + function() 456 + Snacks.words.jump(vim.v.count1) 457 + end, 458 + desc = "Next Reference", 459 + mode = { "n", "t" }, 460 + }, 461 + { 462 + "[[", 463 + function() 464 + Snacks.words.jump(-vim.v.count1) 465 + end, 466 + desc = "Prev Reference", 467 + mode = { "n", "t" }, 468 + }, 469 + { 470 + "<leader>N", 471 + desc = "Neovim News", 472 + function() 473 + Snacks.win({ 474 + file = vim.api.nvim_get_runtime_file("doc/news.txt", false)[1], 475 + width = 0.6, 476 + height = 0.6, 477 + wo = { 478 + spell = false, 479 + wrap = false, 480 + signcolumn = "yes", 481 + statuscolumn = " ", 482 + conceallevel = 3, 483 + }, 484 + }) 485 + end, 486 + }, 487 + { "<leader>Q", "<cmd>qa!<CR>", desc = "Quit" }, 487 488 }
+1 -1
modules/vic/dots/config/nvim/lua/plugins/tv.lua
··· 1 1 return { 2 - { 'prabirshrestha/tv.vim' } 2 + { "prabirshrestha/tv.vim" }, 3 3 }
+51 -51
modules/vic/dots/config/nvim/lua/plugins/which-key.lua
··· 13 13 -- after the plugin has been loaded as `require(MODULE).setup(opts)`. 14 14 15 15 return { 16 - { -- Useful plugin to show you pending keybinds. 17 - 'folke/which-key.nvim', 18 - event = 'VimEnter', -- Sets the loading event to 'VimEnter' 19 - opts = { 20 - -- delay between pressing a key and opening which-key (milliseconds) 21 - -- this setting is independent of vim.o.timeoutlen 22 - delay = 0, 23 - icons = { 24 - -- set icon mappings to true if you have a Nerd Font 25 - mappings = vim.g.have_nerd_font, 26 - -- If you are using a Nerd Font: set icons.keys to an empty table which will use the 27 - -- default which-key.nvim defined Nerd Font icons, otherwise define a string table 28 - keys = vim.g.have_nerd_font and {} or { 29 - Up = '<Up> ', 30 - Down = '<Down> ', 31 - Left = '<Left> ', 32 - Right = '<Right> ', 33 - C = '<C-…> ', 34 - M = '<M-…> ', 35 - D = '<D-…> ', 36 - S = '<S-…> ', 37 - CR = '<CR> ', 38 - Esc = '<Esc> ', 39 - ScrollWheelDown = '<ScrollWheelDown> ', 40 - ScrollWheelUp = '<ScrollWheelUp> ', 41 - NL = '<NL> ', 42 - BS = '<BS> ', 43 - Space = '<Space> ', 44 - Tab = '<Tab> ', 45 - F1 = '<F1>', 46 - F2 = '<F2>', 47 - F3 = '<F3>', 48 - F4 = '<F4>', 49 - F5 = '<F5>', 50 - F6 = '<F6>', 51 - F7 = '<F7>', 52 - F8 = '<F8>', 53 - F9 = '<F9>', 54 - F10 = '<F10>', 55 - F11 = '<F11>', 56 - F12 = '<F12>', 57 - }, 58 - }, 16 + { -- Useful plugin to show you pending keybinds. 17 + "folke/which-key.nvim", 18 + event = "VimEnter", -- Sets the loading event to 'VimEnter' 19 + opts = { 20 + -- delay between pressing a key and opening which-key (milliseconds) 21 + -- this setting is independent of vim.o.timeoutlen 22 + delay = 0, 23 + icons = { 24 + -- set icon mappings to true if you have a Nerd Font 25 + mappings = vim.g.have_nerd_font, 26 + -- If you are using a Nerd Font: set icons.keys to an empty table which will use the 27 + -- default which-key.nvim defined Nerd Font icons, otherwise define a string table 28 + keys = vim.g.have_nerd_font and {} or { 29 + Up = "<Up> ", 30 + Down = "<Down> ", 31 + Left = "<Left> ", 32 + Right = "<Right> ", 33 + C = "<C-…> ", 34 + M = "<M-…> ", 35 + D = "<D-…> ", 36 + S = "<S-…> ", 37 + CR = "<CR> ", 38 + Esc = "<Esc> ", 39 + ScrollWheelDown = "<ScrollWheelDown> ", 40 + ScrollWheelUp = "<ScrollWheelUp> ", 41 + NL = "<NL> ", 42 + BS = "<BS> ", 43 + Space = "<Space> ", 44 + Tab = "<Tab> ", 45 + F1 = "<F1>", 46 + F2 = "<F2>", 47 + F3 = "<F3>", 48 + F4 = "<F4>", 49 + F5 = "<F5>", 50 + F6 = "<F6>", 51 + F7 = "<F7>", 52 + F8 = "<F8>", 53 + F9 = "<F9>", 54 + F10 = "<F10>", 55 + F11 = "<F11>", 56 + F12 = "<F12>", 57 + }, 58 + }, 59 59 60 - -- Document existing key chains 61 - spec = { 62 - -- { '<leader>s', group = '[S]earch' }, 63 - -- { '<leader>t', group = '[T]oggle' }, 64 - -- { '<leader>h', group = 'Git [H]unk', mode = { 'n', 'v' } }, 65 - }, 66 - }, 67 - }, 60 + -- Document existing key chains 61 + spec = { 62 + -- { '<leader>s', group = '[S]earch' }, 63 + -- { '<leader>t', group = '[T]oggle' }, 64 + -- { '<leader>h', group = 'Git [H]unk', mode = { 'n', 'v' } }, 65 + }, 66 + }, 67 + }, 68 68 } 69 69 -- vim: ts=2 sts=2 sw=2 et
+2 -2
modules/vic/dots/config/nvim/lua/prelude.lua
··· 1 - vim.g.mapleader = ' ' 2 - vim.g.maplocalleader = ' ' 1 + vim.g.mapleader = " " 2 + vim.g.maplocalleader = " " 3 3 vim.g.have_nerd_font = not vim.g.vscode