123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- vim.diagnostic.config({
- virtual_text = { severity = { min = vim.diagnostic.severity.WARN } }
- })
- local nvim_lsp = require('lspconfig')
- local null_ls = require('null-ls')
- local null_ls_sources = {
- null_ls.builtins.code_actions.gitsigns,
- }
- if vim.fn.executable("node_modules/.bin/eslint") == 1 then
- table.insert(null_ls_sources, null_ls.builtins.formatting.eslint_d)
- table.insert(null_ls_sources, null_ls.builtins.diagnostics.eslint_d)
- table.insert(null_ls_sources, null_ls.builtins.code_actions.eslint_d)
- end
- if vim.fn.executable("gofmt") == 1 then
- table.insert(null_ls_sources, null_ls.builtins.formatting.gofmt)
- end
- if vim.fn.executable("shellcheck") == 1 then
- table.insert(null_ls_sources, null_ls.builtins.diagnostics.shellcheck)
- table.insert(null_ls_sources, null_ls.builtins.code_actions.shellcheck)
- end
- if vim.fn.executable("deno") == 1 then
- nvim_lsp.denols.setup({
- on_attach = on_attach,
- });
- table.insert(null_ls_sources, null_ls.builtins.formatting.deno_fmt);
- end
- if vim.fn.executable("node_modules/.bin/tsc") == 1 then
-
- local ts_utils = require("nvim-lsp-ts-utils")
- nvim_lsp.tsserver.setup({
- init_options = ts_utils.init_options,
- flags = {
- debounce_text_changes = 150,
- },
- on_attach = function(client, bufnr)
-
-
-
- client.resolved_capabilities.document_formatting = false
- client.resolved_capabilities.document_range_formatting = false
-
- ts_utils.setup({
- debug = false,
- disable_commands = false,
- enable_import_on_completion = true,
-
- import_all_timeout = 5000,
-
- import_all_priorities = {
- same_file = 1,
- local_files = 2,
- buffer_content = 3,
- buffers = 4,
- },
- import_all_scan_buffers = 100,
- import_all_select_source = false,
-
- filter_out_diagnostics_by_severity = {},
- filter_out_diagnostics_by_code = {},
-
- auto_inlay_hints = false,
- inlay_hints_highlight = "Comment",
-
- update_imports_on_move = false,
- require_confirmation_on_move = false,
- watch_dir = nil,
- })
-
- ts_utils.setup_client(client)
- on_attach(client, bufnr)
- end,
- })
- end
- if vim.fn.executable("solargraph") == 1 then
- nvim_lsp.solargraph.setup({
- on_attach = on_attach,
- })
- end
- local group = vim.api.nvim_create_augroup('LspFormatting', { clear = false })
- null_ls.setup({
- sources = null_ls_sources,
- on_attach = function(client, bufnr)
-
- if client.resolved_capabilities.document_formatting then
- for key, cmd in pairs(vim.api.nvim_get_autocmds({ group = group, buffer = bufnr })) do
- vim.api.nvim_del_autocmd(cmd.id)
- end
- vim.api.nvim_create_autocmd('BufWritePre', {
- group = group,
- buffer = bufnr,
- callback = vim.lsp.buf.formatting_sync,
- })
- end
- end,
- });
- require('fidget').setup()
|