summaryrefslogtreecommitdiff
path: root/argv.proto
diff options
context:
space:
mode:
Diffstat (limited to 'argv.proto')
-rw-r--r--argv.proto35
1 files changed, 35 insertions, 0 deletions
diff --git a/argv.proto b/argv.proto
new file mode 100644
index 0000000..c5f26b9
--- /dev/null
+++ b/argv.proto
@@ -0,0 +1,35 @@
+// 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 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?
+}
+
+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()
+}