ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Pretty Protobuf

by hanfezh ST4

Plugin to prettify Protobuf message debug string for Sublime Text 4

Details

Installs

  • Total 2K
  • Win 655
  • Mac 1K
  • Linux 190
Aug 28 Aug 27 Aug 26 Aug 25 Aug 24 Aug 23 Aug 22 Aug 21 Aug 20 Aug 19 Aug 18 Aug 17 Aug 16 Aug 15 Aug 14 Aug 13 Aug 12 Aug 11 Aug 10 Aug 9 Aug 8 Aug 7 Aug 6 Aug 5 Aug 4 Aug 3 Aug 2 Aug 1 Jul 31 Jul 30 Jul 29 Jul 28 Jul 27 Jul 26 Jul 25 Jul 24 Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14
Windows 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 2 0 0 0 1 0 0 0 0 0 1 1 0 0 0
Mac 0 0 3 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 3 0 2 1 0 1 0 2 2 2
Linux 0 0 0 0 0 0 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0

Readme

Source
raw.​githubusercontent.​com

Pretty Protobuf

It is a plugin for Sublime Text 4, used to prettify the debug string of Protobuf messages.

Use Python Lex-Yacc to parse the debug string.

Installation

Install “Pretty Protobuf” via Package Control.

Or manually, take macOS as an example:

# Go to the packages directory of Sublime Text
# Sublime Text -> Preferences -> Browse Packages...
cd $HOME/Library/Application\ Support/Sublime\ Text/Packages
git clone https://github.com/hanfezh/pretty-protobuf.git Pretty\ Protobuf

Usage

To prettify proto's debug string, select message's debug string and run command “Pretty Protobuf: Format Message Debug String” through Command Palette Command+Shift+P (macOS). If no selection, the entire file is used by default.

To map a key combination like Ctrl+Shift+J to the Minify command, you can add a setting like this to your .sublime-keymap file (eg: Packages/User/Default (OSX).sublime-keymap):

[
    {
        "keys": [
            "ctrl+shift+j"
        ],
        "command": "pretty_debug_string"
    }
]

Demo of Pretty Protobuf Debug String

To prettify Protobuf, execute command “Pretty Protobuf: Format Protobuf”:

Configuration

Default settings for prettifying message debug string:

  • indent: 4 spaces
  • sort_keys: false, set true to sort keys
  • use_entire_file_if_no_selection: true
  • clang_format_path: clang-format, change to canonical path, such as /usr/local/bin/clang-format
{
    "indent": 4,
    "sort_keys": false,
    "use_entire_file_if_no_selection": true,
    "clang_format_path": "clang-format"
}