summaryrefslogtreecommitdiffstats
path: root/.config/nvim/lua/lsp
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lua/lsp')
-rw-r--r--.config/nvim/lua/lsp/arduino.lua14
-rw-r--r--.config/nvim/lua/lsp/bashls.lua12
-rw-r--r--.config/nvim/lua/lsp/clangd.lua11
-rw-r--r--.config/nvim/lua/lsp/gopls.lua25
-rw-r--r--.config/nvim/lua/lsp/luals.lua14
-rw-r--r--.config/nvim/lua/lsp/perlls.lua23
6 files changed, 99 insertions, 0 deletions
diff --git a/.config/nvim/lua/lsp/arduino.lua b/.config/nvim/lua/lsp/arduino.lua
new file mode 100644
index 0000000..f0df170
--- /dev/null
+++ b/.config/nvim/lua/lsp/arduino.lua
@@ -0,0 +1,14 @@
+vim.lsp.config('arduino-language-server', {
+ cmd = {
+ 'arduino-language-server',
+ '-cli-config', '/home/jozan/.arduino15/arduino-cli.yaml',
+ '-cli', 'arduino-cli',
+ '-clangd', 'clangd',
+ '-fqbn', 'esp8266:esp8266:d1_mini',
+ '-jobs', '3',
+ },
+ filetypes = {'arduino'},
+ root_markers = {'.git'},
+})
+
+vim.lsp.enable('arduino-language-server')
diff --git a/.config/nvim/lua/lsp/bashls.lua b/.config/nvim/lua/lsp/bashls.lua
new file mode 100644
index 0000000..54d562f
--- /dev/null
+++ b/.config/nvim/lua/lsp/bashls.lua
@@ -0,0 +1,12 @@
+vim.lsp.config('bashls', {
+ cmd = { 'bash-language-server', 'start' },
+ settings = {
+ bashIde = {
+ globPattern = vim.env.GLOB_PATTERN or '*@(.sh|.inc|.bash|.command)',
+ },
+ },
+ filetypes = { 'bash', 'sh', 'zsh' },
+ root_markers = { '.git' },
+})
+
+vim.lsp.enable('bashls')
diff --git a/.config/nvim/lua/lsp/clangd.lua b/.config/nvim/lua/lsp/clangd.lua
new file mode 100644
index 0000000..2933b02
--- /dev/null
+++ b/.config/nvim/lua/lsp/clangd.lua
@@ -0,0 +1,11 @@
+vim.lsp.config('clangd', {
+ cmd = { 'clangd', '--background-index', '--clang-tidy', '--completion-style=detailed' },
+ filetypes = { 'c', 'cpp', 'objc', 'objcpp' },
+ root_markers = { '.clangd', 'compile_commands.json', 'compile_flags.txt', '.git' },
+ init_options = {
+ fallbackFlags = { '-std=c17' },
+ offsetEncoding = { 'utf-16' },
+ },
+})
+
+vim.lsp.enable('clangd')
diff --git a/.config/nvim/lua/lsp/gopls.lua b/.config/nvim/lua/lsp/gopls.lua
new file mode 100644
index 0000000..c37da39
--- /dev/null
+++ b/.config/nvim/lua/lsp/gopls.lua
@@ -0,0 +1,25 @@
+vim.lsp.config('gopls', {
+ cmd = {'gopls'},
+ filetypes = { 'go', 'gomod', 'gowork', 'gotmpl' },
+ root_markers = {'go.mod', 'go.sum', '.git'},
+ settings = {
+ gopls = {
+ analyses = {
+ unreachable = true,
+ unusedparams = true,
+ },
+ codelenses = {
+ generate = true,
+ gc_details = true,
+ },
+ annotations = {
+ bounds = true,
+ escape = true,
+ inline = true,
+ },
+ gofumpt = true,
+ }
+ }
+})
+
+vim.lsp.enable('gopls')
diff --git a/.config/nvim/lua/lsp/luals.lua b/.config/nvim/lua/lsp/luals.lua
new file mode 100644
index 0000000..40d4c3d
--- /dev/null
+++ b/.config/nvim/lua/lsp/luals.lua
@@ -0,0 +1,14 @@
+vim.lsp.config('luals', {
+ cmd = {'lua-language-server'},
+ filetypes = {'lua'},
+ root_markers = {'.luarc.json', '.luarc.jsonc'},
+ settings = {
+ Lua = {
+ diagnostics = {
+ globals = { "vim" }
+ }
+ }
+ }
+})
+
+vim.lsp.enable('luals')
diff --git a/.config/nvim/lua/lsp/perlls.lua b/.config/nvim/lua/lsp/perlls.lua
new file mode 100644
index 0000000..b995cd2
--- /dev/null
+++ b/.config/nvim/lua/lsp/perlls.lua
@@ -0,0 +1,23 @@
+vim.lsp.config('perlls', {
+ cmd = {
+ 'perl',
+ '-MPerl::LanguageServer',
+ '-e',
+ 'Perl::LanguageServer::run',
+ '--',
+ '--port 13603',
+ '--nostdio 0',
+ },
+ settings = {
+ perl = {
+ perlCmd = 'perl',
+ perlInc = ' ',
+ fileFilter = { '.pm', '.pl' },
+ ignoreDirs = '.git',
+ },
+ },
+ filetypes = { 'perl' },
+ root_markers = { '.git' },
+})
+
+vim.lsp.enable('perlls')