mirror of
https://github.com/neovim/nvim-lspconfig.git
synced 2026-05-08 01:56:09 +02:00
65 lines
2.0 KiB
Lua
65 lines
2.0 KiB
Lua
-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
-- This config is DEPRECATED.
|
|
-- Use the configs in `lsp/` instead (requires Nvim 0.11).
|
|
--
|
|
-- ALL configs in `lua/lspconfig/configs/` will be DELETED.
|
|
-- They exist only to support Nvim 0.10 or older.
|
|
-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
return {
|
|
default_config = {
|
|
cmd = { 'gh-actions-language-server', '--stdio' },
|
|
filetypes = { 'yaml' },
|
|
|
|
-- Only attach to yaml files that are GitHub workflows instead of all yaml
|
|
-- files. (A nil root_dir and no single_file_support results in the LSP not
|
|
-- attaching.) For details, see #3558
|
|
root_dir = function(filename)
|
|
local dirs_to_check = {
|
|
'.github/workflows',
|
|
'.forgejo/workflows',
|
|
'.gitea/workflows',
|
|
}
|
|
|
|
local dir = vim.fs.dirname(filename)
|
|
for _, subdir in ipairs(dirs_to_check) do
|
|
local match = vim.fs.find(subdir, { path = dir, upward = true })[1]
|
|
if match and vim.fn.isdirectory(match) == 1 and vim.fs.dirname(filename) == match then
|
|
return match
|
|
end
|
|
end
|
|
|
|
return nil
|
|
end,
|
|
|
|
-- Disabling "single file support" is a hack to avoid enabling this LS for
|
|
-- every random yaml file, so `root_dir()` can control the enablement.
|
|
single_file_support = false,
|
|
|
|
capabilities = {
|
|
workspace = {
|
|
didChangeWorkspaceFolders = {
|
|
dynamicRegistration = true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
docs = {
|
|
description = [[
|
|
https://github.com/lttb/gh-actions-language-server
|
|
|
|
Language server for GitHub Actions.
|
|
|
|
The projects [forgejo](https://forgejo.org/) and [gitea](https://about.gitea.com/)
|
|
design their actions to be as compatible to github as possible
|
|
with only [a few differences](https://docs.gitea.com/usage/actions/comparison#unsupported-workflows-syntax) between the systems.
|
|
The `gh_actions_ls` is therefore enabled for those `yaml` files as well.
|
|
|
|
The `gh-actions-language-server` can be installed via `npm`:
|
|
|
|
```sh
|
|
npm install -g gh-actions-language-server
|
|
```
|
|
]],
|
|
},
|
|
}
|