A language server implementation for Google Protocol Buffers
I created this tool primarily to streamline my own workflow. While some implementations might not be optimal and the features may feel incomplete, it serves my needs well enough as it is. That said, if you've got a better solution in mind, I'd be happy to switch to yours.
Build binary
go clean -modcache # install to `go env GOPATH` go install github.com/lasorda/protobuf-language-server@master
Add it to your PATH
Configure vim/nvim
Using coc.nvim, add it to :CocConfig
"languageserver": { "proto" :{ "command": "protobuf-language-server", "filetypes": ["proto", "cpp"], "settings": { "additional-proto-dirs": [ ] } } }
Using lsp-config.nvim
-- first we need to configure our custom server local configs = require('lspconfig.configs') local util = require('lspconfig.util') configs.protobuf_language_server = { default_config = { cmd = { 'path/to/protobuf-language-server' }, filetypes = { 'proto', 'cpp' }, root_dir = util.root_pattern('.git'), single_file_support = true, settings = { ["additional-proto-dirs"] = [ -- path to additional protobuf directories -- "vendor", -- "third_party", ] }, } } -- then we can continue as we do with official servers local lspconfig = require('lspconfig') lspconfig.protobuf_language_server.setup { -- your custom stuff }
if you use vscode, see vscode-extension/README.md
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4