summaryrefslogtreecommitdiff
path: root/example_test.go
diff options
context:
space:
mode:
authorEyal Posener <[email protected]>2017-05-06 22:06:49 +0300
committerEyal Posener <[email protected]>2017-05-06 22:15:15 +0300
commit703dd6ebc30f7c6f5a5c02e07a307e0e34d9c2c2 (patch)
tree6efd5f6d1205eb6188193c86f5dd1e256b8996c5 /example_test.go
parent9963a854946be0603f9e79ccba0a8b2688b20053 (diff)
improve docs
Diffstat (limited to 'example_test.go')
-rw-r--r--example_test.go46
1 files changed, 46 insertions, 0 deletions
diff --git a/example_test.go b/example_test.go
new file mode 100644
index 0000000..35664f3
--- /dev/null
+++ b/example_test.go
@@ -0,0 +1,46 @@
+package complete_test
+
+import "github.com/posener/complete"
+
+func main() {
+
+ // create a Command object, that represents the command we want
+ // to complete.
+ run := complete.Command{
+
+ // Name must be exactly as the binary that we want to complete
+ Name: "run",
+
+ // Sub defines a list of sub commands of the program,
+ // this is recursive, since every command is of type command also.
+ Sub: complete.Commands{
+
+ // add a build sub command
+ "build": complete.Command{
+
+ // define flags of the build sub command
+ Flags: complete.Flags{
+ // build sub command has a flag '-fast', which
+ // does not expects anything after it.
+ "-fast": complete.PredictNothing,
+ },
+ },
+ },
+
+ // define flags of the 'run' main command
+ Flags: complete.Flags{
+
+ // a flag '-h' which does not expects anything after it
+ "-h": complete.PredictNothing,
+
+ // a flag -o, which expects a file ending with .out after
+ // it, the tab completion will auto complete for files matching
+ // the given pattern.
+ "-o": complete.PredictFiles("*.out"),
+ },
+ }
+
+ // run the command completion, as part of the main() function.
+ // this triggers the autocompletion when needed.
+ complete.Run(run)
+}