refactor lspconfig
This commit is contained in:
parent
48e0a8f399
commit
0a23e9529e
@ -3,24 +3,24 @@ vim.cmd('language en_US.utf-8')
|
||||
|
||||
local opt = vim.opt
|
||||
local indent = 2
|
||||
opt.termguicolors = true -- Enable colors in terminal
|
||||
opt.hlsearch = true --Set highlight on search
|
||||
opt.number = true --Make line numbers default
|
||||
opt.termguicolors = true -- Enable colors in terminal
|
||||
opt.hlsearch = true --Set highlight on search
|
||||
opt.number = true --Make line numbers default
|
||||
opt.relativenumber = false --Make relative number default
|
||||
opt.mouse = 'a' --Enable mouse mode
|
||||
opt.breakindent = true --Enable break indent
|
||||
opt.undofile = true --Save undo history
|
||||
opt.ignorecase = true --Case insensitive searching unless /C or capital in search
|
||||
opt.smartcase = true -- Smart case
|
||||
opt.updatetime = 300 --Decrease update time
|
||||
opt.signcolumn = 'yes' -- Always show sign column
|
||||
opt.timeoutlen = 300 -- Time in milliseconds to wait for a mapped sequence to complete.
|
||||
opt.mouse = 'a' --Enable mouse mode
|
||||
opt.breakindent = true --Enable break indent
|
||||
opt.undofile = true --Save undo history
|
||||
opt.ignorecase = true --Case insensitive searching unless /C or capital in search
|
||||
opt.smartcase = true -- Smart case
|
||||
opt.updatetime = 300 --Decrease update time
|
||||
opt.signcolumn = 'yes' -- Always show sign column
|
||||
opt.timeoutlen = 300 -- Time in milliseconds to wait for a mapped sequence to complete.
|
||||
opt.ttimeoutlen = 10
|
||||
opt.showmode = false -- Do not need to show the mode. We use the statusline instead.
|
||||
opt.scrolloff = 999 -- Lines of context
|
||||
opt.joinspaces = false -- No double spaces with join after a dot
|
||||
opt.showmatch = true -- Show matching braces
|
||||
opt.wrap = true -- When on, lines longer than the width of the window will wrap and displaying continues on the next line
|
||||
opt.showmode = false -- Do not need to show the mode. We use the statusline instead.
|
||||
opt.scrolloff = 999 -- Lines of context
|
||||
opt.joinspaces = false -- No double spaces with join after a dot
|
||||
opt.showmatch = true -- Show matching braces
|
||||
opt.wrap = true -- When on, lines longer than the width of the window will wrap and displaying continues on the next line
|
||||
opt.list = true
|
||||
opt.hidden = true
|
||||
opt.scrolloff = 4
|
||||
@ -107,6 +107,18 @@ opt.foldmethod = 'expr'
|
||||
opt.foldexpr = 'nvim_treesitter#foldexpr()'
|
||||
opt.foldexpr = 'nvim_treesitter#foldexpr()'
|
||||
|
||||
vim.diagnostic.config({
|
||||
virtual_text = false,
|
||||
signs = true,
|
||||
float = {
|
||||
border = 'single',
|
||||
format = function(diagnostic)
|
||||
return string.format('%s (%s) [%s]', diagnostic.message, diagnostic.source,
|
||||
diagnostic.code or diagnostic.user_data.lsp.code)
|
||||
end,
|
||||
},
|
||||
})
|
||||
|
||||
-- Window border for floating windows
|
||||
require('lspconfig.ui.windows').default_options.border = 'rounded'
|
||||
|
||||
|
@ -99,6 +99,38 @@ local on_attach = function(client, bufnr)
|
||||
end
|
||||
end
|
||||
|
||||
local efm_setup = function(capabilities)
|
||||
local prettier = require('efmls-configs.formatters.prettier')
|
||||
local stylua = require('efmls-configs.formatters.stylua')
|
||||
local gersemi = require('efmls-configs.formatters.gersemi')
|
||||
local black = require('efmls-configs.formatters.black')
|
||||
local isort = require('efmls-configs.formatters.isort')
|
||||
local cmake_lint = require('efmls-configs.linters.cmake_lint')
|
||||
local flake8 = require('efmls-configs.linters.flake8')
|
||||
local languages = {
|
||||
lua = { stylua },
|
||||
markdown = { prettier },
|
||||
cmake = { gersemi, cmake_lint },
|
||||
python = { isort, black, flake8 },
|
||||
}
|
||||
|
||||
local efmls_config = {
|
||||
-- filetypes = vim.tbl_keys(languages),
|
||||
settings = {
|
||||
rootMarkers = { '.git/' },
|
||||
languages = languages,
|
||||
},
|
||||
init_options = {
|
||||
documentFormatting = true,
|
||||
documentRangeFormatting = true,
|
||||
},
|
||||
}
|
||||
require('lspconfig').efm.setup(vim.tbl_extend('force', efmls_config, {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}))
|
||||
end
|
||||
|
||||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
dependencies = {
|
||||
@ -278,48 +310,7 @@ return {
|
||||
},
|
||||
})
|
||||
|
||||
local prettier = require('efmls-configs.formatters.prettier')
|
||||
local stylua = require('efmls-configs.formatters.stylua')
|
||||
local gersemi = require('efmls-configs.formatters.gersemi')
|
||||
local black = require('efmls-configs.formatters.black')
|
||||
local isort = require('efmls-configs.formatters.isort')
|
||||
local cmake_lint = require('efmls-configs.linters.cmake_lint')
|
||||
local flake8 = require('efmls-configs.linters.flake8')
|
||||
local languages = {
|
||||
lua = { stylua },
|
||||
markdown = { prettier },
|
||||
cmake = { gersemi, cmake_lint },
|
||||
python = { isort, black, flake8 },
|
||||
}
|
||||
|
||||
local efmls_config = {
|
||||
-- filetypes = vim.tbl_keys(languages),
|
||||
settings = {
|
||||
rootMarkers = { '.git/' },
|
||||
languages = languages,
|
||||
},
|
||||
init_options = {
|
||||
documentFormatting = true,
|
||||
documentRangeFormatting = true,
|
||||
},
|
||||
}
|
||||
|
||||
require('lspconfig').efm.setup(vim.tbl_extend('force', efmls_config, {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}))
|
||||
|
||||
vim.diagnostic.config({
|
||||
virtual_text = false,
|
||||
signs = true,
|
||||
float = {
|
||||
border = 'single',
|
||||
format = function(diagnostic)
|
||||
return string.format('%s (%s) [%s]', diagnostic.message, diagnostic.source,
|
||||
diagnostic.code or diagnostic.user_data.lsp.code)
|
||||
end,
|
||||
},
|
||||
})
|
||||
efm_setup(capabilities)
|
||||
end,
|
||||
event = 'VeryLazy',
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user