38 lines
888 B
Markdown
38 lines
888 B
Markdown
# ccserver
|
|
|
|
> [!IMPORTANT]
|
|
> This is currently a work in progress.
|
|
|
|
**ccserver** is a LSP server for ML code completion (and more?).
|
|
|
|
## Developing
|
|
|
|
Clone/fork this repo and run `cargo build [--release]`.
|
|
|
|
Then add the following code to your lua config:
|
|
|
|
```lua
|
|
local client_id = vim.lsp.start({
|
|
name = "ccserver",
|
|
cmd = { "/path/to/ccserver/target/{debug|release}/ccserver" },
|
|
root_dir = vim.fs.dirname(vim.fs.find({ ".git" }, { upward = true })[1]),
|
|
})
|
|
|
|
if client_id == nil then
|
|
vim.notify("[ccserver] Error starting server", vim.log.levels.ERROR)
|
|
else
|
|
local augroup = "ccserver"
|
|
|
|
vim.api.nvim_create_augroup(augroup, { clear = true })
|
|
|
|
vim.api.nvim_create_autocmd("BufEnter", {
|
|
pattern = "*",
|
|
callback = function(ev)
|
|
if not vim.lsp.buf_is_attached(ev.buf, client_id) then
|
|
vim.lsp.buf_attach_client(ev.buf, client_id)
|
|
end
|
|
end,
|
|
})
|
|
end
|
|
```
|