id = "global" name = "GNU Global" homepage = "https://www.gnu.org/software/global/" description = "Source code tagging system." executables = ["global", "gtags"] platforms = ["macos", "linux"] [dotfiles] # GNU Global's manual names $HOME/.globalrc as the personal configuration # file and includes it in the configuration search order. # https://www.gnu.org/software/global/manual/global.html paths = ["~/.globalrc"] exclude = [] secret = [] [commands] format = 1 label = "Search tags" description = "Find definitions, references or matching lines using GNU Global's tag files. Building the tag database (gtags), updating and the other output tuning options are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = true } [[commands.source]] id = "man" kind = "manual" url = "https://manpages.debian.org/bookworm/global/global.1.en.html" revision = "Debian bookworm" evidence = """ pattern: Print tags which match to pattern. By default, print definition tags. -g, --grep pattern [files]: Print all lines which match to the pattern. -a, --absolute: Print absolute path names. By default, print relative path names. -C, --directory dir: Change the directory before doing all the work including parameter analysis. -d, --definition: Print locations of definitions. -i, --ignore-case: Ignore case distinctions in the pattern. -l, --local: Print only tags which exist under the current directory. --literal: Execute literal search instead of regular expression search. -r, --reference: Print reference tags. --result format: Print out using format, which may be one of: path (default), ctags, ctags-x, grep or cscope. -s, --symbol: Print other symbol tags. -S, --scope dir: Print only tags which exist under dir directory. -T, --through: Go through all the tag files listed in GTAGSLIBPATH. -x, --cxref: Use standard ctags cxref (with -x) format. """ [[commands.field]] id = "pattern" label = "Pattern" description = "Symbol name or regular expression; with grep mode, the text to match." type = "string" position = 0 sources = ["man"] [[commands.field]] id = "grep" label = "Grep lines instead of tags" type = "boolean" option = ["--grep", "-g"] sources = ["man"] [[commands.field]] id = "reference" label = "Reference tags" type = "boolean" option = ["--reference", "-r"] sources = ["man"] [[commands.field]] id = "definition" label = "Definitions" type = "boolean" option = ["--definition", "-d"] sources = ["man"] [[commands.field]] id = "symbol" label = "Other symbols" type = "boolean" option = ["--symbol", "-s"] sources = ["man"] [[commands.field]] id = "ignore_case" label = "Ignore case" type = "boolean" option = ["--ignore-case", "-i"] sources = ["man"] [[commands.field]] id = "literal" label = "Literal search" type = "boolean" option = ["--literal"] sources = ["man"] [[commands.field]] id = "local" label = "Only current directory" type = "boolean" option = ["--local", "-l"] sources = ["man"] [[commands.field]] id = "scope" label = "Only under directory" type = "path" option = ["--scope", "-S"] path = { kind = "directory", role = "input", must_exist = true } sources = ["man"] [[commands.field]] id = "absolute" label = "Absolute paths" type = "boolean" option = ["--absolute", "-a"] sources = ["man"] [[commands.field]] id = "cxref" label = "Cross-reference format" type = "boolean" option = ["--cxref", "-x"] sources = ["man"] [[commands.field]] id = "result" label = "Result format" type = "enum" option = ["--result"] choices = [{ value = "path", label = "Path" }, { value = "ctags", label = "ctags" }, { value = "ctags-x", label = "ctags -x" }, { value = "grep", label = "grep" }, { value = "cscope", label = "cscope" }] sources = ["man"] [[commands.field]] id = "through" label = "Search all GTAGSLIBPATH tag files" type = "boolean" option = ["--through", "-T"] sources = ["man"] [[commands.field]] id = "directory" label = "Run in directory" type = "path" option = ["--directory", "-C"] path = { kind = "directory", role = "input", must_exist = true } sources = ["man"] [[commands.task]] id = "definition" label = "Find definition" fields = ["pattern", "cxref", "absolute"] required = ["pattern"] [[commands.task]] id = "references" label = "Find references" fields = ["pattern", "reference", "cxref"] required = ["pattern", "reference"] set = { reference = [true], cxref = [true] } lock = ["reference"] [[commands.group]] id = "basic" label = "Basic" fields = ["pattern", "grep", "reference", "definition", "symbol", "ignore_case", "cxref"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["literal", "local", "scope", "absolute", "result", "through", "directory"]