Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -517,7 +517,7 @@ jobs:
path: dist/plugins
retention-days: "7"
build-plugins-pine:
name: "Plugins (pine): capnp, dart, devicetree, rescript, solidity, starlark, swift, textproto, thrift, uiua, wit, yuri"
name: "Plugins (pine): capnp, dart, devicetree, proto, rescript, solidity, starlark, swift, textproto, thrift, uiua, wit, yuri"
runs-on: depot-ubuntu-24.04-32
container: "ghcr.io/bearcove/arborium-plugin-builder:latest"
needs:
Expand All @@ -535,10 +535,10 @@ jobs:
set -e
tar -xf generate-output.tar && rm generate-output.tar
shell: bash
- name: Build capnp, dart, devicetree, rescript, solidity, starlark, swift, textproto, thrift, uiua, wit, yuri
- name: Build capnp, dart, devicetree, proto, rescript, solidity, starlark, swift, textproto, thrift, uiua, wit, yuri
run: |-
set -e
./xtask/target/release/xtask build capnp dart devicetree rescript solidity starlark swift textproto thrift uiua wit yuri -o dist/plugins
./xtask/target/release/xtask build capnp dart devicetree proto rescript solidity starlark swift textproto thrift uiua wit yuri -o dist/plugins
shell: bash
- name: Upload plugins artifact
uses: actions/upload-artifact@v4
Expand Down
33 changes: 33 additions & 0 deletions demo/samples/proto.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
syntax = "proto3";
package tutorial;

import "google/protobuf/timestamp.proto";

option go_package = "github.com/protocolbuffers/protobuf/examples/go/tutorialpb";

message Person {
string name = 1;
int32 id = 2; // Unique ID number for this person.
string email = 3;

message PhoneNumber {
string number = 1;
PhoneType type = 2;
}

repeated PhoneNumber phones = 4;

google.protobuf.Timestamp last_updated = 5;
}

enum PhoneType {
PHONE_TYPE_UNSPECIFIED = 0;
PHONE_TYPE_MOBILE = 1;
PHONE_TYPE_HOME = 2;
PHONE_TYPE_WORK = 3;
}

// Our address book file is just one of these.
message AddressBook {
repeated Person people = 1;
}
24 changes: 24 additions & 0 deletions langs/group-pine/proto/def/arborium.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
repo: https://github.com/coder3101/tree-sitter-proto
commit: d65a18ce7c2242801f702770114ad08056c7f8c9
license: MIT

grammars:
- id: proto
name: Protocol Buffers
tag: data
tier: 3
icon: vscode-icons:file-type-protobuf
aliases:
- protobuf

inventor: Google
year: 2008
description: Protocol Buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data.
link: https://protobuf.dev
trivia: The first release of Protocol Buffers was "Proto2"; "Proto1" only existed internally at Google.

samples:
- path: samples/addressbook.proto
description: Address book example from the Go Protocol Buffer tutorial.
link: https://protobuf.dev/getting-started/gotutorial
license: BSD-3-Clause
Loading