nvim/lua/native-lsp/init.lua

121 lines
7.3 KiB
Lua

-- see `:help` for any questions
-- use `&<var>` to show value of vimscript variable
-- API --
-- o = vim.o -- options
-- go = vim.go -- only-global options
-- bo = vim.bo -- buffer local options
-- wo = vim.wo -- window local options
-- cmd = vim.cmd -- vim commands
-- fn = vim.fn -- vim functions
-- opt = vim.opt -- vim option object
-- g = vim.g -- global variables
-- b = vim.b -- buffer local variables
-- w = vim.w -- window local variables
-- t = vim.t -- tab local variables
-- v = vim.v -- variables
-- env = vim.env -- environment variables
lspconfig = require 'lspconfig' -- https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md
--local lspfuzzy = require 'lspfuzzy'
-- Uncomment conflicting or not preferred lines
-- lazy loading based on filetype
cmd('autocmd BufEnter *.adb,*.ads lua lspconfig.als.setup {}')
cmd('autocmd BufEnter *.ts,*.html lua lspconfig.angularls.setup {}')
cmd('autocmd BufEnter *.yaml lua lspconfig.ansiblels.setup {}')
cmd('autocmd BufEnter *.sh,*.ash,*.bash,*.bsh lua lspconfig.bashls.setup {}')
--cmd('autocmd BufEnter lua lspconfig.beancount.setup {}')
cmd('autocmd BufEnter *.bicep lua lspconfig.bicep.setup {}')
cmd('autocmd BufEnter *.c,*.h,*.cpp,*.hpp,*.m,*.mm,*.M lua lspconfig.ccls.setup {}')
cmd('autocmd BufEnter *.c,*.h,*.cpp,*.hpp,*.m,*.mm,*.M,*.rs,*.f,*.for,*.f90 lua lspconfig.clangd.setup {}')
cmd('autocmd BufEnter *.clj,*.cljs lua lspconfig.clojure_lsp.setup {}')
cmd('autocmd BufEnter Makefile* lua lspconfig.cmake.setup {}')
cmd('autocmd BufEnter *.ql,*.qll lua lspconfig.codeqlls.setup {}')
--cmd('autocmd BufEnter lua lspconfig.configs.setup {}')
cmd('autocmd BufEnter *.cr lua lspconfig.crystalline.setup {}')
cmd('autocmd BufEnter *.css lua lspconfig.cssls.setup {}')
cmd('autocmd BufEnter *.dart lua lspconfig.dartls.setup {}')
--cmd('autocmd BufEnter lua lspconfig.denols.setup {}')
cmd('autocmd BufEnter *.dhall lua lspconfig.dhall_lsp_server.setup {}')
--cmd('autocmd BufEnter lua lspconfig.diagnosticls.setup {}')
cmd('autocmd BufEnter *.dockerfile lua lspconfig.dockerls.setup {}')
cmd('autocmd BufEnter *.dot,*.gv lua lspconfig.dotls.setup {}')
--cmd('autocmd BufEnter lua lspconfig.efm.setup {}')
cmd('autocmd BufEnter *.ex,*.exs lua lspconfig.elixirls.setup {}')
cmd('autocmd BufEnter *.elm lua lspconfig.elmls.setup {}')
--cmd('autocmd BufEnter lua lspconfig.ember.setup {}')
cmd('autocmd BufEnter *.erl,*hrl lua lspconfig.erlangls.setup {}')
cmd('autocmd BufEnter *.js,*.cjs,*.mjs lua lspconfig.flow.setup {}')
cmd('autocmd BufEnter *.f*.for,*.f90 lua lspconfig.fortls.setup {}')
cmd('autocmd BufEnter *.fs,*.fsi,*.fsx,*.fsscript lua lspconfig.fsautocomplete.setup {}')
cmd('autocmd BufEnter *.gd lua lspconfig.gdscript.setup {}')
cmd('autocmd BufEnter *.hs,*.lhs lua lspconfig.ghcide.setup {}')
cmd('autocmd BufEnter *.go lua lspconfig.gopls.setup {}')
cmd('autocmd BufEnter *.graphql lua lspconfig.graphql.setup {}')
cmd('autocmd BufEnter *.groovy,*.gvy,*.gy,*.gsh lua lspconfig.groovyls.setup {}')
cmd('autocmd BufEnter *.hx,*.hxml lua lspconfig.haxe_language_server.setup {}')
--cmd('autocmd BufEnter lua lspconfig.health.setup {}')
cmd('autocmd BufEnter *.hs,lhs lua lspconfig.hie.setup {}')
cmd('autocmd BufEnter *.hs,*.lhs lua lspconfig.hls.setup {}')
cmd('autocmd BufEnter *.html,*.htm lua lspconfig.html.setup {}')
cmd('autocmd BufEnter *.php,*.phar,*.phtml,*.pht,*.phps lua lspconfig.intelephense.setup {}')
cmd('autocmd BufEnter *.java,*.jar,*.class lua lspconfig.java_language_server.setup {}')
cmd('autocmd BufEnter *.java,*.jar,*.class lua lspconfig.jdtls.setup {}')
cmd('autocmd BufEnter *.py,*.pyi,*.pyc,*pyd lua lspconfig.jedi_language_server.setup {}')
cmd('autocmd BufEnter *.json lua lspconfig.jsonls.setup {}')
cmd('autocmd BufEnter *.jl lua lspconfig.julials.setup {}')
cmd('autocmd BufEnter *.kt,*.kts,*.ktm lua lspconfig.kotlin_language_server.setup {}')
cmd('autocmd BufEnter *.lean lua lspconfig.lean3ls.setup {}')
cmd('autocmd BufEnter *.lean lua lspconfig.leanls.setup {}')
--cmd('autocmd BufEnter lua lspconfig.lspinfo.setup {}')
cmd('autocmd BufEnter *.scala,*.sc lua lspconfig.metals.setup {}')
cmd('autocmd BufEnter *.nim,*.nims,*nimble lua lspconfig.nimls.setup {}')
cmd('autocmd BufEnter *.ml,*.mli,*.re,*rei lua lspconfig.ocamlls.setup {}')
cmd('autocmd BufEnter *.ml,*.mli,*.re,*rei lua lspconfig.ocamllsp.setup {}')
cmd('autocmd BufEnter *.cs,*.csx,*.vb,*.vbs,*.vbe,*.wsf,*.wsc lua lspconfig.omnisharp.setup {}')
cmd('autocmd BufEnter *.plx,*.pl,*.pm,*.xs,*.t lua lspconfig.perlls.setup {}')
cmd('autocmd BufEnter *.plx,*.pl,*.pm,*.xs,*.t lua lspconfig.perlpls.setup {}')
cmd('autocmd BufEnter *.php,*.phar,*.phtml,*.pht,*.phps lua lspconfig.phpactor.setup {}')
cmd('autocmd BufEnter *.ps,*.ps1,*.ps1xml,*.psc1,*.psd1,*.psm1,*.pssc,*.psrc,*.cdxml lua lspconfig.powershell_es.setup {}')
--cmd('autocmd BufEnter lua lspconfig.prismals.setup {}')
cmd('autocmd BufEnter *.pp lua lspconfig.puppet.setup {}')
cmd('autocmd BufEnter *.purs lua lspconfig.purescriptls.setup {}')
cmd('autocmd BufEnter *.py,*.pyi,*.pyc,*pyd lua lspconfig.pylsp.setup {}')
cmd('autocmd BufEnter *.py,*.pyi,*.pyc,*pyd lua lspconfig.pyright.setup {}')
cmd('autocmd BufEnter *.r,*.rdata,*.rds,*.rda,*.rmd lua lspconfig.r_language_server.setup {}')
cmd('autocmd BufEnter *.rkt,*.scm,*.ss lua lspconfig.racket_langserver.setup {}')
cmd('autocmd BufEnter *.re,*rei lua lspconfig.rescriptls.setup {}')
cmd('autocmd BufEnter *.rs,*.rlib lua lspconfig.rls.setup {}')
cmd('autocmd BufEnter *.nix lua lspconfig.rnix.setup {}')
cmd('autocmd BufEnter *.js,*.cjs,*.mjs,*.json,*.ts,*.tsx lua lspconfig.rome.setup {}')
cmd('autocmd BufEnter *.rs,*.rlib lua lspconfig.rust_analyzer.setup {}')
cmd('autocmd BufEnter *.cr lua lspconfig.scry.setup {}')
cmd('autocmd BufEnter *.d lua lspconfig.serve_d.setup {}')
cmd('autocmd BufEnter *.rb lua lspconfig.solargraph.setup {}')
cmd('autocmd BufEnter *.rb lua lspconfig.sorbet.setup {}')
cmd('autocmd BufEnter *.swift,*.SWIFT,*.c,*.h,*.cpp,*.hpp,*.m,*.mm,*.M lua lspconfig.sourcekit.setup {}')
cmd('autocmd BufEnter *.sql lua lspconfig.sqlls.setup {}')
cmd('autocmd BufEnter *.sql lua lspconfig.sqls.setup {}')
cmd('autocmd BufEnter *.css,*.less,*.sass,*.scss,*.sss,**.js,*.cjs,*.mjs,*.ts,*.tsx lua lspconfig.stylelint_lsp.setup {}')
cmd('autocmd BufEnter *.lua lua lspconfig.sumneko_lua.setup {}')
cmd('autocmd BufEnter *.svelte lua lspconfig.svelte.setup {}')
cmd('autocmd BufEnter *.v,*.vh,*.sv,*.svh lua lspconfig.svls.setup {}')
--cmd('autocmd BufEnter lua lspconfig.tailwindcss.setup {}') -- uh... what? https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/tailwindcss.lua#L10
cmd('autocmd BufEnter *.hcl lua lspconfig.terraformls.setup {}')
cmd('autocmd BufEnter *.tex,*.latex,*.bib lua lspconfig.texlab.setup {}')
cmd('autocmd BufEnter *.hcl lua lspconfig.tflint.setup {}')
cmd('autocmd BufEnter *.ts,*.tsx lua lspconfig.tsserver.setup {}')
--cmd('autocmd BufEnter lua lspconfig.util.setup {}')
cmd('autocmd BufEnter *.vala,*.vali,*.gs lua lspconfig.vala_ls.setup {}')
cmd('autocmd BufEnter *.vim lua lspconfig.vimls.setup {}')
--cmd('autocmd BufEnter lua lspconfig.vls.setup {}')
--cmd('autocmd BufEnter lua lspconfig.vuels.setup {}')
cmd('autocmd BufEnter *.yaml lua lspconfig.yamlls.setup {}')
cmd('autocmd BufEnter *.md lua lspconfig.zeta_note.setup {}')
cmd('autocmd BufEnter *.zig,*.zir lua lspconfig.zls.setup {}')