Devicetree Language Server (dts-lsp)

Looks like this will take some configuration for Helix …

NPM package: https://www.npmjs.com/package/devicetree-language-server

DTS Linter

There is also a linter that the Zephyr project is using in its CI now:

https://www.npmjs.com/package/dts-linter

Configuring in Helix

From an issue discussion:

the lsp is easy to setup (and works great) on helix too, the following config works for me:

[[language]]
name = "devicetree"
language-servers = ["devicetree_ls"]

[language-server.devicetree_ls]
command = "devicetree-language-server"
args = ["--stdio"]
config = { devicetree = { cwd = "/home/bex/zephyrproject/", defaultIncludePaths = ["./zephyr/dts","./zephyr/dts/arm","./zephyr/dts/arm64","./zephyr/dts/riscv","./zephyr/dts/common","./zephyr/dts/vendor","./zephyr/include","./zephyr/dts/xtensa"], defaultBindingType = "Zephyr", defaultZephyrBindings = ["./zephyr/dts/bindings"], contexts = [] } }
1 Like