feat(nvim): typst; tidy language specific configurations
This commit is contained in:
@@ -1,18 +1,4 @@
|
||||
local servers = {
|
||||
"lua_ls",
|
||||
"pyright",
|
||||
"gopls",
|
||||
"clangd",
|
||||
"rust_analyzer",
|
||||
"ts_ls",
|
||||
"jsonls",
|
||||
"cssls",
|
||||
"nixd",
|
||||
"html",
|
||||
"java_language_server",
|
||||
}
|
||||
|
||||
local extra_config = {
|
||||
lua_ls = {
|
||||
settings = {
|
||||
Lua = {
|
||||
@@ -52,20 +38,30 @@ local extra_config = {
|
||||
nixd = {
|
||||
settings = {
|
||||
nixd = {
|
||||
formatting = {
|
||||
command = { "nixfmt" },
|
||||
},
|
||||
nixpkgs = {
|
||||
expr = "import <nixpkgs> { }",
|
||||
},
|
||||
options = {
|
||||
nixos = {
|
||||
expr = '(builtins.getFlake ("git+file://" + toString ./.)).nixosConfigurations.imxyy-nix.options',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
tinymist = {
|
||||
cmd = { "tinymist" },
|
||||
filetypes = { "typst" },
|
||||
},
|
||||
qmlls = {
|
||||
cmd = { "qmlls", "-E" },
|
||||
},
|
||||
pyright = {},
|
||||
gopls = {},
|
||||
clangd = {},
|
||||
ts_ls = {},
|
||||
jsonls = {},
|
||||
cssls = {},
|
||||
html = {},
|
||||
java_language_server = {},
|
||||
}
|
||||
|
||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
@@ -74,14 +70,8 @@ capabilities.textDocument.foldingRange = {
|
||||
dynamicRegistration = false,
|
||||
lineFoldingOnly = true,
|
||||
}
|
||||
for _, server in ipairs(servers) do
|
||||
local extra = extra_config[server] or {}
|
||||
local config = {
|
||||
capabilities = capabilities,
|
||||
}
|
||||
for k, v in pairs(extra) do
|
||||
config[k] = v
|
||||
end
|
||||
for server, config in pairs(servers) do
|
||||
config["capabilities"] = capabilities
|
||||
vim.lsp.config(server, config)
|
||||
vim.lsp.enable(server)
|
||||
end
|
||||
|
||||
@@ -281,6 +281,12 @@ local plugins = {
|
||||
ft = "pest",
|
||||
opts = {},
|
||||
},
|
||||
|
||||
{
|
||||
"nmac427/guess-indent.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {},
|
||||
},
|
||||
}
|
||||
|
||||
require("lazy").setup(plugins, {})
|
||||
|
||||
Reference in New Issue
Block a user