docs: Proto formatter example (#20677)

This commit is contained in:
Peter Tripp 2024-11-14 16:25:37 +00:00 committed by GitHub
parent 5fab3ca5ba
commit c650ba4e72
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3,3 +3,41 @@
Proto/proto3 (Protocol Buffers definition language) support is available natively in Zed.
- Tree Sitter: [coder3101/tree-sitter-proto](https://github.com/coder3101/tree-sitter-proto)
- Language Server: [protols](https://github.com/coder3101/protols)
## Formatting
ProtoLS supports formatting if you have `clang-format` installed.
```sh
# MacOS:
brew install clang-format
# Ubuntu
sudo apt-get install clang-format
# Fedora
sudo dnf install clang-tools-extra
```
To customize your formatting preferences, create a `.clang-format` file, e.g.:
```clang-format
IndentWidth: 4
ColumnLimit: 120
```
Or you can have zed directly invoke `clang-format` by specifying it as a [formatter](https://zed.dev/docs/configuring-zed#formatter) in your settings:
```json
"languages": {
"Proto": {
"format_on_save": "on",
"tab_size": 4,
"formatter": {
"external": {
"command": "clang-format",
"arguments": ["-style={IndentWidth: 4, ColumnLimit: 0}"]
}
}
},
}
```