see: https://github.com/kirides/vscode-daedalus
The server looks for a _externals\
directory located in the workspace root.
When there is a _externals\externals.src
it will try to parse it and all referenced files right after parsing the built-in externals and before parsing user scripts.
- If there is no
_externals\externals.src
we look for a_externals\externals.d
and try to parse that.
This externals should be provided from Union plugins such as zParserExtender.
g1_nx_credits_h264.mp4
Minimum configuration needed to run the language server
somewhere in init.lua or any lua script
vim.api.nvim_create_autocmd("FileType", {
pattern = "d",
callback = function(ev)
local root_dir = vim.fs.dirname(
vim.fs.find({ 'Gothic.src', 'Camera.src', 'Menu.src', 'Music.src', 'ParticleFX.src', 'SFX.src', 'VisualFX.src' }, { upward = true })[1]
)
local client = vim.lsp.start({
name = 'DLS',
cmd = {'C:/.../DaedalusLanguageServer.exe'},
root_dir = root_dir,
-- configure language server specific options
settings = {
daedalusLanguageServer = {
loglevel = 'debug',
inlayHints = { constants = true },
numParserThreads = 16,
fileEncoding = 'Windows-1252',
srcFileEncoding ='Windows-1252',
},
},
})
vim.lsp.buf_attach_client(0, client)
end
})
vim.cmd([[highlight! link LspSignatureActiveParameter Search]])