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 opt = vim.opt
|
||||||
local indent = 2
|
local indent = 2
|
||||||
opt.termguicolors = true -- Enable colors in terminal
|
opt.termguicolors = true -- Enable colors in terminal
|
||||||
opt.hlsearch = true --Set highlight on search
|
opt.hlsearch = true --Set highlight on search
|
||||||
opt.number = true --Make line numbers default
|
opt.number = true --Make line numbers default
|
||||||
opt.relativenumber = false --Make relative number default
|
opt.relativenumber = false --Make relative number default
|
||||||
opt.mouse = 'a' --Enable mouse mode
|
opt.mouse = 'a' --Enable mouse mode
|
||||||
opt.breakindent = true --Enable break indent
|
opt.breakindent = true --Enable break indent
|
||||||
opt.undofile = true --Save undo history
|
opt.undofile = true --Save undo history
|
||||||
opt.ignorecase = true --Case insensitive searching unless /C or capital in search
|
opt.ignorecase = true --Case insensitive searching unless /C or capital in search
|
||||||
opt.smartcase = true -- Smart case
|
opt.smartcase = true -- Smart case
|
||||||
opt.updatetime = 300 --Decrease update time
|
opt.updatetime = 300 --Decrease update time
|
||||||
opt.signcolumn = 'yes' -- Always show sign column
|
opt.signcolumn = 'yes' -- Always show sign column
|
||||||
opt.timeoutlen = 300 -- Time in milliseconds to wait for a mapped sequence to complete.
|
opt.timeoutlen = 300 -- Time in milliseconds to wait for a mapped sequence to complete.
|
||||||
opt.ttimeoutlen = 10
|
opt.ttimeoutlen = 10
|
||||||
opt.showmode = false -- Do not need to show the mode. We use the statusline instead.
|
opt.showmode = false -- Do not need to show the mode. We use the statusline instead.
|
||||||
opt.scrolloff = 999 -- Lines of context
|
opt.scrolloff = 999 -- Lines of context
|
||||||
opt.joinspaces = false -- No double spaces with join after a dot
|
opt.joinspaces = false -- No double spaces with join after a dot
|
||||||
opt.showmatch = true -- Show matching braces
|
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.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.list = true
|
||||||
opt.hidden = true
|
opt.hidden = true
|
||||||
opt.scrolloff = 4
|
opt.scrolloff = 4
|
||||||
@ -107,6 +107,18 @@ opt.foldmethod = 'expr'
|
|||||||
opt.foldexpr = 'nvim_treesitter#foldexpr()'
|
opt.foldexpr = 'nvim_treesitter#foldexpr()'
|
||||||
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
|
-- Window border for floating windows
|
||||||
require('lspconfig.ui.windows').default_options.border = 'rounded'
|
require('lspconfig.ui.windows').default_options.border = 'rounded'
|
||||||
|
|
||||||
|
@ -99,6 +99,38 @@ local on_attach = function(client, bufnr)
|
|||||||
end
|
end
|
||||||
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 {
|
return {
|
||||||
'neovim/nvim-lspconfig',
|
'neovim/nvim-lspconfig',
|
||||||
dependencies = {
|
dependencies = {
|
||||||
@ -278,48 +310,7 @@ return {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
local prettier = require('efmls-configs.formatters.prettier')
|
efm_setup(capabilities)
|
||||||
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,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
end,
|
||||||
event = 'VeryLazy',
|
event = 'VeryLazy',
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user