mirror of
https://github.com/neovim/nvim-lspconfig.git
synced 2025-12-24 15:01:00 +01:00
Problem: If project had a nested child gitlab file named: .gitlab-ci.yml it would take it as root. Solution: If inside GIT repository just use git repository root as root and still keep the option for .gitlab* as fallback if there is no git repo yet.
27 lines
640 B
Lua
27 lines
640 B
Lua
---@brief
|
|
---
|
|
--- https://github.com/alesbrelih/gitlab-ci-ls
|
|
---
|
|
--- Language Server for Gitlab CI
|
|
---
|
|
--- `gitlab-ci-ls` can be installed via cargo:
|
|
--- cargo install gitlab-ci-ls
|
|
|
|
local util = require 'lspconfig.util'
|
|
|
|
local cache_dir = vim.uv.os_homedir() .. '/.cache/gitlab-ci-ls/'
|
|
|
|
---@type vim.lsp.Config
|
|
return {
|
|
cmd = { 'gitlab-ci-ls' },
|
|
filetypes = { 'yaml.gitlab' },
|
|
root_dir = function(bufnr, on_dir)
|
|
local fname = vim.api.nvim_buf_get_name(bufnr)
|
|
on_dir(util.root_pattern('.git', '.gitlab*')(fname))
|
|
end,
|
|
init_options = {
|
|
cache_path = cache_dir,
|
|
log_path = cache_dir .. '/log/gitlab-ci-ls.log',
|
|
},
|
|
}
|