diff --git a/dots/nvim/init.lua b/dots/nvim/init.lua index 5c2edb7e..c89ae6c4 100644 --- a/dots/nvim/init.lua +++ b/dots/nvim/init.lua @@ -72,6 +72,8 @@ require("lazy").setup({ -- { "tris203/precognition.nvim", event = "VeryLazy", opts = {} }, -- fancy -- { 'rasulomaroff/reactive.nvim' }, + --- todo list + { "folke/todo-comments.nvim", dependencies = { "nvim-lua/plenary.nvim" }, opts = {} }, --- rainbow indents { "HiPhish/rainbow-delimiters.nvim", event = { "BufReadPre", "BufNewFile" }, }, { "lukas-reineke/indent-blankline.nvim", @@ -94,6 +96,8 @@ require("lazy").setup({ current_line_blame = true, watch_gitdir = { follow_files = true }, }}, + --- tiling window management + { "nvim-focus/focus.nvim", event = { "VeryLazy" }, }, --- notifications { "rcarriga/nvim-notify", event = "VeryLazy", opts = { stages = "static", render = "compact" } }, -- any animations will cause lag over remote connections, especially SSH via iSH on iOS --- UI stuff @@ -117,7 +121,7 @@ require("lazy").setup({ build = ":TSUpdate", config = function() require("nvim-treesitter.configs").setup({ - ensure_installed = { "c", "lua", "vim", "vimdoc", "yaml", "json", "json5", "go", "dockerfile", "fish", "bash", "python", "javascript", "typescript", "html", "css", "nix" }, + ensure_installed = { "c", "lua", "vim", "vimdoc", "yaml", "json", "json5", "go", "dockerfile", "fish", "bash", "python", "javascript", "typescript", "html", "css", "nix", "elixir" }, --ensure_installed = 'all', ignore_install = { 'org' }, -- nvim-orgmode compatibility sync_install = false, @@ -134,7 +138,7 @@ require("lazy").setup({ --- auto brackets { 'windwp/nvim-autopairs', event = "InsertEnter", opts = {}, }, --- folding - { "kevinhwang91/nvim-ufo", dependencies = { "kevinhwang91/promise-async" }, event = { "BufReadPre", "BufNewFile" }, opts = { + { "kevinhwang91/nvim-ufo", dependencies = { "kevinhwang91/promise-async" }, event = { "BufReadPre", "BufNewFile", "FileType" }, opts = { provider_selector = function(bufnr, filetype, buftype) return { "treesitter", "indent" } -- LSP takes too long to init end @@ -374,6 +378,14 @@ require("lazy").setup({ select = { 'Renovate', 'GitHub Workflow Template Properties' + }, + extra = { + { + name = 'QMK keyboard.json', + description = 'QMK Keyboard Data Driven Configuration', + fileMatch = 'keyboard.json', + url = 'https://raw.githubusercontent.com/qmk/qmk_firmware/refs/heads/master/data/schemas/keyboard.jsonschema', + } } }), } @@ -388,6 +400,15 @@ require("lazy").setup({ lsp.vtsls.setup{capabilities = caps(),} lsp.ruff.setup{capabilities = caps(),} lsp.basedpyright.setup{capabilities = caps(),} + if vim.fn.executable('elixir') then lsp.elixirls.setup{capabilities = caps(),} end + lsp.clangd.setup({ + capabilities = caps(), + on_attach = function(client, _) client.server_capabilities.semanticTokensProvider = nil; end -- disable syntax highlighting + -- init_options = { + -- fallbackFlags = { '-I ' .. os.getenv("CLANGD_FALLBACK_INCLUDES") }, + -- }, + }) + -- if vim.fn.executable('ccls') then lsp.ccls.setup{capabilities = caps(),} end if vim.fn.executable('cargo') then lsp.nil_ls.setup{capabilities = caps(),} end if vim.fn.executable('nixd') == 1 and vim.fn.executable('nixfmt') then lsp.nixd.setup{capabilities = caps(),} end --- show filetype on buffer switch diff --git a/dots/nvim/lazy-lock.json b/dots/nvim/lazy-lock.json index fe5a34d6..d0ded4f7 100644 --- a/dots/nvim/lazy-lock.json +++ b/dots/nvim/lazy-lock.json @@ -11,6 +11,7 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "focus.nvim": { "branch": "master", "commit": "d76338e58e49f844e8f6a7aff16a74a2a55a80ef" }, "gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" }, "go.nvim": { "branch": "master", "commit": "c6d5ca26377d01c4de1f7bff1cd62c8b43baa6bc" }, "headlines.nvim": { "branch": "master", "commit": "bf17c96a836ea27c0a7a2650ba385a7783ed322e" }, @@ -35,12 +36,12 @@ "org-bullets.nvim": { "branch": "main", "commit": "46ae687e22192fb806b5977d664ec98af9cf74f6" }, "orgmode": { "branch": "master", "commit": "1d8c9b9417f8c8e9fb146d4f54fb1e90a4f7e534" }, "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, - "precognition.nvim": { "branch": "main", "commit": "24f2cc51dccecec4cf3de04bfbd14f5b9e79df0b" }, "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, "rainbow-delimiters.nvim": { "branch": "master", "commit": "d803ba7668ba390aa4cfd3580183c982cac36fd8" }, "schemastore.nvim": { "branch": "main", "commit": "80b0243371163258e6eb3f0932f717b2d732b64e" }, "telescope.nvim": { "branch": "master", "commit": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc" }, "tiny-inline-diagnostic.nvim": { "branch": "main", "commit": "cec1cee1e25bbb2cbc588d40a460953012595479" }, + "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, "trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" }, "vim-caddyfile": { "branch": "master", "commit": "24fe0720551883e407cb70ae1d7c03f162d1d5a0" }, "which-key.nvim": { "branch": "main", "commit": "9b365a6428a9633e3eeb34dbef1b791511c54f70" },