blob: acd9341a5e3dd6f29d43420b7c04b647c499d7af (
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://sr.ht/~xerool/fennel-ls/
---
--- A language server for fennel.
---
--- fennel-ls is configured using the closest file to your working directory named `flsproject.fnl`.
--- All fennel-ls configuration options [can be found here](https://git.sr.ht/~xerool/fennel-ls/tree/HEAD/docs/manual.md#configuration).
---@type vim.lsp.Config
return {
cmd = { 'fennel-ls' },
filetypes = { 'fennel' },
root_dir = function(bufnr, on_dir)
local fname = vim.api.nvim_buf_get_name(bufnr)
local has_fls_project_cfg = function(path)
local fnlpath = vim.fs.joinpath(path, 'flsproject.fnl')
return (vim.uv.fs_stat(fnlpath) or {}).type == 'file'
end
on_dir(vim.iter(vim.fs.parents(fname)):find(has_fls_project_cfg) or vim.fs.root(0, '.git'))
end,
settings = {},
capabilities = {
offsetEncoding = { 'utf-8', 'utf-16' },
},
}
|