# Language Server for Device Tree Source files
[![Build Status][actions-badge]][actions-url]
[![Crates.io][crates-badge]][crates-url]
[crates-badge]: https://img.shields.io/crates/v/dts-lsp.svg
[crates-url]: https://crates.io/crates/dts-lsp
[actions-badge]: https://github.com/igor-prusov/dts-lsp/actions/workflows/build.yml/badge.svg
[actions-url]: https://github.com/igor-prusov/dts-lsp/actions/workflows/build.yml?query=branch%3Amaster
An LSP for DTS files built on top of [tree-sitter-devicetree](https://github.com/joelspadin/tree-sitter-devicetree) grammar.
## Features and Roadmap
- [x] Go to label definition
- [x] Find references to label
- [x] Handle editor buffer changes
- [x] Rename labels/references
## Installation
```sh
cargo install dts-lsp
```
## Neovim configuration
```lua
vim.api.nvim_create_autocmd('FileType', {
pattern = "dts",
callback = function (ev)
vim.lsp.start({
name = 'dts-lsp',
cmd = {'dts-lsp'},
root_dir = vim.fs.dirname(vim.fs.find({'.git'}, { upward = true })[1]),
})
end
})
```