aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorNicholas Scheurich <nick@scheurich.me>2021-01-30 19:12:18 -0600
committerNicholas Scheurich <nick@scheurich.me>2021-03-11 12:40:05 -0600
commit3363f03902d0df5c73255e10c14e05d4c36beb4e (patch)
tree566d874a8cd487b99510ee37b370c9bcc86d9c48 /lua
parent[docgen] Update CONFIG.md (diff)
downloadnvim-lspconfig-3363f03902d0df5c73255e10c14e05d4c36beb4e.tar
nvim-lspconfig-3363f03902d0df5c73255e10c14e05d4c36beb4e.tar.gz
nvim-lspconfig-3363f03902d0df5c73255e10c14e05d4c36beb4e.tar.bz2
nvim-lspconfig-3363f03902d0df5c73255e10c14e05d4c36beb4e.tar.lz
nvim-lspconfig-3363f03902d0df5c73255e10c14e05d4c36beb4e.tar.xz
nvim-lspconfig-3363f03902d0df5c73255e10c14e05d4c36beb4e.tar.zst
nvim-lspconfig-3363f03902d0df5c73255e10c14e05d4c36beb4e.zip
Add support for the Haxe Language Server
This adds support for the language server used by the Visual Studio Code Haxe Extension: https://github.com/vshaxe/haxe-language-server I've found this language server to be tricky to properly attach to, but this config should do the trick.
Diffstat (limited to 'lua')
-rw-r--r--lua/lspconfig/haxe_language_server.lua48
1 files changed, 48 insertions, 0 deletions
diff --git a/lua/lspconfig/haxe_language_server.lua b/lua/lspconfig/haxe_language_server.lua
new file mode 100644
index 00000000..8660ea1e
--- /dev/null
+++ b/lua/lspconfig/haxe_language_server.lua
@@ -0,0 +1,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")]];
+ };
+ }
+}