summaryrefslogtreecommitdiff
path: root/lua/config
diff options
context:
space:
mode:
Diffstat (limited to 'lua/config')
-rw-r--r--lua/config/defaults.lua96
-rw-r--r--lua/config/init.lua21
-rw-r--r--lua/config/settings.lua4
3 files changed, 59 insertions, 62 deletions
diff --git a/lua/config/defaults.lua b/lua/config/defaults.lua
index d70d78c5..a4ef7125 100644
--- a/lua/config/defaults.lua
+++ b/lua/config/defaults.lua
@@ -1,8 +1,7 @@
local home_dir = vim.loop.os_homedir()
-CONFIG_PATH = home_dir .. "/.local/share/lunarvim/lvim"
-DATA_PATH = vim.fn.stdpath "data"
-CACHE_PATH = vim.fn.stdpath "cache"
-vim.cmd [[ set spellfile=~/.config/lvim/spell/en.utf-8.add ]]
+local utils = require "utils"
+-- FIXME: stop using hard-coded paths for LspInstall
+local ls_install_prefix = vim.fn.stdpath "data" .. "/lspinstall"
lvim = {
leader = "space",
@@ -10,8 +9,8 @@ lvim = {
line_wrap_cursor_movement = true,
transparent_window = false,
format_on_save = true,
- vsnip_dir = home_dir .. "/.config/snippets",
- database = { save_location = "~/.config/lunarvim_db", auto_execute = 1 },
+ vsnip_dir = utils.join_paths(home_dir, ".config", "snippets"),
+ database = { save_location = utils.join_paths(home_dir, ".config", "lunarvim_db"), auto_execute = 1 },
keys = {},
builtin = {},
@@ -140,7 +139,7 @@ lvim.lang = {
setup = {
cmd = {
"dotnet",
- DATA_PATH .. "/lspinstall/bicep/Bicep.LangServer.dll",
+ ls_install_prefix .. "/bicep/Bicep.LangServer.dll",
},
filetypes = { "bicep" },
},
@@ -162,7 +161,7 @@ lvim.lang = {
provider = "clangd",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/cpp/clangd/bin/clangd",
+ ls_install_prefix .. "/cpp/clangd/bin/clangd",
"--background-index",
"--header-insertion=never",
"--cross-file-rename",
@@ -188,7 +187,7 @@ lvim.lang = {
provider = "clangd",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/cpp/clangd/bin/clangd",
+ ls_install_prefix .. "/cpp/clangd/bin/clangd",
"--background-index",
"--header-insertion=never",
"--cross-file-rename",
@@ -229,7 +228,7 @@ lvim.lang = {
provider = "omnisharp",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/csharp/omnisharp/run",
+ ls_install_prefix .. "/csharp/omnisharp/run",
"--languageserver",
"--hostPID",
tostring(vim.fn.getpid()),
@@ -249,7 +248,7 @@ lvim.lang = {
provider = "cmake",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/cmake/venv/bin/cmake-language-server",
+ ls_install_prefix .. "/cmake/venv/bin/cmake-language-server",
},
},
},
@@ -261,7 +260,7 @@ lvim.lang = {
provider = "clojure_lsp",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/clojure/clojure-lsp",
+ ls_install_prefix .. "/clojure/clojure-lsp",
},
},
},
@@ -283,7 +282,7 @@ lvim.lang = {
setup = {
cmd = {
"node",
- DATA_PATH .. "/lspinstall/css/vscode-css/css-language-features/server/dist/node/cssServerMain.js",
+ ls_install_prefix .. "/css/vscode-css/css-language-features/server/dist/node/cssServerMain.js",
"--stdio",
},
},
@@ -306,7 +305,7 @@ lvim.lang = {
setup = {
cmd = {
"node",
- DATA_PATH .. "/lspinstall/css/vscode-css/css-language-features/server/dist/node/cssServerMain.js",
+ ls_install_prefix .. "/css/vscode-css/css-language-features/server/dist/node/cssServerMain.js",
"--stdio",
},
},
@@ -353,7 +352,7 @@ lvim.lang = {
provider = "dockerls",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/dockerfile/node_modules/.bin/docker-langserver",
+ ls_install_prefix .. "/dockerfile/node_modules/.bin/docker-langserver",
"--stdio",
},
},
@@ -371,7 +370,7 @@ lvim.lang = {
provider = "elixirls",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/elixir/elixir-ls/language_server.sh",
+ ls_install_prefix .. "/elixir/elixir-ls/language_server.sh",
},
},
},
@@ -388,13 +387,13 @@ lvim.lang = {
provider = "elmls",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm-language-server",
+ ls_install_prefix .. "/elm/node_modules/.bin/elm-language-server",
},
-- 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",
+ -- elmFormatPath = ls_install_prefix .. "/elm/node_modules/.bin/elm-format",
+ -- elmPath = ls_install_prefix .. "/elm/node_modules/.bin/",
+ -- elmTestPath = ls_install_prefix .. "/elm/node_modules/.bin/elm-test",
-- },
},
},
@@ -437,7 +436,7 @@ lvim.lang = {
provider = "fortls",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/fortran/venv/bin/fortls",
+ ls_install_prefix .. "/fortran/venv/bin/fortls",
},
},
},
@@ -462,7 +461,7 @@ lvim.lang = {
provider = "gopls",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/go/gopls",
+ ls_install_prefix .. "/go/gopls",
},
},
},
@@ -488,7 +487,7 @@ lvim.lang = {
lsp = {
provider = "hls",
setup = {
- cmd = { DATA_PATH .. "/lspinstall/haskell/hls" },
+ cmd = { ls_install_prefix .. "/haskell/hls" },
},
},
},
@@ -509,7 +508,7 @@ lvim.lang = {
setup = {
cmd = {
"node",
- DATA_PATH .. "/lspinstall/html/vscode-html/html-language-features/server/dist/node/htmlServerMain.js",
+ ls_install_prefix .. "/html/vscode-html/html-language-features/server/dist/node/htmlServerMain.js",
"--stdio",
},
},
@@ -530,7 +529,7 @@ lvim.lang = {
lsp = {
provider = "jdtls",
setup = {
- cmd = { DATA_PATH .. "/lspinstall/java/jdtls.sh" },
+ cmd = { ls_install_prefix .. "/java/jdtls.sh" },
},
},
},
@@ -555,7 +554,7 @@ lvim.lang = {
setup = {
cmd = {
"node",
- DATA_PATH .. "/lspinstall/json/vscode-json/json-language-features/server/dist/node/jsonServerMain.js",
+ ls_install_prefix .. "/json/vscode-json/json-language-features/server/dist/node/jsonServerMain.js",
"--stdio",
},
settings = {
@@ -589,8 +588,7 @@ lvim.lang = {
"julia",
"--startup-file=no",
"--history-file=no",
- -- vim.fn.expand "~/.config/nvim/lua/lsp/julia/run.jl",
- CONFIG_PATH .. "/utils/julia/run.jl",
+ -- self.runtime_dir .. "lvim/utils/julia/run.jl",
},
},
},
@@ -602,7 +600,7 @@ lvim.lang = {
provider = "kotlin_language_server",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/kotlin/server/bin/kotlin-language-server",
+ ls_install_prefix .. "/kotlin/server/bin/kotlin-language-server",
},
root_dir = function(fname)
local util = require "lspconfig/util"
@@ -639,9 +637,9 @@ lvim.lang = {
provider = "sumneko_lua",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/lua/sumneko-lua-language-server",
+ ls_install_prefix .. "/lua/sumneko-lua-language-server",
"-E",
- DATA_PATH .. "/lspinstall/lua/main.lua",
+ ls_install_prefix .. "/lua/main.lua",
},
settings = {
Lua = {
@@ -658,7 +656,7 @@ lvim.lang = {
workspace = {
-- Make the server aware of Neovim runtime files
library = {
- [vim.fn.expand "~/.local/share/lunarvim/lvim/lua"] = true,
+ [require("utils").join_paths(get_runtime_dir(), "lvim", "lua")] = true,
[vim.fn.expand "$VIMRUNTIME/lua"] = true,
[vim.fn.expand "$VIMRUNTIME/lua/vim/lsp"] = true,
},
@@ -733,7 +731,7 @@ lvim.lang = {
provider = "intelephense",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/php/node_modules/.bin/intelephense",
+ ls_install_prefix .. "/php/node_modules/.bin/intelephense",
"--stdio",
},
filetypes = { "php", "phtml" },
@@ -754,7 +752,7 @@ lvim.lang = {
provider = "puppet",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/puppet/puppet-editor-services/puppet-languageserver",
+ ls_install_prefix .. "/puppet/puppet-editor-services/puppet-languageserver",
"--stdio",
},
},
@@ -782,7 +780,7 @@ lvim.lang = {
setup = {
cmd = {
-- TODO:
- DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
+ ls_install_prefix .. "/typescript/node_modules/.bin/typescript-language-server",
"--stdio",
},
},
@@ -809,7 +807,7 @@ lvim.lang = {
setup = {
cmd = {
-- TODO:
- DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
+ ls_install_prefix .. "/typescript/node_modules/.bin/typescript-language-server",
"--stdio",
},
},
@@ -831,7 +829,7 @@ lvim.lang = {
provider = "pyright",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/python/node_modules/.bin/pyright-langserver",
+ ls_install_prefix .. "/python/node_modules/.bin/pyright-langserver",
"--stdio",
},
},
@@ -871,7 +869,7 @@ lvim.lang = {
provider = "solargraph",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/ruby/solargraph/solargraph",
+ ls_install_prefix .. "/ruby/solargraph/solargraph",
"stdio",
},
filetypes = { "ruby" },
@@ -902,7 +900,7 @@ lvim.lang = {
provider = "rust_analyzer",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/rust/rust-analyzer",
+ ls_install_prefix .. "/rust/rust-analyzer",
},
},
},
@@ -932,7 +930,7 @@ lvim.lang = {
provider = "bashls",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/bash/node_modules/.bin/bash-language-server",
+ ls_install_prefix .. "/bash/node_modules/.bin/bash-language-server",
"start",
},
},
@@ -945,7 +943,7 @@ lvim.lang = {
provider = "svelte",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/svelte/node_modules/.bin/svelteserver",
+ ls_install_prefix .. "/svelte/node_modules/.bin/svelteserver",
"--stdio",
},
},
@@ -975,7 +973,7 @@ lvim.lang = {
provider = "tailwindcss",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/tailwindcss/node_modules/.bin/tailwindcss-language-server",
+ ls_install_prefix .. "/tailwindcss/node_modules/.bin/tailwindcss-language-server",
"--stdio",
},
},
@@ -993,7 +991,7 @@ lvim.lang = {
provider = "terraformls",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/terraform/terraform-ls",
+ ls_install_prefix .. "/terraform/terraform-ls",
"serve",
},
},
@@ -1005,7 +1003,7 @@ lvim.lang = {
lsp = {
provider = "texlab",
setup = {
- cmd = { DATA_PATH .. "/lspinstall/latex/texlab" },
+ cmd = { ls_install_prefix .. "/latex/texlab" },
},
},
},
@@ -1030,7 +1028,7 @@ lvim.lang = {
setup = {
cmd = {
-- TODO:
- DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
+ ls_install_prefix .. "/typescript/node_modules/.bin/typescript-language-server",
"--stdio",
},
},
@@ -1058,7 +1056,7 @@ lvim.lang = {
setup = {
cmd = {
-- TODO:
- DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
+ ls_install_prefix .. "/typescript/node_modules/.bin/typescript-language-server",
"--stdio",
},
},
@@ -1071,7 +1069,7 @@ lvim.lang = {
provider = "vimls",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/vim/node_modules/.bin/vim-language-server",
+ ls_install_prefix .. "/vim/node_modules/.bin/vim-language-server",
"--stdio",
},
},
@@ -1097,7 +1095,7 @@ lvim.lang = {
provider = "vuels",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/vue/node_modules/.bin/vls",
+ ls_install_prefix .. "/vue/node_modules/.bin/vls",
},
root_dir = function(fname)
local util = require "lspconfig/util"
@@ -1139,7 +1137,7 @@ lvim.lang = {
provider = "yamlls",
setup = {
cmd = {
- DATA_PATH .. "/lspinstall/yaml/node_modules/.bin/yaml-language-server",
+ ls_install_prefix .. "/yaml/node_modules/.bin/yaml-language-server",
"--stdio",
},
},
diff --git a/lua/config/init.lua b/lua/config/init.lua
index 332460d3..c09617bc 100644
--- a/lua/config/init.lua
+++ b/lua/config/init.lua
@@ -1,21 +1,14 @@
-local home_dir = vim.loop.os_homedir()
-local M = {
- path = string.format("%s/.config/lvim/config.lua", home_dir),
-}
+local M = {}
--- Initialize lvim default configuration
-- Define lvim global variable
-function M:init()
+function M:init(opts)
+ opts = opts or {}
+ self.path = opts.path
local utils = require "utils"
require "config.defaults"
- local builtins = require "core.builtins"
- builtins.config(self)
-
- local settings = require "config.settings"
- settings.load_options()
-
-- Fallback config.lua to lv-config.lua
if not utils.is_file(self.path) then
local lv_config = self.path:gsub("config.lua$", "lv-config.lua")
@@ -23,6 +16,12 @@ function M:init()
self.path = lv_config
end
+
+ local builtins = require "core.builtins"
+ builtins.config(self)
+
+ local settings = require "config.settings"
+ settings.load_options()
end
--- Override the configuration with a user provided one
diff --git a/lua/config/settings.lua b/lua/config/settings.lua
index 36e31193..90042c4f 100644
--- a/lua/config/settings.lua
+++ b/lua/config/settings.lua
@@ -1,5 +1,5 @@
local M = {}
-
+local utils = require "utils"
M.load_options = function()
local default_options = {
backup = false, -- creates a backup file
@@ -28,7 +28,7 @@ M.load_options = function()
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
+ undodir = utils.join_paths(get_cache_dir(), "undo"), -- set an undo directory
undofile = true, -- enable persistent 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