aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lsp/gitlab_ci_ls.lua
blob: d2f80ab45921284b5fc2c874fbfc79303b69e7b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
---@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',
  },
}