diff options
Diffstat (limited to '.config/nvim/lsp/glint.lua')
-rw-r--r-- | .config/nvim/lsp/glint.lua | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/.config/nvim/lsp/glint.lua b/.config/nvim/lsp/glint.lua new file mode 100644 index 0000000..7da9414 --- /dev/null +++ b/.config/nvim/lsp/glint.lua @@ -0,0 +1,54 @@ +---@brief +--- +--- https://github.com/typed-ember/glint +--- https://typed-ember.gitbook.io/glint/ +--- `glint-language-server` is installed when adding `@glint/core` to your project's devDependencies: +--- +--- ```sh +--- npm install @glint/core --save-dev +--- yarn add -D @glint/core +--- +--- This configuration uses the local installation of `glint-language-server` +--- (found in the `node_modules` directory of your project). +--- +--- To use a global installation of `glint-language-server`, +--- set the `init_options.glint.useGlobal` to `true`. +--- +--- vim.lsp.config('glint', { +--- init_options = { +--- glint = { +--- useGlobal = true, +--- }, +--- }, +--- }) + +---@type vim.lsp.Config +return { + cmd = function(dispatchers, config) + local cmd = (config.init_options.glint.useGlobal or not config.root_dir) and { 'glint-language-server' } + or { config.root_dir .. '/node_modules/.bin/glint-language-server' } + return vim.lsp.rpc.start(cmd, dispatchers) + end, + init_options = { + glint = { + useGlobal = false, + }, + }, + filetypes = { + 'html.handlebars', + 'handlebars', + 'typescript', + 'typescript.glimmer', + 'javascript', + 'javascript.glimmer', + }, + root_markers = { + '.glintrc.yml', + '.glintrc', + '.glintrc.json', + '.glintrc.js', + 'glint.config.js', + 'package.json', + }, + workspace_required = true, +} |