summaryrefslogtreecommitdiff
path: root/nvim/lua/config/lsp.lua
blob: 95e564ce0eebab6193263843c234db3a8c082403 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
vim.api.nvim_create_autocmd('LspAttach', {
  callback = function(args)
    local client = vim.lsp.get_client_by_id(args.data.client_id)
    if client ~= nil and client:supports_method('textDocument/foldingRange') then
      local win = vim.api.nvim_get_current_win()
      vim.wo[win].foldexpr = 'v:lua.vim.lsp.foldexpr()'
      vim.wo[win].foldmethod = 'expr'
    end
  end,
})

vim.api.nvim_create_autocmd("BufWritePre", {
  pattern = "*",
  callback = function() vim.lsp.buf.format() end,
})

vim.lsp.enable(
  'lua_ls',
  'basedpyright',
  'rust-analyzer'
)

vim.diagnostic.config({ virtual_text = false })