Language Server for protocol buffers
Find a file
Mohammad Ashar Khan 2ebbb0ffa5
protols: publish to crates.io (#6)
Closes #5

---------

Co-authored-by: coder3101 <ashar786khan@gmail.com>
2024-06-22 15:23:59 +05:30
.github/workflows Create ci.yml 2024-06-10 10:15:00 +05:30
src protols: publish to crates.io (#6) 2024-06-22 15:23:59 +05:30
.gitignore feat: Add support for go to definition and hover and diagnostics on single file (#2) 2024-06-16 23:30:29 +05:30
Cargo.lock protols: publish to crates.io (#6) 2024-06-22 15:23:59 +05:30
Cargo.toml protols: publish to crates.io (#6) 2024-06-22 15:23:59 +05:30
LICENSE Initial commit 2024-06-10 10:11:37 +05:30
README.md protols: publish to crates.io (#6) 2024-06-22 15:23:59 +05:30

protols

A Language Server for proto3 files. It uses tree-sitter parser for all operations and always runs in single file mode.

Features

  • Hover
  • Go to definition
  • Diagnostics

Installation and testing

Clone the repository and run cargo install protols to install locally in your ~/.cargo/bin and the below to your init.lua until we start shipping this via Mason.

local client = vim.lsp.start_client({
	name = "protols",
	cmd = { vim.fn.expand("$HOME/.cargo/bin/protols") },
})

if not client then
	vim.notify("Could not connect to protols server")
end

vim.api.nvim_create_autocmd("FileType", {
	pattern = "proto",
	callback = function()
		vim.lsp.buf_attach_client(0, client)
	end,
})