aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/haxe_language_server.lua
blob: 24d1cd7308bed8289e01b00130523f7554e04d95 (plain) (blame)
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
local configs = require "lspconfig/configs"
local util = require "lspconfig/util"

configs.haxe_language_server = {
  default_config = {
    cmd = { "haxe-language-server" },
    filetypes = { "haxe" },
    root_dir = util.root_pattern "*.hxml",
    settings = {
      haxe = {
        executable = "haxe",
      },
    },
    init_options = {
      displayArguments = { "build.hxml" },
    },
  },
  docs = {
    description = [[
https://github.com/vshaxe/haxe-language-server

The Haxe language server can be built by running the following commands from
the project's root directory:

    npm install
    npx lix run vshaxe-build -t language-server

This will create `bin/server.js`. Note that the server requires Haxe 3.4.0 or
higher.

After building the language server, set the `cmd` setting in your setup
function:

```lua
lspconfig.haxe_language_server.setup({
  cmd = {"node", "path/to/bin/server.js"},
})
```

By default, an HXML compiler arguments file named `build.hxml` is expected in
your project's root directory. If your file is named something different,
specify it using the `init_options.displayArguments` setting.
]],
    default_config = {
      root_dir = [[root_pattern("*.hxml")]],
    },
  },
}