diff --git a/gocomplete/complete.go b/gocomplete/complete.go index 00392eb..9f46dcd 100644 --- a/gocomplete/complete.go +++ b/gocomplete/complete.go @@ -126,11 +126,264 @@ func main() { Args: complete.PredictOr(anyPackage, ellipsis), } + doc := complete.Command{ + Flags: complete.Flags{ + "-c": complete.PredictNothing, + "-cmd": complete.PredictNothing, + "-u": complete.PredictNothing, + }, + Args: anyPackage, + } + tool := complete.Command{ Flags: complete.Flags{ "-n": complete.PredictNothing, }, - Args: complete.PredictAnything, + Sub: complete.Commands{ + "addr2line": { + Args: anyFile, + }, + "asm": { + Flags: complete.Flags{ + "-D": complete.PredictAnything, + "-I": complete.PredictDirs("*"), + "-S": complete.PredictNothing, + "-debug": complete.PredictNothing, + "-dynlink": complete.PredictNothing, + "-e": complete.PredictNothing, + "-o": anyFile, + "-shared": complete.PredictNothing, + "-trimpath": complete.PredictNothing, + }, + Args: complete.PredictFiles("*.s"), + }, + "cgo": { + Flags: complete.Flags{ + "-debug-define": complete.PredictNothing, + "debug-gcc": complete.PredictNothing, + "dynimport": anyFile, + "dynlinker": complete.PredictNothing, + "dynout": anyFile, + "dynpackage": anyPackage, + "exportheader": complete.PredictDirs("*"), + "gccgo": complete.PredictNothing, + "gccgopkgpath": complete.PredictDirs("*"), + "gccgoprefix": complete.PredictAnything, + "godefs": complete.PredictNothing, + "import_runtime_cgo": complete.PredictNothing, + "import_syscall": complete.PredictNothing, + "importpath": complete.PredictDirs("*"), + "objdir": complete.PredictDirs("*"), + "srcdir": complete.PredictDirs("*"), + }, + Args: goFiles, + }, + "compile": { + Flags: complete.Flags{ + "-%": complete.PredictNothing, + "-+": complete.PredictNothing, + "-B": complete.PredictNothing, + "-D": complete.PredictDirs("*"), + "-E": complete.PredictNothing, + "-I": complete.PredictDirs("*"), + "-K": complete.PredictNothing, + "-N": complete.PredictNothing, + "-S": complete.PredictNothing, + "-V": complete.PredictNothing, + "-W": complete.PredictNothing, + "-asmhdr": anyFile, + "-bench": anyFile, + "-buildid": complete.PredictNothing, + "-complete": complete.PredictNothing, + "-cpuprofile": anyFile, + "-d": complete.PredictNothing, + "-dynlink": complete.PredictNothing, + "-e": complete.PredictNothing, + "-f": complete.PredictNothing, + "-h": complete.PredictNothing, + "-i": complete.PredictNothing, + "-importmap": complete.PredictAnything, + "-installsuffix": complete.PredictAnything, + "-j": complete.PredictNothing, + "-l": complete.PredictNothing, + "-largemodel": complete.PredictNothing, + "-linkobj": anyFile, + "-live": complete.PredictNothing, + "-m": complete.PredictNothing, + "-memprofile": complete.PredictNothing, + "-memprofilerate": complete.PredictAnything, + "-msan": complete.PredictNothing, + "-nolocalimports": complete.PredictNothing, + "-o": anyFile, + "-p": complete.PredictDirs("*"), + "-pack": complete.PredictNothing, + "-r": complete.PredictNothing, + "-race": complete.PredictNothing, + "-s": complete.PredictNothing, + "-shared": complete.PredictNothing, + "-traceprofile": anyFile, + "-trimpath": complete.PredictAnything, + "-u": complete.PredictNothing, + "-v": complete.PredictNothing, + "-w": complete.PredictNothing, + "-wb": complete.PredictNothing, + }, + Args: goFiles, + }, + "cover": { + Flags: complete.Flags{ + "-func": complete.PredictAnything, + "-html": complete.PredictAnything, + "-mode": complete.PredictSet("set", "count", "atomic"), + "-o": anyFile, + "-var": complete.PredictAnything, + }, + Args: anyFile, + }, + "dist": { + Sub: complete.Commands{ + "banner": {Flags: complete.Flags{"-v": complete.PredictNothing}}, + "bootstrap": {Flags: complete.Flags{"-v": complete.PredictNothing}}, + "clean": {Flags: complete.Flags{"-v": complete.PredictNothing}}, + "env": {Flags: complete.Flags{"-v": complete.PredictNothing, "-p": complete.PredictNothing}}, + "install": {Flags: complete.Flags{"-v": complete.PredictNothing}, Args: complete.PredictDirs("*")}, + "list": {Flags: complete.Flags{"-v": complete.PredictNothing, "-json": complete.PredictNothing}}, + "test": {Flags: complete.Flags{"-v": complete.PredictNothing, "-h": complete.PredictNothing}}, + "version": {Flags: complete.Flags{"-v": complete.PredictNothing}}, + }, + }, + "doc": doc, + "fix": { + Flags: complete.Flags{ + "-diff": complete.PredictNothing, + "-force": complete.PredictAnything, + "-r": complete.PredictSet("context", "gotypes", "netipv6zone", "printerconfig"), + }, + Args: anyGo, + }, + "link": {}, + "nm": { + Flags: complete.Flags{ + "-n": complete.PredictNothing, + "-size": complete.PredictNothing, + "-sort": complete.PredictAnything, + "-type": complete.PredictNothing, + }, + Args: anyGo, + }, + "objdump": { + Flags: complete.Flags{ + "-s": complete.PredictAnything, + }, + Args: anyFile, + }, + "pack": {}, + "pprof": { + Flags: complete.Flags{ + "-callgrind": complete.PredictNothing, + "-disasm": complete.PredictAnything, + "-dot": complete.PredictNothing, + "-eog": complete.PredictNothing, + "-evince": complete.PredictNothing, + "-gif": complete.PredictNothing, + "-gv": complete.PredictNothing, + "-list": complete.PredictAnything, + "-pdf": complete.PredictNothing, + "-peek": complete.PredictAnything, + "-png": complete.PredictNothing, + "-proto": complete.PredictNothing, + "-ps": complete.PredictNothing, + "-raw": complete.PredictNothing, + "-svg": complete.PredictNothing, + "-tags": complete.PredictNothing, + "-text": complete.PredictNothing, + "-top": complete.PredictNothing, + "-tree": complete.PredictNothing, + "-web": complete.PredictNothing, + "-weblist": complete.PredictAnything, + "-output": anyFile, + "-functions": complete.PredictNothing, + "-files": complete.PredictNothing, + "-lines": complete.PredictNothing, + "-addresses": complete.PredictNothing, + "-base": complete.PredictAnything, + "-drop_negative": complete.PredictNothing, + "-cum": complete.PredictNothing, + "-seconds": complete.PredictAnything, + "-nodecount": complete.PredictAnything, + "-nodefraction": complete.PredictAnything, + "-edgefraction": complete.PredictAnything, + "-sample_index": complete.PredictNothing, + "-mean": complete.PredictNothing, + "-inuse_space": complete.PredictNothing, + "-inuse_objects": complete.PredictNothing, + "-alloc_space": complete.PredictNothing, + "-alloc_objects": complete.PredictNothing, + "-total_delay": complete.PredictNothing, + "-contentions": complete.PredictNothing, + "-mean_delay": complete.PredictNothing, + "-runtime": complete.PredictNothing, + "-focus": complete.PredictAnything, + "-ignore": complete.PredictAnything, + "-tagfocus": complete.PredictAnything, + "-tagignore": complete.PredictAnything, + "-call_tree": complete.PredictNothing, + "-unit": complete.PredictAnything, + "-divide_by": complete.PredictAnything, + "-buildid": complete.PredictAnything, + "-tools": complete.PredictDirs("*"), + "-help": complete.PredictNothing, + }, + Args: anyFile, + }, + "tour": { + Flags: complete.Flags{ + "-http": complete.PredictAnything, + "-openbrowser": complete.PredictNothing, + }, + }, + "trace": { + Flags: complete.Flags{ + "-http": complete.PredictAnything, + "-pprof": complete.PredictSet("net", "sync", "syscall", "sched"), + }, + Args: anyFile, + }, + "vet": { + Flags: complete.Flags{ + "-all": complete.PredictNothing, + "-asmdecl": complete.PredictNothing, + "-assign": complete.PredictNothing, + "-atomic": complete.PredictNothing, + "-bool": complete.PredictNothing, + "-buildtags": complete.PredictNothing, + "-cgocall": complete.PredictNothing, + "-composites": complete.PredictNothing, + "-compositewhitelist": complete.PredictNothing, + "-copylocks": complete.PredictNothing, + "-httpresponse": complete.PredictNothing, + "-lostcancel": complete.PredictNothing, + "-methods": complete.PredictNothing, + "-nilfunc": complete.PredictNothing, + "-printf": complete.PredictNothing, + "-printfuncs": complete.PredictAnything, + "-rangeloops": complete.PredictNothing, + "-shadow": complete.PredictNothing, + "-shadowstrict": complete.PredictNothing, + "-shift": complete.PredictNothing, + "-structtags": complete.PredictNothing, + "-tags": complete.PredictAnything, + "-tests": complete.PredictNothing, + "-unreachable": complete.PredictNothing, + "-unsafeptr": complete.PredictNothing, + "-unusedfuncs": complete.PredictAnything, + "-unusedresult": complete.PredictNothing, + "-unusedstringmethods": complete.PredictAnything, + "-v": complete.PredictNothing, + }, + Args: anyGo, + }, + }, } clean := complete.Command{ @@ -174,6 +427,7 @@ func main() { "generate": generate, "vet": vet, "list": list, + "doc": doc, "tool": tool, "clean": clean, "env": env,