mirror of
https://github.com/LunarVim/LunarVim.git
synced 2025-08-04 10:05:37 +02:00
New contract (#1080)
Changes to the global config object O is now lvim user_plugins is now plugins user_autocommands is now autocommands No more lang specific plugins Null-ls has replaced both formatter.nvim and nvim-lint
This commit is contained in:
parent
0884dcd846
commit
98f8a77819
120 changed files with 1128 additions and 3684 deletions
|
@ -4,61 +4,33 @@ CACHE_PATH = vim.fn.stdpath "cache"
|
|||
TERMINAL = vim.fn.expand "$TERMINAL"
|
||||
USER = vim.fn.expand "$USER"
|
||||
|
||||
O = {
|
||||
keys = {
|
||||
leader_key = "space",
|
||||
},
|
||||
lvim = {
|
||||
leader = "space",
|
||||
colorscheme = "spacegray",
|
||||
line_wrap_cursor_movement = true,
|
||||
transparent_window = false,
|
||||
format_on_save = true,
|
||||
lint_on_save = true,
|
||||
vsnip_dir = os.getenv "HOME" .. "/.config/snippets",
|
||||
database = { save_location = "~/.config/lunarvim_db", auto_execute = 1 },
|
||||
keys = {},
|
||||
|
||||
default_options = {
|
||||
backup = false, -- creates a backup file
|
||||
clipboard = "unnamedplus", -- allows neovim to access the system clipboard
|
||||
cmdheight = 2, -- more space in the neovim command line for displaying messages
|
||||
colorcolumn = "99999", -- fixes indentline for now
|
||||
completeopt = { "menuone", "noselect" },
|
||||
conceallevel = 0, -- so that `` is visible in markdown files
|
||||
fileencoding = "utf-8", -- the encoding written to a file
|
||||
foldmethod = "manual", -- folding, set to "expr" for treesitter based foloding
|
||||
foldexpr = "", -- set to "nvim_treesitter#foldexpr()" for treesitter based folding
|
||||
guifont = "monospace:h17", -- the font used in graphical neovim applications
|
||||
hidden = true, -- required to keep multiple buffers and open multiple buffers
|
||||
hlsearch = true, -- highlight all matches on previous search pattern
|
||||
ignorecase = true, -- ignore case in search patterns
|
||||
mouse = "a", -- allow the mouse to be used in neovim
|
||||
pumheight = 10, -- pop up menu height
|
||||
showmode = false, -- we don't need to see things like -- INSERT -- anymore
|
||||
showtabline = 2, -- always show tabs
|
||||
smartcase = true, -- smart case
|
||||
smartindent = true, -- make indenting smarter again
|
||||
splitbelow = true, -- force all horizontal splits to go below current window
|
||||
splitright = true, -- force all vertical splits to go to the right of current window
|
||||
swapfile = false, -- creates a swapfile
|
||||
termguicolors = true, -- set term gui colors (most terminals support this)
|
||||
timeoutlen = 100, -- time to wait for a mapped sequence to complete (in milliseconds)
|
||||
title = true, -- set the title of window to the value of the titlestring
|
||||
-- opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to
|
||||
undodir = CACHE_PATH .. "/undo", -- set an undo directory
|
||||
undofile = true, -- enable persisten undo
|
||||
updatetime = 300, -- faster completion
|
||||
writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
|
||||
expandtab = true, -- convert tabs to spaces
|
||||
shiftwidth = 2, -- the number of spaces inserted for each indentation
|
||||
tabstop = 2, -- insert 2 spaces for a tab
|
||||
cursorline = true, -- highlight the current line
|
||||
number = true, -- set numbered lines
|
||||
relativenumber = false, -- set relative numbered lines
|
||||
numberwidth = 4, -- set number column width to 2 {default 4}
|
||||
signcolumn = "yes", -- always show the sign column, otherwise it would shift the text each time
|
||||
wrap = false, -- display lines as one long line
|
||||
spell = false,
|
||||
spelllang = "en",
|
||||
scrolloff = 8, -- is one of my fav
|
||||
sidescrolloff = 8,
|
||||
-- TODO why do we need this?
|
||||
builtin = {
|
||||
lspinstall = {},
|
||||
telescope = {},
|
||||
compe = {},
|
||||
autopairs = {},
|
||||
treesitter = {},
|
||||
nvimtree = {},
|
||||
gitsigns = {},
|
||||
which_key = {},
|
||||
comment = {},
|
||||
rooter = {},
|
||||
galaxyline = {},
|
||||
bufferline = {},
|
||||
dap = {},
|
||||
dashboard = {},
|
||||
terminal = {},
|
||||
},
|
||||
|
||||
lsp = {
|
||||
|
@ -76,144 +48,699 @@ O = {
|
|||
on_attach_callback = nil,
|
||||
},
|
||||
|
||||
disabled_built_ins = {
|
||||
"netrw",
|
||||
"netrwPlugin",
|
||||
"netrwSettings",
|
||||
"netrwFileHandlers",
|
||||
"gzip",
|
||||
"zip",
|
||||
"zipPlugin",
|
||||
"tar",
|
||||
"tarPlugin", -- 'man',
|
||||
"getscript",
|
||||
"getscriptPlugin",
|
||||
"vimball",
|
||||
"vimballPlugin",
|
||||
"2html_plugin",
|
||||
"logipat",
|
||||
"rrhelper",
|
||||
"spellfile_plugin",
|
||||
-- 'matchit', 'matchparen', 'shada_plugin',
|
||||
},
|
||||
|
||||
plugin = {
|
||||
lspinstall = {},
|
||||
telescope = {},
|
||||
compe = {},
|
||||
autopairs = {},
|
||||
treesitter = {},
|
||||
formatter = {},
|
||||
lint = {},
|
||||
nvimtree = {},
|
||||
gitsigns = {},
|
||||
which_key = {},
|
||||
comment = {},
|
||||
rooter = {},
|
||||
galaxyline = {},
|
||||
bufferline = {},
|
||||
dap = {},
|
||||
dashboard = {},
|
||||
terminal = {},
|
||||
zen = {},
|
||||
},
|
||||
|
||||
-- TODO: refactor for tree
|
||||
auto_close_tree = 0,
|
||||
nvim_tree_disable_netrw = 0,
|
||||
|
||||
database = { save_location = "~/.config/lunarvim_db", auto_execute = 1 },
|
||||
|
||||
-- TODO: just using mappings (leader mappings)
|
||||
user_which_key = {},
|
||||
|
||||
user_plugins = {
|
||||
plugins = {
|
||||
-- use lv-config.lua for this not put here
|
||||
},
|
||||
|
||||
user_autocommands = {
|
||||
autocommands = {
|
||||
{ "FileType", "qf", "set nobuflisted" },
|
||||
},
|
||||
}
|
||||
|
||||
formatters = {
|
||||
filetype = {},
|
||||
},
|
||||
local schemas = nil
|
||||
local common_on_attach = require("lsp").common_on_attach
|
||||
local common_capabilities = require("lsp").common_capabilities()
|
||||
local status_ok, jsonls_settings = pcall(require, "nlspsettings.jsonls")
|
||||
if status_ok then
|
||||
schemas = jsonls_settings.get_default_schemas()
|
||||
end
|
||||
|
||||
-- TODO move all of this into lang specific files, only require when using
|
||||
lang = {
|
||||
efm = {},
|
||||
emmet = { active = false },
|
||||
svelte = {},
|
||||
tailwindcss = {
|
||||
active = false,
|
||||
filetypes = {
|
||||
"html",
|
||||
"css",
|
||||
"scss",
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
-- TODO move all of this into lang specific files, only require when using
|
||||
lvim.lang = {
|
||||
c = {
|
||||
formatter = {
|
||||
exe = "clang_format",
|
||||
args = {},
|
||||
stdin = true,
|
||||
},
|
||||
linters = {
|
||||
"clangtidy",
|
||||
},
|
||||
lsp = {
|
||||
provider = "clangd",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/cpp/clangd/bin/clangd",
|
||||
"--background-index",
|
||||
"--header-insertion=never",
|
||||
"--cross-file-rename",
|
||||
"--clang-tidy",
|
||||
"--clang-tidy-checks=-*,llvm-*,clang-analyzer-*",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
tsserver = {
|
||||
-- @usage can be 'eslint' or 'eslint_d'
|
||||
linter = "",
|
||||
diagnostics = {
|
||||
virtual_text = { spacing = 0, prefix = "" },
|
||||
signs = true,
|
||||
underline = true,
|
||||
},
|
||||
cpp = {
|
||||
formatter = {
|
||||
exe = "clang_format",
|
||||
args = {},
|
||||
stdin = true,
|
||||
},
|
||||
linters = {
|
||||
"cppcheck",
|
||||
"clangtidy",
|
||||
},
|
||||
lsp = {
|
||||
provider = "clangd",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/cpp/clangd/bin/clangd",
|
||||
"--background-index",
|
||||
"--header-insertion=never",
|
||||
"--cross-file-rename",
|
||||
"--clang-tidy",
|
||||
"--clang-tidy-checks=-*,llvm-*,clang-analyzer-*",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
formatter = {
|
||||
exe = "prettier",
|
||||
args = {},
|
||||
},
|
||||
},
|
||||
csharp = {
|
||||
lsp = {
|
||||
provider = "omnisharp",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/csharp/omnisharp/run",
|
||||
"--stdio",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
cmake = {
|
||||
formatter = {
|
||||
exe = "clang-format",
|
||||
args = {},
|
||||
},
|
||||
lsp = {
|
||||
provider = "cmake",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/cmake/venv/bin/cmake-language-server",
|
||||
"--stdio",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
clojure = {
|
||||
lsp = {
|
||||
provider = "clojure_lsp",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/clojure/clojure-lsp",
|
||||
"--stdio",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
css = {
|
||||
formatter = {
|
||||
exe = "prettier",
|
||||
args = {},
|
||||
},
|
||||
lsp = {
|
||||
provider = "cssls",
|
||||
setup = {
|
||||
cmd = {
|
||||
"node",
|
||||
DATA_PATH .. "/lspinstall/css/vscode-css/css-language-features/server/dist/node/cssServerMain.js",
|
||||
"--stdio",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
dart = {
|
||||
lsp = {
|
||||
provider = "dartls",
|
||||
setup = {
|
||||
cmd = {
|
||||
"dart",
|
||||
"/usr/lib/dart/bin/snapshots/analysis_server.dart.snapshot",
|
||||
"--lsp",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
formatter = {
|
||||
exe = "dart",
|
||||
args = { "format" },
|
||||
stdin = true,
|
||||
},
|
||||
},
|
||||
docker = {
|
||||
lsp = {
|
||||
provider = "dockerls",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/dockerfile/node_modules/.bin/docker-langserver",
|
||||
"--stdio",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
elixir = {
|
||||
formatter = {
|
||||
exe = "mix",
|
||||
args = { "format" },
|
||||
stdin = true,
|
||||
},
|
||||
lsp = {
|
||||
provider = "elixirls",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/elixir/elixir-ls/language_server.sh",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
elm = {
|
||||
lsp = {
|
||||
provider = "elmls",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm-language-server",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
init_options = {
|
||||
elmAnalyseTrigger = "change",
|
||||
elmFormatPath = DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm-format",
|
||||
elmPath = DATA_PATH .. "/lspinstall/elm/node_modules/.bin/",
|
||||
elmTestPath = DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm-test",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
erlang = {
|
||||
lsp = {
|
||||
provider = "erlangls",
|
||||
setup = {
|
||||
cmd = {
|
||||
"erlang_ls",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
emmet = { active = false },
|
||||
go = {
|
||||
formatter = {
|
||||
exe = "gofmt",
|
||||
args = {},
|
||||
stdin = true,
|
||||
},
|
||||
linters = {
|
||||
"golangcilint",
|
||||
"revive",
|
||||
},
|
||||
lsp = {
|
||||
provider = "gopls",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/go/gopls",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
graphql = {
|
||||
lsp = {
|
||||
provider = "graphql",
|
||||
setup = {
|
||||
cmd = {
|
||||
"graphql-lsp",
|
||||
"server",
|
||||
"-m",
|
||||
"stream",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
html = {
|
||||
linters = {
|
||||
"tidy",
|
||||
-- https://docs.errata.ai/vale/scoping#html
|
||||
"vale",
|
||||
},
|
||||
lsp = {
|
||||
provider = "html",
|
||||
setup = {
|
||||
cmd = {
|
||||
"node",
|
||||
DATA_PATH .. "/lspinstall/html/vscode-html/html-language-features/server/dist/node/htmlServerMain.js",
|
||||
"--stdio",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
java = {
|
||||
formatter = {
|
||||
exe = "prettier",
|
||||
args = { "--stdin-filepath", vim.api.nvim_buf_get_name(0) },
|
||||
},
|
||||
lsp = {
|
||||
provider = "jdtls",
|
||||
setup = {
|
||||
cmd = { DATA_PATH .. "/lspinstall/java/jdtls.sh" },
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
json = {
|
||||
formatter = {
|
||||
exe = "python",
|
||||
args = { "-m", "json.tool" },
|
||||
stdin = true,
|
||||
},
|
||||
lsp = {
|
||||
provider = "jsonls",
|
||||
setup = {
|
||||
cmd = {
|
||||
"node",
|
||||
DATA_PATH .. "/lspinstall/json/vscode-json/json-language-features/server/dist/node/jsonServerMain.js",
|
||||
"--stdio",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
settings = {
|
||||
json = {
|
||||
schemas = schemas,
|
||||
-- = {
|
||||
-- {
|
||||
-- fileMatch = { "package.json" },
|
||||
-- url = "https://json.schemastore.org/package.json",
|
||||
-- },
|
||||
-- },
|
||||
},
|
||||
},
|
||||
commands = {
|
||||
Format = {
|
||||
function()
|
||||
vim.lsp.buf.range_formatting({}, { 0, 0 }, { vim.fn.line "$", 0 })
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
julia = {
|
||||
lsp = {
|
||||
provider = "julials",
|
||||
setup = {
|
||||
{
|
||||
"julia",
|
||||
"--startup-file=no",
|
||||
"--history-file=no",
|
||||
-- vim.fn.expand "~/.config/nvim/lua/lsp/julia/run.jl",
|
||||
CONFIG_PATH .. "/utils/julia/run.jl",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
kotlin = {
|
||||
lsp = {
|
||||
provider = "kotlin_language_server",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/kotlin/server/bin/kotlin-language-server",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
root_dir = function(fname)
|
||||
local util = require "lspconfig/util"
|
||||
|
||||
local root_files = {
|
||||
"settings.gradle", -- Gradle (multi-project)
|
||||
"settings.gradle.kts", -- Gradle (multi-project)
|
||||
"build.xml", -- Ant
|
||||
"pom.xml", -- Maven
|
||||
}
|
||||
|
||||
local fallback_root_files = {
|
||||
"build.gradle", -- Gradle
|
||||
"build.gradle.kts", -- Gradle
|
||||
}
|
||||
return util.root_pattern(unpack(root_files))(fname) or util.root_pattern(unpack(fallback_root_files))(fname)
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
lua = {
|
||||
formatter = {
|
||||
exe = "stylua",
|
||||
args = {},
|
||||
},
|
||||
linters = { "luacheck" },
|
||||
lsp = {
|
||||
provider = "sumneko_lua",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/lua/sumneko-lua-language-server",
|
||||
"-E",
|
||||
DATA_PATH .. "/lspinstall/lua/main.lua",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
|
||||
version = "LuaJIT",
|
||||
-- Setup your lua path
|
||||
path = vim.split(package.path, ";"),
|
||||
},
|
||||
diagnostics = {
|
||||
-- Get the language server to recognize the `vim` global
|
||||
globals = { "vim", "O" },
|
||||
},
|
||||
workspace = {
|
||||
-- Make the server aware of Neovim runtime files
|
||||
library = {
|
||||
[vim.fn.expand "~/.local/share/lunarvim/lvim/lua"] = true,
|
||||
[vim.fn.expand "$VIMRUNTIME/lua"] = true,
|
||||
[vim.fn.expand "$VIMRUNTIME/lua/vim/lsp"] = true,
|
||||
},
|
||||
maxPreload = 100000,
|
||||
preloadFileSize = 1000,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
php = {
|
||||
formatter = {
|
||||
exe = "phpcbf",
|
||||
args = { "--standard=PSR12", vim.api.nvim_buf_get_name(0) },
|
||||
},
|
||||
linters = {},
|
||||
lsp = {
|
||||
provider = "intelephense",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/php/node_modules/.bin/intelephense",
|
||||
"--stdio",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
filetypes = { "php", "phtml" },
|
||||
settings = {
|
||||
intelephense = {
|
||||
environment = {
|
||||
phpVersion = "7.4",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
javascript = {
|
||||
-- @usage can be prettier or eslint
|
||||
formatter = {
|
||||
exe = "prettier",
|
||||
args = {},
|
||||
},
|
||||
linters = {
|
||||
"eslint",
|
||||
},
|
||||
lsp = {
|
||||
provider = "tsserver",
|
||||
setup = {
|
||||
cmd = {
|
||||
-- TODO:
|
||||
DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
|
||||
"--stdio",
|
||||
},
|
||||
on_attach = require("lsp").common_on_attach,
|
||||
capabilities = require("lsp").common_capabilities(),
|
||||
},
|
||||
},
|
||||
},
|
||||
python = {
|
||||
-- @usage can be flake8 or yapf
|
||||
formatter = {
|
||||
exe = "black",
|
||||
args = {},
|
||||
},
|
||||
linters = {
|
||||
"flake8",
|
||||
"pylint",
|
||||
"mypy",
|
||||
},
|
||||
lsp = {
|
||||
provider = "pyright",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/python/node_modules/.bin/pyright-langserver",
|
||||
"--stdio",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
-- R -e 'install.packages("formatR",repos = "http://cran.us.r-project.org")'
|
||||
-- R -e 'install.packages("readr",repos = "http://cran.us.r-project.org")'
|
||||
r = {
|
||||
formatter = {
|
||||
exe = "R",
|
||||
args = {
|
||||
"--slave",
|
||||
"--no-restore",
|
||||
"--no-save",
|
||||
'-e "formatR::tidy_source(text=readr::read_file(file(\\"stdin\\")), arrow=FALSE)"',
|
||||
},
|
||||
stdin = true,
|
||||
},
|
||||
lsp = {
|
||||
provider = "r_language_server",
|
||||
setup = {
|
||||
cmd = {
|
||||
"R",
|
||||
"--slave",
|
||||
"-e",
|
||||
"languageserver::run()",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
ruby = {
|
||||
formatter = {
|
||||
exe = "rufo",
|
||||
args = { "-x" },
|
||||
stdin = true,
|
||||
},
|
||||
linters = { "ruby" },
|
||||
lsp = {
|
||||
provider = "solargraph",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/ruby/solargraph/solargraph",
|
||||
"stdio",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
rust = {
|
||||
formatter = {
|
||||
exe = "rustfmt",
|
||||
args = { "--emit=stdout", "--edition=2018" },
|
||||
stdin = true,
|
||||
},
|
||||
lsp = {
|
||||
provider = "rust_analyzer",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/rust/rust-analyzer",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
sh = {
|
||||
-- @usage can be 'shfmt'
|
||||
formatter = {
|
||||
exe = "shfmt",
|
||||
args = {},
|
||||
},
|
||||
-- @usage can be 'shellcheck'
|
||||
linters = { "shellcheck" },
|
||||
lsp = {
|
||||
provider = "bashls",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/bash/node_modules/.bin/bash-language-server",
|
||||
"start",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
svelte = {
|
||||
lsp = {
|
||||
provider = "svelte",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/svelte/node_modules/.bin/svelteserver",
|
||||
"--stdio",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
swift = {
|
||||
formatter = {
|
||||
exe = "swiftformat",
|
||||
args = {},
|
||||
stdin = true,
|
||||
},
|
||||
lsp = {
|
||||
provider = "sourcekit",
|
||||
setup = {
|
||||
cmd = {
|
||||
"xcrun",
|
||||
"sourcekit-lsp",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
tailwindcss = {
|
||||
active = false,
|
||||
filetypes = {
|
||||
"html",
|
||||
"css",
|
||||
"scss",
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
},
|
||||
},
|
||||
terraform = {
|
||||
formatter = {
|
||||
exe = "terraform",
|
||||
args = { "fmt" },
|
||||
stdin = false,
|
||||
},
|
||||
lsp = {
|
||||
provider = "terraformls",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/terraform/terraform-ls",
|
||||
"serve",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
vim = {
|
||||
linters = { "vint" },
|
||||
lsp = {
|
||||
provider = "vimls",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/vim/node_modules/.bin/vim-language-server",
|
||||
"--stdio",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
vue = {
|
||||
formatter = {
|
||||
exe = "prettier",
|
||||
args = {
|
||||
"--stdin-filepath",
|
||||
"${FILEPATH}",
|
||||
},
|
||||
stdin = true,
|
||||
},
|
||||
lsp = {
|
||||
provider = "vetur",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/vue/node_modules/.bin/vls",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
yaml = {
|
||||
formatter = {
|
||||
exe = "prettier",
|
||||
args = { "--stdin-filepath", vim.api.nvim_buf_get_name(0), "--single-quote" },
|
||||
stdin = true,
|
||||
},
|
||||
lsp = {
|
||||
provider = "yamlls",
|
||||
setup = {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/yaml/node_modules/.bin/yaml-language-server",
|
||||
"--stdio",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
zig = {
|
||||
formatter = {
|
||||
exe = "zig",
|
||||
args = { "fmt" },
|
||||
stdin = false,
|
||||
},
|
||||
lsp = {
|
||||
provider = "zls",
|
||||
setup = {
|
||||
cmd = {
|
||||
"zls",
|
||||
},
|
||||
on_attach = common_on_attach,
|
||||
capabilities = common_capabilities,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
require("core.which-key").config()
|
||||
require "core.status_colors"
|
||||
require("core.gitsigns").config()
|
||||
require("core.compe").config()
|
||||
require("core.dashboard").config()
|
||||
require("core.dap").config()
|
||||
require("core.terminal").config()
|
||||
require("core.zen").config()
|
||||
require("core.telescope").config()
|
||||
require("core.treesitter").config()
|
||||
require("core.which-key").config()
|
||||
require("core.nvimtree").config()
|
||||
|
||||
require("lang.clang").config()
|
||||
require("lang.clojure").config()
|
||||
require("lang.cmake").config()
|
||||
require("lang.cs").config()
|
||||
require("lang.css").config()
|
||||
require("lang.dart").config()
|
||||
require("lang.dockerfile").config()
|
||||
require("lang.elixir").config()
|
||||
require("lang.elm").config()
|
||||
require("lang.go").config()
|
||||
require("lang.graphql").config()
|
||||
require("lang.html").config()
|
||||
require("lang.java").config()
|
||||
require("lang.json").config()
|
||||
require("lang.julia").config()
|
||||
require("lang.kotlin").config()
|
||||
require("lang.lua").config()
|
||||
require("lang.php").config()
|
||||
require("lang.python").config()
|
||||
require("lang.r").config()
|
||||
require("lang.ruby").config()
|
||||
require("lang.rust").config()
|
||||
require("lang.sh").config()
|
||||
require("lang.scala").config()
|
||||
require("lang.svelte").config()
|
||||
require("lang.swift").config()
|
||||
require("lang.terraform").config()
|
||||
require("lang.tex").config()
|
||||
require("lang.vim").config()
|
||||
require("lang.vue").config()
|
||||
require("lang.yaml").config()
|
||||
require("lang.zig").config()
|
||||
require("lang.zsh").config()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue