A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/lasorda/protobuf-language-server below:

lasorda/protobuf-language-server: A language server implementation for Google Protocol Buffers

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

  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)

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