diff options
| author | triethyl <triethylammonium@pm.me> | 2025-09-27 20:02:16 -0400 |
|---|---|---|
| committer | triethyl <triethylammonium@pm.me> | 2025-09-27 20:02:16 -0400 |
| commit | a1c0ecfba40e028d4d730a561fef322bcee97365 (patch) | |
| tree | d3249d849b2b845cd8c0199532ba1c191f09c7c8 /pkgs | |
| parent | 3399daae1d7baff4be3ae953ae32a9358962ef67 (diff) | |
neovim: bunch of stuff
Diffstat (limited to 'pkgs')
| -rw-r--r-- | pkgs/custom-neovim/config/lua/keymaps.lua | 22 | ||||
| -rw-r--r-- | pkgs/custom-neovim/config/lua/lsp.lua | 11 | ||||
| -rw-r--r-- | pkgs/custom-neovim/config/lua/neovide.lua | 4 | ||||
| -rw-r--r-- | pkgs/custom-neovim/config/lua/plugins/auto-session.lua | 2 | ||||
| -rw-r--r-- | pkgs/custom-neovim/config/lua/plugins/colorschemes.lua | 5 | ||||
| -rw-r--r-- | pkgs/custom-neovim/config/lua/plugins/comment-box.lua | 7 | ||||
| -rw-r--r-- | pkgs/custom-neovim/config/lua/plugins/neo-tree.lua | 9 | ||||
| -rw-r--r-- | pkgs/custom-neovim/config/lua/winbar.lua | 8 | ||||
| -rw-r--r-- | pkgs/custom-neovim/default.nix | 12 | ||||
| -rw-r--r-- | pkgs/custom-neovim/todo.md | 2 |
10 files changed, 74 insertions, 8 deletions
diff --git a/pkgs/custom-neovim/config/lua/keymaps.lua b/pkgs/custom-neovim/config/lua/keymaps.lua index efaa7d7..6c3a3bd 100644 --- a/pkgs/custom-neovim/config/lua/keymaps.lua +++ b/pkgs/custom-neovim/config/lua/keymaps.lua @@ -1,3 +1,7 @@ +-- ╭─────────────────────────────────────────────────────────╮ +-- │ Keymaps │ +-- ╰─────────────────────────────────────────────────────────╯ + -- Create keymap function local mapkey = function(mode, key, desc, action, plugin) local keymapper = plugin and require("lz.n").keymap(plugin).set or vim.keymap.set @@ -11,7 +15,6 @@ vim.g.mapleader = " " mapkey("n", "<leader>f", "Open file picker", ":Pick files<cr>", "mini.pick") mapkey("n", "<leader>o", "Open old file picker", ":Pick oldfiles<cr>", "mini.pick") mapkey("n", "<leader>/", "Open live grep picker", ":Pick grep_live<cr>", "mini.pick") -mapkey("n", "<leader>b", "Open buffer picker", ":Pick buffers<cr>", "mini.pick") mapkey("n", "<leader>k", "Open colorscheme picker", ":Pick colorschemes<cr>", "mini.pick") -- File manager @@ -35,6 +38,23 @@ mapkey("n", "<leader>tT", "Go to previous tab", ":tabp<cr>") mapkey("n", "<leader>to", "Open new tab", ":tabnew<cr>") mapkey("n", "<leader>tc", "Close current tab", ":tabclose<cr>") +-- Buffers +mapkey("n", "<leader>b", "Manage buffers", "") +mapkey("n", "<leader>bb", "Open buffer picker", ":Pick buffers<cr>", "mini.pick") +mapkey("n", "<leader>bc", "Clear invisible buffers", function () + local bufinfos = vim.fn.getbufinfo({buflisted = 1}) + vim.tbl_map(function (bufinfo) + if bufinfo.changed == 0 and (not bufinfo.windows or #bufinfo.windows == 0) then + vim.api.nvim_buf_delete(bufinfo.bufnr, {force = false, unload = false}) + vim.cmd.redrawtabline() + end + end, bufinfos) +end) + +-- Comment box +mapkey("n", "<leader>j", "Manage comment graphics", "") +mapkey("n", "<leader>jb", "Create comment box", ":CB") + -- Session mapkey("n", "<leader>w", "Manage sessions", "") mapkey("n", "<leader>ww", "Open a session", ":Autosession search<cr>", "mini.pick") diff --git a/pkgs/custom-neovim/config/lua/lsp.lua b/pkgs/custom-neovim/config/lua/lsp.lua index 3260bbe..64496f6 100644 --- a/pkgs/custom-neovim/config/lua/lsp.lua +++ b/pkgs/custom-neovim/config/lua/lsp.lua @@ -34,6 +34,17 @@ vim.lsp.config("nixd", { }) vim.lsp.enable("nixd") +-- CC LS +vim.lsp.config("ccls", { + cmd = { 'ccls' }, + filetypes = { 'c', 'cpp', 'objc', 'objcpp', 'cuda' }, + root_markers = { 'compile_commands.json', '.ccls', '.git' }, + offset_encoding = 'utf-32', + -- ccls does not support sending a null root directory + workspace_required = true, +}) +vim.lsp.enable("ccls") + -- LSP Autocommands -- Disable semantic tokens to stop weird highlighting. diff --git a/pkgs/custom-neovim/config/lua/neovide.lua b/pkgs/custom-neovim/config/lua/neovide.lua index 9d648c4..2abfd05 100644 --- a/pkgs/custom-neovim/config/lua/neovide.lua +++ b/pkgs/custom-neovim/config/lua/neovide.lua @@ -1,3 +1,7 @@ +-- ╭─────────────────────────────────────────────────────────╮ +-- │ Neovide Options │ +-- ╰─────────────────────────────────────────────────────────╯ + if vim.g.neovide then vim.o.guifont = "CodeNewRoman Nerd Font:h12" vim.g.neovide_scale_factor = 0.8 diff --git a/pkgs/custom-neovim/config/lua/plugins/auto-session.lua b/pkgs/custom-neovim/config/lua/plugins/auto-session.lua index efbd416..c6aacdc 100644 --- a/pkgs/custom-neovim/config/lua/plugins/auto-session.lua +++ b/pkgs/custom-neovim/config/lua/plugins/auto-session.lua @@ -8,7 +8,7 @@ return { "~/", "/", }, - auto_restore_last_session = true, + -- auto_restore_last_session = true, cwd_change_handling = true, } end diff --git a/pkgs/custom-neovim/config/lua/plugins/colorschemes.lua b/pkgs/custom-neovim/config/lua/plugins/colorschemes.lua index f71c83f..41d3415 100644 --- a/pkgs/custom-neovim/config/lua/plugins/colorschemes.lua +++ b/pkgs/custom-neovim/config/lua/plugins/colorschemes.lua @@ -15,4 +15,9 @@ return { vim.cmd.colorscheme("gruvbox8") end }, + { + "oxocarbon.nvim", + enabled = true, + lazy = false, + } } diff --git a/pkgs/custom-neovim/config/lua/plugins/comment-box.lua b/pkgs/custom-neovim/config/lua/plugins/comment-box.lua new file mode 100644 index 0000000..6d25d0f --- /dev/null +++ b/pkgs/custom-neovim/config/lua/plugins/comment-box.lua @@ -0,0 +1,7 @@ +return { + "comment-box.nvim", + lazy = false, + after = function () + require("comment-box").setup {} + end +} diff --git a/pkgs/custom-neovim/config/lua/plugins/neo-tree.lua b/pkgs/custom-neovim/config/lua/plugins/neo-tree.lua new file mode 100644 index 0000000..572df49 --- /dev/null +++ b/pkgs/custom-neovim/config/lua/plugins/neo-tree.lua @@ -0,0 +1,9 @@ +return { + "neo-tree.nvim", + lazy = true, + cmd = "Neotree"; + before = function () + vim.cmd.packadd("plenary.nvim") + vim.cmd.packadd("nui.nvim") + end +} diff --git a/pkgs/custom-neovim/config/lua/winbar.lua b/pkgs/custom-neovim/config/lua/winbar.lua index 8750ce4..31267a9 100644 --- a/pkgs/custom-neovim/config/lua/winbar.lua +++ b/pkgs/custom-neovim/config/lua/winbar.lua @@ -167,7 +167,13 @@ Winbar_builder = function () end -- Concatentate strings with gaps - return table.concat(winbar_strings, gaps) + local bar = table.concat(winbar_strings, gaps) + + if vim.o.signcolumn then + return " "..bar + end + + return bar end -- Set winbar diff --git a/pkgs/custom-neovim/default.nix b/pkgs/custom-neovim/default.nix index fc99a7d..f58ac1c 100644 --- a/pkgs/custom-neovim/default.nix +++ b/pkgs/custom-neovim/default.nix @@ -35,7 +35,9 @@ in mini-extra mini-icons plenary-nvim # UI library + nui-nvim # Other UI library actions-preview-nvim # Preview lsp actions + neo-tree-nvim # Completion Plugins blink-cmp @@ -49,6 +51,7 @@ in zoxide-vim vim-nix # Indentation for nix files calendar-vim + comment-box-nvim # Git Plugins mini-git @@ -65,17 +68,18 @@ in cellular-automaton-nvim # Fun useless plugin. # Colorschemes - mini-base16 nightfox-nvim vim-gruvbox8 + oxocarbon-nvim ]; }; luaFiles = [./config/init.lua]; extraBinPath = with pkgs; [ # LSP Servers - lua-language-server - marksman - nixd + lua-language-server # LS for Lua + marksman # LS for Markdown + nixd # LS for Nix + ccls # LS for C languages # Extra Utils ripgrep diff --git a/pkgs/custom-neovim/todo.md b/pkgs/custom-neovim/todo.md index f67e47a..48c0b7e 100644 --- a/pkgs/custom-neovim/todo.md +++ b/pkgs/custom-neovim/todo.md @@ -1,9 +1,9 @@ # Todo - make normal keybinds override calendar keybinds -- add box drawing and special comments plugin - make <esc> hide lsp hover from K - add window layout presets +- make LaTeX math in markdown hide in normal mode ## Eventually if Possible |
