diff options
Diffstat (limited to 'store/config/nvim/lua')
| -rw-r--r-- | store/config/nvim/lua/plugins.lua | 3 | ||||
| -rw-r--r-- | store/config/nvim/lua/setup/init.lua | 5 | ||||
| -rw-r--r-- | store/config/nvim/lua/setup/lsp.lua | 56 | ||||
| -rw-r--r-- | store/config/nvim/lua/setup/plugins/conform.lua | 17 | ||||
| -rw-r--r-- | store/config/nvim/lua/setup/plugins/init.lua | 3 | ||||
| -rw-r--r-- | store/config/nvim/lua/setup/plugins/lint.lua | 2 | ||||
| -rw-r--r-- | store/config/nvim/lua/setup/win.lua | 1 |
7 files changed, 49 insertions, 38 deletions
diff --git a/store/config/nvim/lua/plugins.lua b/store/config/nvim/lua/plugins.lua index 8458575..b511c5a 100644 --- a/store/config/nvim/lua/plugins.lua +++ b/store/config/nvim/lua/plugins.lua @@ -31,11 +31,12 @@ return { dependencies = { 'nvim-lua/plenary.nvim' } }, { "lewis6991/gitsigns.nvim" }, + { "sindrets/diffview.nvim" }, { "hrsh7th/nvim-cmp" }, { "hrsh7th/cmp-nvim-lsp" }, { "hrsh7th/cmp-buffer" }, { "hrsh7th/cmp-path" }, + { "echasnovski/mini.bufremove" }, { "windwp/nvim-autopairs" }, { "mfussenegger/nvim-lint" }, - { 'stevearc/conform.nvim' } } diff --git a/store/config/nvim/lua/setup/init.lua b/store/config/nvim/lua/setup/init.lua index ec8c8d4..d5522d2 100644 --- a/store/config/nvim/lua/setup/init.lua +++ b/store/config/nvim/lua/setup/init.lua @@ -1,5 +1,3 @@ --- spellchecker: words termguicolors - local function close_float() local wins = vim.api.nvim_list_wins() for _, v in ipairs(wins) do @@ -24,6 +22,9 @@ local function setup() vim.keymap.set("n", "<c-tab>", "<cmd>bnext<cr>") vim.keymap.set("n", "<c-s-tab>", "<cmd>bNext<cr>") vim.keymap.set("n", "<esc>", close_float) + vim.keymap.set("n", "<C-q>", function () + require("mini.bufremove").delete() + end) vim.keymap.set('t', '<A-n>', '<C-\\><C-n>') vim.keymap.set('t', '<A-p>', function() local register = vim.fn.input("Enter register: ") diff --git a/store/config/nvim/lua/setup/lsp.lua b/store/config/nvim/lua/setup/lsp.lua index a11ad34..45aa100 100644 --- a/store/config/nvim/lua/setup/lsp.lua +++ b/store/config/nvim/lua/setup/lsp.lua @@ -1,5 +1,3 @@ --- spellchecker: words denols luals - vim.lsp.config("*", { capabilities = vim.tbl_extend("force", vim.lsp.protocol.make_client_capabilities(), @@ -15,24 +13,23 @@ local function client_name_is(ev, name) end local function setup_clangd() - local clangd = "clangd" - local brew_clangd_path = "/usr/local/opt/llvm/bin/clangd" - - if vim.uv.fs_stat(brew_clangd_path) ~= nil then - clangd = brew_clangd_path - end - - vim.lsp.config("clangd", { cmd = { clangd } }) - - vim.api.nvim_create_autocmd('LspAttach', { + vim.api.nvim_create_autocmd("LspAttach", { callback = function(ev) if client_name_is(ev, "clangd") then - vim.keymap.set('n', 'grs', "<cmd>ClangdSwitchSourceHeader<cr>", { + vim.keymap.set("n", "grs", "<cmd>LspClangdSwitchSourceHeader<cr>", { buffer = ev.buf }) end end }) + + vim.api.nvim_create_autocmd("LspDetach", { + callback = function(ev) + if client_name_is(ev, "clangd") then + vim.keymap.del("n", "grs", { buffer = ev.buf }) + end + end + }) end local function setup_lua_ls() @@ -57,6 +54,11 @@ local function setup_lua_ls() }) end +function vim.crupest.no_range_format() + print("Lsp doesn't support range formatting. Use gqa to format the whole document.") + return 0 +end + local function setup_denols() vim.lsp.config("denols", { root_dir = function(bufnr, on_dir) @@ -69,10 +71,22 @@ local function setup_denols() end, }) - vim.api.nvim_create_autocmd('LspAttach', { + vim.api.nvim_create_autocmd("LspAttach", { + callback = function(ev) + if client_name_is(ev, "denols") then + vim.api.nvim_set_option_value( + "formatexpr", + "v:lua.vim.crupest.no_range_format()", + { buf = ev.buf } + ) + end + end + }) + + vim.api.nvim_create_autocmd("LspDetach", { callback = function(ev) if client_name_is(ev, "denols") then - vim.o.formatexpr = "v:lua.require'conform'.formatexpr()" + vim.api.nvim_set_option_value("formatexpr", "", { buf = ev.buf }) end end }) @@ -80,6 +94,18 @@ end local function setup() + vim.api.nvim_create_autocmd("LspAttach", { + callback = function(ev) + vim.keymap.set("n", "gqa", vim.lsp.buf.format, { buffer = ev.buf }) + end + }) + + vim.api.nvim_create_autocmd("LspDetach", { + callback = function(ev) + vim.keymap.del("n", "gqa", { buffer = ev.buf }) + end + }) + setup_clangd() setup_lua_ls() setup_denols() diff --git a/store/config/nvim/lua/setup/plugins/conform.lua b/store/config/nvim/lua/setup/plugins/conform.lua deleted file mode 100644 index 57b74a9..0000000 --- a/store/config/nvim/lua/setup/plugins/conform.lua +++ /dev/null @@ -1,17 +0,0 @@ -local function setup() - require("conform").setup({ - formatters_by_ft = { - javascript = { "prettierd", "prettier", stop_after_first = true }, - typescript = { "prettierd", "prettier", stop_after_first = true }, - javascriptreact = { "prettierd", "prettier", stop_after_first = true }, - typescriptreact = { "prettierd", "prettier", stop_after_first = true }, - }, - default_format_opts = { - lsp_format = "fallback", - }, - }) -end - -return { - setup = setup -} diff --git a/store/config/nvim/lua/setup/plugins/init.lua b/store/config/nvim/lua/setup/plugins/init.lua index 88eca4f..ac99886 100644 --- a/store/config/nvim/lua/setup/plugins/init.lua +++ b/store/config/nvim/lua/setup/plugins/init.lua @@ -12,12 +12,13 @@ local function setup() require("setup.plugins.telescope").setup() require("setup.plugins.gitsigns").setup() + require("diffview").setup {} require("setup.plugins.tree-sitter").setup() require("setup.plugins.lint").setup() - require("setup.plugins.conform").setup() require("setup.plugins.cmp").setup() require("nvim-autopairs").setup {} + require('mini.bufremove').setup {} end return { diff --git a/store/config/nvim/lua/setup/plugins/lint.lua b/store/config/nvim/lua/setup/plugins/lint.lua index b33db22..d03f539 100644 --- a/store/config/nvim/lua/setup/plugins/lint.lua +++ b/store/config/nvim/lua/setup/plugins/lint.lua @@ -1,4 +1,4 @@ ---- spellchecker: words markdownlintrc +--- spellchecker: ignore markdownlintrc ---@alias CruLinter { name: string, config_patterns: string[], filetypes: string[] | nil, fast: boolean } diff --git a/store/config/nvim/lua/setup/win.lua b/store/config/nvim/lua/setup/win.lua index 90e168a..9aa979d 100644 --- a/store/config/nvim/lua/setup/win.lua +++ b/store/config/nvim/lua/setup/win.lua @@ -1,4 +1,3 @@ --- spellchecker: words pwsh -- spellchecker: ignore shellcmdflag shellredir shellpipe shellquote shellxquote local function setup() vim.cmd([[ |
