blob: 8f3a558fcd0d086f6d7478419f8e5d856aeb9227 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
// Copyright 2025 WIT.COM Inc Licensed GPL 3.0
syntax = "proto3";
package argvpb;
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
import "google/protobuf/duration.proto"; // for duration
message App {
string APPNAME = 1;
string VERSION = 2;
string BUILDTIME = 3;
}
message Argv { // `autogenpb:marshal` `autogenpb:sort` `autogenpb:nomutex`
google.protobuf.Timestamp ctime = 1; // when the user tried this autocomplete
google.protobuf.Duration duration = 2; // time since the last autocomplete
string argname = 3; // what the shell thinks the name of the executable is
string arg0 = 4; // what os.Exec() has as os.Argv[0] // not interesting
string arg1 = 5; // should always be "--auto-complete" // not interesting
string arg3 = 6; // usually argv3 == argv0
repeated string real = 7; // what is really sent to the application
string cmd = 8; // the cmd being processed. For "git pull <tab>", cmd would be "pull"
string partial = 9; // set to the partial string trying to be matched
bool isAuto = 10; // is true if '--auto-complete' is set
bool setupAuto = 11; // is true if '--bash' is set // setup bash autocomplete here
bool debug = 12; // print debugging info if true
bool newline = 13; // was a newline was sent to STDERR?
string last = 14; // the last arg
repeated string goargs = 15; // what to send to alex flint's go-args for help
bool fast = 16; // was the user fast last time?
string fastcmd = 17; // what subcommand was the user fast on?
App app = 18;
}
message Argvs { // `autogenpb:marshal` `autogenpb:sort` `autogenpb:nomutex`
string uuid = 1; // `autogenpb:uuid:1e6e765c-0c77-4c81-a622-0d819bfcce9a`
string version = 2; // `autogenpb:version:v0.0.3`
repeated Argv argvs = 3;
string filename = 4; // `autogenpb:save` -- this enables autogenerated pb.Load() and pb.Save()
}
|