refactor: restructure init.lua to use lazy plugin manager and add lsp configurations
This commit is contained in:
119 files changed
+2201
-18000
No files matched your search
@@ -0,0 +1,135 @@
|
||||
--------------------------------------------------------------------------------
|
||||
-- LSP
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
-- ts_ls
|
||||
vim.lsp.config("ts_ls", {
|
||||
settings = {
|
||||
typescript = {
|
||||
inlayHints = {
|
||||
includeInlayParameterNameHints = "all",
|
||||
includeInlayParameterNameHintsWhenArgumentMatchesName = false,
|
||||
includeInlayFunctionParameterTypeHints = true,
|
||||
includeInlayVariableTypeHints = true,
|
||||
includeInlayPropertyDeclarationTypeHints = true,
|
||||
includeInlayFunctionLikeReturnTypeHints = true,
|
||||
includeInlayEnumMemberValueHints = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
vim.lsp.enable("ts_ls")
|
||||
|
||||
-- rust
|
||||
vim.lsp.config("rust_analyzer", {
|
||||
settings = {
|
||||
["rust-analyzer"] = {
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
experimental = { enable = true },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
vim.lsp.enable("rust_analyzer")
|
||||
|
||||
-- lua
|
||||
vim.lsp.config("lua_ls", {
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
disable = {
|
||||
"missing-fields",
|
||||
"undefined-global",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
vim.lsp.enable("lua_ls")
|
||||
|
||||
-- python
|
||||
vim.lsp.config("basedpyright", {
|
||||
settings = {
|
||||
basedpyright = {
|
||||
inlayHints = true,
|
||||
disableDiagnostics = true,
|
||||
disableOrganizeImports = true,
|
||||
analysis = {
|
||||
-- Ignore all files for analysis to exclusively use Ruff for linting
|
||||
-- Enable diagnostics
|
||||
-- ignore = { "*" },
|
||||
diagnosticSeverityOverrides = {
|
||||
reportUnusedImport = "none",
|
||||
reportUnusedVariable = "none",
|
||||
reportAttributeAccessIssue = "none",
|
||||
reportUnusedClass = "none",
|
||||
reportUnusedFunction = "none",
|
||||
reportDuplicateImport = "none",
|
||||
reportArgumentType = "error",
|
||||
},
|
||||
typeCheckingMode = "basic",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
vim.lsp.enable("basedpyright")
|
||||
|
||||
vim.lsp.config("pylsp", {
|
||||
settings = {
|
||||
pylsp = {
|
||||
plugins = {
|
||||
-- use black as default formatter
|
||||
yapf = { enabled = false },
|
||||
autopep8 = { enabled = false },
|
||||
black = { enabled = true },
|
||||
pycodestyle = {
|
||||
enabled = true,
|
||||
ignore = { "E203", "E701", "W503" },
|
||||
maxLineLength = 88,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- latex
|
||||
vim.lsp.config("texlab", {
|
||||
settings = {
|
||||
texlab = {
|
||||
build = {
|
||||
executable = "latexmk",
|
||||
args = {
|
||||
"-lualatex",
|
||||
"-interaction=nonstopmode",
|
||||
"-outdir=build",
|
||||
},
|
||||
onSave = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
vim.lsp.enable("texlab")
|
||||
|
||||
-- bash
|
||||
vim.lsp.config("bashls", {
|
||||
settings = {
|
||||
bashIde = {
|
||||
shellcheckArguments = {
|
||||
"--exclude=SC1090,SC1091,SC2076,SC2164",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
vim.lsp.enable("bashls")
|
||||
|
||||
-- cpp
|
||||
vim.lsp.config("clangd", {
|
||||
cmd = {
|
||||
"clangd",
|
||||
"--fallback-style=llvm",
|
||||
"--header-insertion=iwyu",
|
||||
"-j=4",
|
||||
},
|
||||
})
|
||||
vim.lsp.enable("clangd")
|
||||
Reference in new issue
Block a user