mirror of
https://github.com/LunarVim/LunarVim.git
synced 2024-09-20 18:45:08 +02:00
Merge remote-tracking branch 'origin/rolling'
This commit is contained in:
commit
427ad868d4
13 changed files with 41 additions and 335 deletions
|
@ -40,8 +40,7 @@ function M:init()
|
|||
local lvim_lsp_config = require "lvim.lsp.config"
|
||||
lvim.lsp = apply_defaults(lvim.lsp, vim.deepcopy(lvim_lsp_config))
|
||||
|
||||
local supported_languages = require "lvim.config.supported_languages"
|
||||
require("lvim.lsp.manager").init_defaults(supported_languages)
|
||||
require("lvim.lsp.manager").init_defaults()
|
||||
end
|
||||
|
||||
local function handle_deprecated_settings()
|
||||
|
|
|
@ -1,95 +0,0 @@
|
|||
return {
|
||||
"asm",
|
||||
"bash",
|
||||
"beancount",
|
||||
"bibtex",
|
||||
"bicep",
|
||||
"c",
|
||||
"c_sharp",
|
||||
"clojure",
|
||||
"cmake",
|
||||
"comment",
|
||||
"commonlisp",
|
||||
"cpp",
|
||||
"crystal",
|
||||
"cs",
|
||||
"css",
|
||||
"cuda",
|
||||
"d",
|
||||
"dart",
|
||||
"dockerfile",
|
||||
"dot",
|
||||
"elixir",
|
||||
"elm",
|
||||
"emmet",
|
||||
"erlang",
|
||||
"fennel",
|
||||
"fish",
|
||||
"fortran",
|
||||
"fsharp",
|
||||
"gdscript",
|
||||
"glimmer",
|
||||
"go",
|
||||
"gomod",
|
||||
"graphql",
|
||||
"haskell",
|
||||
"hcl",
|
||||
"heex",
|
||||
"html",
|
||||
"java",
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"jsdoc",
|
||||
"json",
|
||||
"json5",
|
||||
"jsonc",
|
||||
"julia",
|
||||
"kotlin",
|
||||
"latex",
|
||||
"ledger",
|
||||
"less",
|
||||
"lua",
|
||||
"markdown",
|
||||
"nginx",
|
||||
"nix",
|
||||
"ocaml",
|
||||
"ocaml_interface",
|
||||
"perl",
|
||||
"php",
|
||||
"pioasm",
|
||||
"ps1",
|
||||
"puppet",
|
||||
"python",
|
||||
"ql",
|
||||
"query",
|
||||
"r",
|
||||
"regex",
|
||||
"rst",
|
||||
"ruby",
|
||||
"rust",
|
||||
"scala",
|
||||
"scss",
|
||||
"sh",
|
||||
"solidity",
|
||||
"sparql",
|
||||
"sql",
|
||||
"supercollider",
|
||||
"surface",
|
||||
"svelte",
|
||||
"swift",
|
||||
"tailwindcss",
|
||||
"terraform",
|
||||
"tex",
|
||||
"tlaplus",
|
||||
"toml",
|
||||
"tsx",
|
||||
"turtle",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"verilog",
|
||||
"vim",
|
||||
"vue",
|
||||
"yaml",
|
||||
"yang",
|
||||
"zig",
|
||||
}
|
|
@ -85,14 +85,6 @@ M.setup = function()
|
|||
end),
|
||||
}
|
||||
|
||||
local cmp_status_ok, cmp = pcall(require, "cmp")
|
||||
if cmp_status_ok then
|
||||
-- If you want insert `(` after select function or method item
|
||||
local cmp_autopairs = require "nvim-autopairs.completion.cmp"
|
||||
local map_char = lvim.builtin.autopairs.map_char
|
||||
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = map_char })
|
||||
end
|
||||
|
||||
require("nvim-treesitter.configs").setup { autopairs = { enable = true } }
|
||||
|
||||
local ts_conds = require "nvim-autopairs.ts-conds"
|
||||
|
|
|
@ -43,7 +43,9 @@ end
|
|||
-- @param content_provider A function accepting the popup's layout and returning the content to display
|
||||
function Popup:display(content_provider)
|
||||
self.win_id = vim.api.nvim_open_win(self.buffer, true, self.layout)
|
||||
vim.lsp.util.close_preview_autocmd({ "BufHidden", "BufLeave" }, self.win_id)
|
||||
vim.api.nvim_command(
|
||||
string.format("autocmd BufHidden,BufLeave <buffer> ++once lua pcall(vim.api.nvim_win_close, %d, true)", self.win_id)
|
||||
)
|
||||
|
||||
local lines = content_provider(self.layout)
|
||||
vim.api.nvim_buf_set_lines(self.bufnr, 0, -1, false, lines)
|
||||
|
|
|
@ -61,6 +61,7 @@ return {
|
|||
"angularls",
|
||||
"ansiblels",
|
||||
"ccls",
|
||||
"cssmodules_ls",
|
||||
"csharp_ls",
|
||||
"denols",
|
||||
"ember",
|
||||
|
@ -78,6 +79,7 @@ return {
|
|||
"sqlls",
|
||||
"sqls",
|
||||
"solang",
|
||||
"sourcekit",
|
||||
"spectral",
|
||||
"stylelint_lsp",
|
||||
"tailwindcss",
|
||||
|
|
|
@ -4,6 +4,7 @@ local Log = require "lvim.core.log"
|
|||
local lvim_lsp_utils = require "lvim.lsp.utils"
|
||||
|
||||
function M.init_defaults(languages)
|
||||
languages = languages or lvim_lsp_utils.get_all_supported_filetypes()
|
||||
for _, entry in ipairs(languages) do
|
||||
if not lvim.lang[entry] then
|
||||
lvim.lang[entry] = {
|
||||
|
|
|
@ -53,6 +53,7 @@ function M.generate_templates(servers_names)
|
|||
|
||||
for _, server in pairs(available_servers) do
|
||||
table.insert(servers_names, server.name)
|
||||
table.sort(servers_names)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -49,12 +49,15 @@ function M.get_client_capabilities(client_id)
|
|||
return enabled_caps
|
||||
end
|
||||
|
||||
---Get supported filetypes per server
|
||||
---@param server_name string can be any server supported by nvim-lsp-installer
|
||||
---@return table supported filestypes as a list of strings
|
||||
function M.get_supported_filetypes(server_name)
|
||||
-- temporary workaround: https://github.com/neovim/nvim-lspconfig/pull/1358
|
||||
if server_name == "dockerls" then
|
||||
return { "dockerfile" }
|
||||
local status_ok, lsp_installer_servers = pcall(require, "nvim-lsp-installer.servers")
|
||||
if not status_ok then
|
||||
return {}
|
||||
end
|
||||
local lsp_installer_servers = require "nvim-lsp-installer.servers"
|
||||
|
||||
local server_available, requested_server = lsp_installer_servers.get_server(server_name)
|
||||
if not server_available then
|
||||
return {}
|
||||
|
@ -63,4 +66,14 @@ function M.get_supported_filetypes(server_name)
|
|||
return requested_server:get_supported_filetypes()
|
||||
end
|
||||
|
||||
---Get all supported filetypes by nvim-lsp-installer
|
||||
---@return table supported filestypes as a list of strings
|
||||
function M.get_all_supported_filetypes()
|
||||
local status_ok, lsp_installer_filetypes = pcall(require, "nvim-lsp-installer._generated.filetype_map")
|
||||
if not status_ok then
|
||||
return {}
|
||||
end
|
||||
return vim.tbl_keys(lsp_installer_filetypes or {})
|
||||
end
|
||||
|
||||
return M
|
||||
|
|
|
@ -17,8 +17,8 @@ local commit = {
|
|||
nvim_autopairs = "04cd1779f81e9d50d5a116c5dccd054b275bd191",
|
||||
nvim_cmp = "47d7cfc06abd8661e28dc919882a2fcf01c99729",
|
||||
nvim_dap = "9b8c27d6dcc21b69834fe9c2d344e49030783390",
|
||||
nvim_lsp_installer = "d7b10b13d72d4bf8f7b34779ddc3514bcc26b0f2",
|
||||
nvim_lspconfig = "dd15974986619b1f3143a9e666e36f41763ccdb4",
|
||||
nvim_lsp_installer = "4d4677739f52b4aeab8909548b37cc88479c315e",
|
||||
nvim_lspconfig = "c018b1e92e66b3429a2f167d59211846774f1e3b",
|
||||
nvim_notify = "ef027e34b618eac42fb0111c1db670ba01793039",
|
||||
nvim_tree = "f408781a463c2edc3a49091b1bca5a18f790ee3d",
|
||||
nvim_treesitter = "7474cb06c2be750eae92da51ff7791deb3b21397",
|
||||
|
|
|
@ -210,6 +210,7 @@ function __install_nodejs_deps_npm() {
|
|||
npm install -g "$dep"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "All NodeJS dependencies are successfully installed"
|
||||
}
|
||||
|
||||
|
@ -219,10 +220,22 @@ function __install_nodejs_deps_yarn() {
|
|||
echo "All NodeJS dependencies are successfully installed"
|
||||
}
|
||||
|
||||
function __validate_node_installation() {
|
||||
local pkg_manager="$1"
|
||||
local manager_home
|
||||
manager_home="$($pkg_manager config get prefix 2>/dev/null)"
|
||||
|
||||
if [ ! -d "$manager_home" ] || [ ! -w "$manager_home" ]; then
|
||||
echo "[ERROR] Unable to install without administrative privilages. Please set you NPM_HOME correctly and try again."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
function install_nodejs_deps() {
|
||||
local -a pkg_managers=("yarn" "npm")
|
||||
for pkg_manager in "${pkg_managers[@]}"; do
|
||||
if command -v "$pkg_manager" &>/dev/null; then
|
||||
__validate_node_installation "$pkg_manager"
|
||||
eval "__install_nodejs_deps_$pkg_manager"
|
||||
return
|
||||
fi
|
||||
|
@ -288,7 +301,7 @@ function backup_old_config() {
|
|||
touch "$dir/ignore"
|
||||
msg "Backing up old $dir to $dir.bak"
|
||||
if command -v rsync &>/dev/null; then
|
||||
rsync --archive -hh --stats --partial --cvs-exclude "$dir"/ "$dir.bak"
|
||||
rsync --archive -hh --stats --partial --copy-links --cvs-exclude "$dir"/ "$dir.bak"
|
||||
else
|
||||
OS="$(uname -s)"
|
||||
case "$OS" in
|
||||
|
|
|
@ -1,182 +0,0 @@
|
|||
# This file is machine-generated - editing it directly is not advised
|
||||
|
||||
[[ArgTools]]
|
||||
uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
|
||||
|
||||
[[Artifacts]]
|
||||
uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
|
||||
|
||||
[[Base64]]
|
||||
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
|
||||
|
||||
[[CSTParser]]
|
||||
deps = ["Tokenize"]
|
||||
git-tree-sha1 = "9723e1c07c1727082e169ca50789644a552fb023"
|
||||
uuid = "00ebfdb7-1f24-5e51-bd34-a7502290713f"
|
||||
version = "3.2.3"
|
||||
|
||||
[[Dates]]
|
||||
deps = ["Printf"]
|
||||
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
|
||||
|
||||
[[DocumentFormat]]
|
||||
deps = ["CSTParser", "FilePathsBase", "Tokenize"]
|
||||
git-tree-sha1 = "cf048d65cbcdec70f10745e5801eeb0c6478a7f7"
|
||||
uuid = "ffa9a821-9c82-50df-894e-fbcef3ed31cd"
|
||||
version = "3.2.4"
|
||||
|
||||
[[Downloads]]
|
||||
deps = ["ArgTools", "LibCURL", "NetworkOptions"]
|
||||
uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
|
||||
|
||||
[[FilePathsBase]]
|
||||
deps = ["Dates", "Mmap", "Printf", "Test", "UUIDs"]
|
||||
git-tree-sha1 = "0f5e8d0cb91a6386ba47bd1527b240bd5725fbae"
|
||||
uuid = "48062228-2e41-5def-b9a4-89aafe57970f"
|
||||
version = "0.9.10"
|
||||
|
||||
[[InteractiveUtils]]
|
||||
deps = ["Markdown"]
|
||||
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
|
||||
|
||||
[[JSON]]
|
||||
deps = ["Dates", "Mmap", "Parsers", "Unicode"]
|
||||
git-tree-sha1 = "81690084b6198a2e1da36fcfda16eeca9f9f24e4"
|
||||
uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
|
||||
version = "0.21.1"
|
||||
|
||||
[[JSONRPC]]
|
||||
deps = ["JSON", "UUIDs"]
|
||||
git-tree-sha1 = "1e9a820a29b37864a6738b8fd00eedf3fb8d772e"
|
||||
uuid = "b9b8584e-8fd3-41f9-ad0c-7255d428e418"
|
||||
version = "1.3.3"
|
||||
|
||||
[[LanguageServer]]
|
||||
deps = ["CSTParser", "DocumentFormat", "JSON", "JSONRPC", "Markdown", "Pkg", "REPL", "StaticLint", "SymbolServer", "Tokenize", "URIParser", "UUIDs"]
|
||||
git-tree-sha1 = "ac9f7da10fbba9cad8455a3436d121eaf8f308f6"
|
||||
uuid = "2b0e0bc5-e4fd-59b4-8912-456d1b03d8d7"
|
||||
version = "4.0.0"
|
||||
|
||||
[[LibCURL]]
|
||||
deps = ["LibCURL_jll", "MozillaCACerts_jll"]
|
||||
uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21"
|
||||
|
||||
[[LibCURL_jll]]
|
||||
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"]
|
||||
uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0"
|
||||
|
||||
[[LibGit2]]
|
||||
deps = ["Base64", "NetworkOptions", "Printf", "SHA"]
|
||||
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
|
||||
|
||||
[[LibSSH2_jll]]
|
||||
deps = ["Artifacts", "Libdl", "MbedTLS_jll"]
|
||||
uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8"
|
||||
|
||||
[[Libdl]]
|
||||
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
|
||||
|
||||
[[Logging]]
|
||||
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
|
||||
|
||||
[[Markdown]]
|
||||
deps = ["Base64"]
|
||||
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
|
||||
|
||||
[[MbedTLS_jll]]
|
||||
deps = ["Artifacts", "Libdl"]
|
||||
uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
|
||||
|
||||
[[Mmap]]
|
||||
uuid = "a63ad114-7e13-5084-954f-fe012c677804"
|
||||
|
||||
[[MozillaCACerts_jll]]
|
||||
uuid = "14a3606d-f60d-562e-9121-12d972cd8159"
|
||||
|
||||
[[NetworkOptions]]
|
||||
uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908"
|
||||
|
||||
[[Parsers]]
|
||||
deps = ["Dates"]
|
||||
git-tree-sha1 = "c8abc88faa3f7a3950832ac5d6e690881590d6dc"
|
||||
uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
|
||||
version = "1.1.0"
|
||||
|
||||
[[Pkg]]
|
||||
deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"]
|
||||
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
|
||||
|
||||
[[Printf]]
|
||||
deps = ["Unicode"]
|
||||
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
|
||||
|
||||
[[REPL]]
|
||||
deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"]
|
||||
uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
|
||||
|
||||
[[Random]]
|
||||
deps = ["Serialization"]
|
||||
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
|
||||
|
||||
[[SHA]]
|
||||
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
|
||||
|
||||
[[Serialization]]
|
||||
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
|
||||
|
||||
[[Sockets]]
|
||||
uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
|
||||
|
||||
[[StaticLint]]
|
||||
deps = ["CSTParser", "Serialization", "SymbolServer"]
|
||||
git-tree-sha1 = "337ca6f234947b31e921a424f7d0ec8dda22ed49"
|
||||
uuid = "b3cc710f-9c33-5bdb-a03d-a94903873e97"
|
||||
version = "8.0.0"
|
||||
|
||||
[[SymbolServer]]
|
||||
deps = ["InteractiveUtils", "LibGit2", "Markdown", "Pkg", "REPL", "SHA", "Serialization", "Sockets", "UUIDs"]
|
||||
git-tree-sha1 = "9053544866f779dfb87027c52a332e2830e868ab"
|
||||
uuid = "cf896787-08d5-524d-9de7-132aaa0cb996"
|
||||
version = "7.0.0"
|
||||
|
||||
[[TOML]]
|
||||
deps = ["Dates"]
|
||||
uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
|
||||
|
||||
[[Tar]]
|
||||
deps = ["ArgTools", "SHA"]
|
||||
uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e"
|
||||
|
||||
[[Test]]
|
||||
deps = ["InteractiveUtils", "Logging", "Random", "Serialization"]
|
||||
uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
|
||||
|
||||
[[Tokenize]]
|
||||
git-tree-sha1 = "eee92eda3cc8e104b7e56ff4c1fcf0d78ca37c89"
|
||||
uuid = "0796e94c-ce3b-5d07-9a54-7f471281c624"
|
||||
version = "0.5.18"
|
||||
|
||||
[[URIParser]]
|
||||
deps = ["Unicode"]
|
||||
git-tree-sha1 = "53a9f49546b8d2dd2e688d216421d050c9a31d0d"
|
||||
uuid = "30578b45-9adc-5946-b283-645ec420af67"
|
||||
version = "0.4.1"
|
||||
|
||||
[[UUIDs]]
|
||||
deps = ["Random", "SHA"]
|
||||
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
|
||||
|
||||
[[Unicode]]
|
||||
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
|
||||
|
||||
[[Zlib_jll]]
|
||||
deps = ["Libdl"]
|
||||
uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
|
||||
|
||||
[[nghttp2_jll]]
|
||||
deps = ["Artifacts", "Libdl"]
|
||||
uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d"
|
||||
|
||||
[[p7zip_jll]]
|
||||
deps = ["Artifacts", "Libdl"]
|
||||
uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
|
|
@ -1,3 +0,0 @@
|
|||
[deps]
|
||||
LanguageServer = "2b0e0bc5-e4fd-59b4-8912-456d1b03d8d7"
|
||||
SymbolServer = "cf896787-08d5-524d-9de7-132aaa0cb996"
|
|
@ -1,37 +0,0 @@
|
|||
# Load LanguageServer from the project next to this file
|
||||
## Save old load path
|
||||
old_load_path = copy(LOAD_PATH)
|
||||
push!(empty!(LOAD_PATH), @__DIR__)
|
||||
## Load packages
|
||||
using LanguageServer, SymbolServer
|
||||
## Restore old load path
|
||||
append!(empty!(LOAD_PATH), old_load_path)
|
||||
|
||||
# Figure out the active project
|
||||
## This configuration is a good default
|
||||
project_path = let
|
||||
dirname(something(
|
||||
## 1. Finds an explicitly set project (JULIA_PROJECT)
|
||||
Base.load_path_expand((
|
||||
p = get(ENV, "JULIA_PROJECT", nothing);
|
||||
p === nothing ? nothing : isempty(p) ? nothing : p
|
||||
)),
|
||||
## 2. Look for a Project.toml file in the current working directory,
|
||||
## or parent directories, with $HOME as an upper boundary
|
||||
Base.current_project(),
|
||||
## 3. First entry in the load path
|
||||
get(Base.load_path(), 1, nothing),
|
||||
## 4. Fallback to default global environment,
|
||||
## this is more or less unreachable
|
||||
Base.load_path_expand("@v#.#"),
|
||||
))
|
||||
end
|
||||
|
||||
# Depot path for the server to index (empty uses default).
|
||||
depot_path = get(ENV, "JULIA_DEPOT_PATH", "")
|
||||
|
||||
# Start the server
|
||||
@info "Running julia language server" VERSION project_path depot_path
|
||||
server = LanguageServer.LanguageServerInstance(stdin, stdout, project_path, depot_path)
|
||||
server.runlinter = true
|
||||
run(server)
|
Loading…
Reference in a new issue