lsp pls wörk
This commit is contained in:
parent
113f8d4abd
commit
316cd28587
|
@ -0,0 +1,31 @@
|
||||||
|
local lspconfig = require "lspconfig"
|
||||||
|
local lspsettings = require "custom.plugins.configs.lspsettings"
|
||||||
|
|
||||||
|
-- these are using the defaults
|
||||||
|
local servers = {
|
||||||
|
"html",
|
||||||
|
"cssls",
|
||||||
|
"tsserver",
|
||||||
|
"clangd",
|
||||||
|
"bashls",
|
||||||
|
"cmake",
|
||||||
|
"yamlls",
|
||||||
|
"texlab",
|
||||||
|
"csharp_ls",
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, lsp in ipairs(servers) do
|
||||||
|
lspconfig[lsp].setup()
|
||||||
|
end
|
||||||
|
|
||||||
|
local server_with_settings = {
|
||||||
|
-- "textlsp",
|
||||||
|
"ltex",
|
||||||
|
"rust_analyzer",
|
||||||
|
"basedpyright",
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, lsp in ipairs(server_with_settings) do
|
||||||
|
lspconfig[lsp].setup(lspsettings[lsp])
|
||||||
|
end
|
||||||
|
|
|
@ -0,0 +1,202 @@
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
M.basedpyright = {
|
||||||
|
root_dir = vim.loop.cwd,
|
||||||
|
flags = { debounce_text_changes = 300 },
|
||||||
|
single_file_support = true,
|
||||||
|
settings = {
|
||||||
|
python = {
|
||||||
|
analysis = {
|
||||||
|
autoSearchPaths = true,
|
||||||
|
diagnosticMode = "openFilesOnly",
|
||||||
|
useLibraryCodeForTypes = true,
|
||||||
|
typeCheckingMode = "basic",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
M.rust_analyzer = {
|
||||||
|
settings = {
|
||||||
|
["rust-analyzer"] = {
|
||||||
|
check = {
|
||||||
|
command = "clippy",
|
||||||
|
},
|
||||||
|
imports = {
|
||||||
|
granularity = {
|
||||||
|
group = "module",
|
||||||
|
},
|
||||||
|
prefix = "self",
|
||||||
|
},
|
||||||
|
cargo = {
|
||||||
|
buildScripts = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
procMacro = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
M.ltex = {
|
||||||
|
use_spellfile = false,
|
||||||
|
settings = {
|
||||||
|
ltex = {
|
||||||
|
checkFrequency = "save", -- shut up while i'm just editing, see <https://github.com/folke/noice.nvim/issues/166>
|
||||||
|
-- specific language (such as en-GB or de-DE is recommended, but I
|
||||||
|
-- want multilingual)
|
||||||
|
language = "auto",
|
||||||
|
enabled = {
|
||||||
|
"bibtex",
|
||||||
|
"tex",
|
||||||
|
"latex",
|
||||||
|
"gitcommit",
|
||||||
|
"markdown",
|
||||||
|
"org",
|
||||||
|
"restructuredtext",
|
||||||
|
"rsweave",
|
||||||
|
"quarto",
|
||||||
|
"rmd",
|
||||||
|
"context",
|
||||||
|
-- "html",
|
||||||
|
-- "xhtml",
|
||||||
|
},
|
||||||
|
additionalRules = {
|
||||||
|
enablePickyRules = true,
|
||||||
|
-- thats cool, but often adds diagnostics in
|
||||||
|
-- places where a german might confuse words that are similar
|
||||||
|
-- between english and german REGARDLESS of context. I seem to use the
|
||||||
|
-- english words only in the proper contexts, so leaving this on
|
||||||
|
-- just adds annoying hints like 'Hinweis: "list/NN.*" (English) bedeutet "Liste",
|
||||||
|
-- "Verzeichnis" (German). Meinten Sie vielleicht 'cunning', 'trick'?'
|
||||||
|
-- everytime I use the word "list". I liked that this makes the hints be
|
||||||
|
-- in german regardless of the language I'm working in through...
|
||||||
|
--motherTongue = "de",
|
||||||
|
},
|
||||||
|
-- load token and additional languagetool items later
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
M.textlsp = {
|
||||||
|
filetypes = {
|
||||||
|
"bibtex",
|
||||||
|
"tex",
|
||||||
|
"latex",
|
||||||
|
"gitcommit",
|
||||||
|
"markdown",
|
||||||
|
"org",
|
||||||
|
"restructuredtext",
|
||||||
|
"rsweave",
|
||||||
|
"quarto",
|
||||||
|
"rmd",
|
||||||
|
"context",
|
||||||
|
"html",
|
||||||
|
"xhtml",
|
||||||
|
},
|
||||||
|
settings = {
|
||||||
|
textLSP = {
|
||||||
|
analysers = {
|
||||||
|
languagetool = {
|
||||||
|
enabled = true,
|
||||||
|
check_text = {
|
||||||
|
on_open = true,
|
||||||
|
on_save = true,
|
||||||
|
on_change = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
gramformer = {
|
||||||
|
-- gramformer dependency needs to be installed manually
|
||||||
|
enabled = true,
|
||||||
|
gpu = false,
|
||||||
|
check_text = {
|
||||||
|
on_open = false,
|
||||||
|
on_save = true,
|
||||||
|
on_change = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
hf_checker = {
|
||||||
|
enabled = false,
|
||||||
|
gpu = false,
|
||||||
|
quantize = 32,
|
||||||
|
model = "pszemraj/flan-t5-large-grammar-synthesis",
|
||||||
|
min_length = 40,
|
||||||
|
check_text = {
|
||||||
|
on_open = false,
|
||||||
|
on_save = true,
|
||||||
|
on_change = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
hf_instruction_checker = {
|
||||||
|
enabled = true,
|
||||||
|
gpu = false,
|
||||||
|
quantize = 32,
|
||||||
|
model = "grammarly/coedit-large",
|
||||||
|
min_length = 40,
|
||||||
|
check_text = {
|
||||||
|
on_open = false,
|
||||||
|
on_save = true,
|
||||||
|
on_change = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
hf_completion = {
|
||||||
|
enabled = true,
|
||||||
|
gpu = false,
|
||||||
|
quantize = 32,
|
||||||
|
model = "bert-base-multilingual-cased",
|
||||||
|
topk = 5,
|
||||||
|
},
|
||||||
|
-- openai = {
|
||||||
|
-- enabled = false,
|
||||||
|
-- api_key = "<MY_API_KEY>",
|
||||||
|
-- check_text = {
|
||||||
|
-- on_open = false,
|
||||||
|
-- on_save = false,
|
||||||
|
-- on_change = false,
|
||||||
|
-- },
|
||||||
|
-- model = "gpt-3.5-turbo",
|
||||||
|
-- max_token = 16,
|
||||||
|
-- },
|
||||||
|
-- grammarbot = {
|
||||||
|
-- enabled = false,
|
||||||
|
-- api_key = "<MY_API_KEY>",
|
||||||
|
-- -- longer texts are split, this parameter sets the maximum number of splits per analysis
|
||||||
|
-- input_max_requests = 1,
|
||||||
|
-- check_text = {
|
||||||
|
-- on_open = false,
|
||||||
|
-- on_save = false,
|
||||||
|
-- on_change = false,
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
},
|
||||||
|
documents = {
|
||||||
|
-- org = {
|
||||||
|
-- org_todo_keywords = {
|
||||||
|
-- "TODO",
|
||||||
|
-- "IN_PROGRESS",
|
||||||
|
-- "DONE",
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
txt = {
|
||||||
|
parse = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- load secrets
|
||||||
|
-- the secret module should just return a string with the token
|
||||||
|
local available, token = require("custom.utils").try_require "custom.secret.languagetool_token"
|
||||||
|
if available then
|
||||||
|
M.ltex.languageToolOrg = {
|
||||||
|
apiKey = token,
|
||||||
|
username = "accounts@cscherr.de",
|
||||||
|
languageToolHttpServerUrl = "https://api.languagetoolplus.com/v2/",
|
||||||
|
}
|
||||||
|
M.ltex.languageToolHttpServerUrl = "https://api.languagetoolplus.com/v2/"
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
'neovim/nvim-lspconfig',
|
||||||
|
config = function()
|
||||||
|
require "custom.plugins.configs.lsp"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
|
@ -11,7 +11,6 @@ return {
|
||||||
{ '<leader>tf', '<cmd> NvimTreeToggle <cr>', desc = '[T]oggle [F]ile explorer' },
|
{ '<leader>tf', '<cmd> NvimTreeToggle <cr>', desc = '[T]oggle [F]ile explorer' },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
'ggandor/leap.nvim',
|
'ggandor/leap.nvim',
|
||||||
lazy = false,
|
lazy = false,
|
||||||
|
@ -33,7 +32,6 @@ return {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'kdheepak/lazygit.nvim',
|
'kdheepak/lazygit.nvim',
|
||||||
lazy = false,
|
|
||||||
keys = { '<leader>gg' },
|
keys = { '<leader>gg' },
|
||||||
cmd = 'LazyGit',
|
cmd = 'LazyGit',
|
||||||
-- optional for floating window border decoration
|
-- optional for floating window border decoration
|
||||||
|
@ -48,12 +46,11 @@ return {
|
||||||
mode = { 'n', 'v' },
|
mode = { 'n', 'v' },
|
||||||
[';'] = { name = '+telescope' },
|
[';'] = { name = '+telescope' },
|
||||||
[';f'] = { name = '+find' },
|
[';f'] = { name = '+find' },
|
||||||
[';d'] = { name = '+lsp/todo' },
|
|
||||||
['g'] = { name = '+goto' },
|
['g'] = { name = '+goto' },
|
||||||
[']'] = { name = '+next' },
|
[']'] = { name = '+next' },
|
||||||
['['] = { name = '+prev' },
|
['['] = { name = '+prev' },
|
||||||
['<leader>x'] = { name = '+diagnostics/quickfix' },
|
['<leader>d'] = { name = '+lsp/debug' },
|
||||||
['<leader>d'] = { name = '+debug' },
|
['<leader>r'] = { name = '+diagnostics/quickfix' },
|
||||||
['<leader>c'] = { name = '+code' },
|
['<leader>c'] = { name = '+code' },
|
||||||
['<leader>g'] = { name = '+git' },
|
['<leader>g'] = { name = '+git' },
|
||||||
['<leader>t'] = { name = '+toggle/tools' },
|
['<leader>t'] = { name = '+toggle/tools' },
|
||||||
|
|
Loading…
Reference in New Issue