From de009fd679e10d053fdcc10785f91ad5317449ea Mon Sep 17 00:00:00 2001 From: awy Date: Tue, 14 Oct 2025 18:27:29 +0300 Subject: nvim revamp --- .config/nvim/lsp/foam_ls.lua | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .config/nvim/lsp/foam_ls.lua (limited to '.config/nvim/lsp/foam_ls.lua') diff --git a/.config/nvim/lsp/foam_ls.lua b/.config/nvim/lsp/foam_ls.lua new file mode 100644 index 0000000..636b066 --- /dev/null +++ b/.config/nvim/lsp/foam_ls.lua @@ -0,0 +1,29 @@ +---@brief +--- +--- https://github.com/FoamScience/foam-language-server +--- +--- `foam-language-server` can be installed via `npm` +--- ```sh +--- npm install -g foam-language-server +--- ``` + +---@type vim.lsp.Config +return { + cmd = { 'foam-ls', '--stdio' }, + filetypes = { 'foam', 'OpenFOAM' }, + root_dir = function(bufnr, on_dir) + local fname = vim.api.nvim_buf_get_name(bufnr) + for path in vim.fs.parents(fname) do + if vim.uv.fs_stat(path .. '/system/controlDict') then + on_dir(path) + return + end + end + local git_root = vim.fs.root(bufnr, { '.git' }) + if git_root then + on_dir(git_root) + return + end + on_dir(vim.fs.dirname(fname)) + end, +} -- cgit v1.2.3