summaryrefslogtreecommitdiff
path: root/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/glint.lua
blob: 1d991cff9da2836ec4f4b9e564fc9eff05188666 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
local util = require 'lspconfig.util'

return {
  default_config = {
    cmd = { 'glint-language-server' },
    on_new_config = function(config, new_root_dir)
      local project_root = util.find_node_modules_ancestor(new_root_dir)
      -- Glint should not be installed globally.
      local node_bin_path = util.path.join(project_root, 'node_modules', '.bin')
      local path = node_bin_path .. util.path.path_separator .. vim.env.PATH
      if config.cmd_env then
        config.cmd_env.PATH = path
      else
        config.cmd_env = { PATH = path }
      end
    end,
    filetypes = {
      'html.handlebars',
      'handlebars',
      'typescript',
      'typescript.glimmer',
      'javascript',
      'javascript.glimmer',
    },
    root_dir = util.root_pattern(
      '.glintrc.yml',
      '.glintrc',
      '.glintrc.json',
      '.glintrc.js',
      'glint.config.js',
      'package.json'
    ),
  },
  docs = {
    description = [[
  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
  ```

  or

  ```sh
  yarn add -D @glint/core
  ```

  or

  ```sh
  pnpm add -D @glint/core
  ```
]],
  },
}