8000 GitHub - 3DRX/protobuf-language-server: A language server implementation for Google Protocol Buffers
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

3DRX/protobuf-language-server

 
 

Repository files navigation

protobuf-language-server

A language server implementation for Google Protocol Buffers

installation

Build binary

go clean -modcache
# insatll to `go env GOPATH`
go install github.com/lasorda/protobuf-language-server@latest

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

features

  1. Parsing document symbols
  2. Go to definition
  3. Symbol definition on hover
  4. Format file with clang-format
  5. Code completion
  6. Jump from protobuf's cpp header to proto define (only global message and enum)

About

A language server implementation for Google Protocol Buffers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.4%
  • Other 0.6%
0