diff options
Diffstat (limited to 'store/config/nvim/lua/setup')
| -rw-r--r-- | store/config/nvim/lua/setup/lsp.lua | 45 | ||||
| -rw-r--r-- | store/config/nvim/lua/setup/plugins/conform.lua | 17 | ||||
| -rw-r--r-- | store/config/nvim/lua/setup/plugins/init.lua | 1 | 
3 files changed, 41 insertions, 22 deletions
diff --git a/store/config/nvim/lua/setup/lsp.lua b/store/config/nvim/lua/setup/lsp.lua index 6a58759..4216f1c 100644 --- a/store/config/nvim/lua/setup/lsp.lua +++ b/store/config/nvim/lua/setup/lsp.lua @@ -22,15 +22,23 @@ local function setup_clangd()      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>ClangdSwitchSourceHeader<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() @@ -55,6 +63,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) @@ -67,10 +80,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      }) @@ -78,6 +103,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..8f1346b 100644 --- a/store/config/nvim/lua/setup/plugins/init.lua +++ b/store/config/nvim/lua/setup/plugins/init.lua @@ -15,7 +15,6 @@ local function 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 {}  end  | 
