mirror of
https://github.com/neovim/nvim-lspconfig.git
synced 2026-05-06 17:16:09 +02:00
79 lines
2.0 KiB
Lua
79 lines
2.0 KiB
Lua
-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
-- This config is DEPRECATED.
|
|
-- Use the configs in `lsp/` instead (requires Nvim 0.11).
|
|
--
|
|
-- ALL configs in `lua/lspconfig/configs/` will be DELETED.
|
|
-- They exist only to support Nvim 0.10 or older.
|
|
-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
local util = require 'lspconfig.util'
|
|
|
|
local function find_hxml(path)
|
|
return vim.fs.find(function(name)
|
|
return name:match '.hxml$'
|
|
end, { path = path, type = 'file' })
|
|
end
|
|
|
|
return {
|
|
default_config = {
|
|
cmd = { 'haxe-language-server' },
|
|
filetypes = { 'haxe' },
|
|
root_dir = util.root_pattern('*.hxml', '.git'),
|
|
settings = {
|
|
haxe = {
|
|
executable = 'haxe',
|
|
},
|
|
},
|
|
-- Default value is set by on_new_config.
|
|
init_options = {},
|
|
on_new_config = function(new_config, new_root_dir)
|
|
if new_config.init_options.displayArguments then
|
|
return
|
|
end
|
|
|
|
local hxml = find_hxml(new_root_dir)[1]
|
|
if hxml then
|
|
vim.notify('Using HXML: ' .. hxml)
|
|
new_config.init_options.displayArguments = { hxml }
|
|
end
|
|
end,
|
|
},
|
|
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, the language server is configured with the HXML compiler arguments
|
|
contained in the first `.hxml` file found in your project's root directory.
|
|
If you want to specify which one to use, set the `init_options.displayArguments`
|
|
setting:
|
|
|
|
```lua
|
|
lspconfig.haxe_language_server.setup({
|
|
-- ...
|
|
init_options = {
|
|
displayArguments = { "build.hxml" },
|
|
},
|
|
})
|
|
```
|
|
|
|
]],
|
|
},
|
|
}
|