diff options
Diffstat (limited to 'lua/config')
| -rw-r--r-- | lua/config/defaults.lua | 96 | ||||
| -rw-r--r-- | lua/config/init.lua | 21 | ||||
| -rw-r--r-- | lua/config/settings.lua | 4 | 
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 | 
