id = "gitui" name = "GitUI" homepage = "https://github.com/gitui-org/gitui" description = "Blazing fast terminal-ui for git written in rust." executables = ["gitui"] [dotfiles] # GitUI's own key and theme documentation lists ~/.config/gitui on macOS and # Linux (or $XDG_CONFIG_HOME on Linux) and %APPDATA%/gitui on Windows: # https://github.com/gitui-org/gitui/blob/master/KEY_CONFIG.md # https://github.com/gitui-org/gitui/blob/master/THEMES.md # The explicit ~/.config spelling preserves the documented macOS location; # [configHome] follows the documented XDG_CONFIG_HOME Linux location. paths = [ "~/.config/gitui/key_bindings.ron", "~/.config/gitui/key_symbols.ron", "~/.config/gitui/theme.ron", "[configHome]/gitui/key_bindings.ron", "[configHome]/gitui/key_symbols.ron", "[configHome]/gitui/theme.ron", "%APPDATA%/gitui/key_bindings.ron", "%APPDATA%/gitui/key_symbols.ron", "%APPDATA%/gitui/theme.ron", ] secret = [] side_effect = false [commands] format = 1 label = "Open GitUI" description = "Open the GitUI terminal interface for a repository, with optional theme, keybinding and logging overrides." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "args" kind = "help" url = "https://github.com/gitui-org/gitui/blob/master/src/args.rs" revision = "master 2026-10-27" evidence = """ -k, --key-bindings Use a custom keybindings file -s, --key-symbols Use a custom symbols file -t, --theme Set color theme filename loaded from config directory -l, --logging Store logging output into a file (in the cache directory by default) --logfile Store logging output into the specified file (implies --logging) --watcher Use notify-based file system watcher instead of tick-based update. --bugreport Generate a bug report -f, --file Select the file in the file tab -d, --directory Set the git directory -w, --workdir Set the working directory """ [[commands.field]] id = "workdir" label = "Working directory" type = "path" option = ["--workdir", "-w"] path = { kind = "directory", role = "input", must_exist = true } sources = ["args"] [[commands.field]] id = "directory" label = "Git directory" type = "path" option = ["--directory", "-d"] path = { kind = "directory", role = "input", must_exist = true } sources = ["args"] [[commands.field]] id = "theme" label = "Theme file" description = "Filename loaded from the config directory." type = "string" option = ["--theme", "-t"] sources = ["args"] [[commands.field]] id = "key_bindings" label = "Keybindings file" type = "path" option = ["--key-bindings", "-k"] path = { kind = "file", role = "input", must_exist = true } sources = ["args"] [[commands.field]] id = "key_symbols" label = "Symbols file" type = "path" option = ["--key-symbols", "-s"] path = { kind = "file", role = "input", must_exist = true } sources = ["args"] [[commands.field]] id = "file" label = "Select file" description = "File to select in the file tab." type = "string" option = ["--file", "-f"] sources = ["args"] [[commands.field]] id = "logging" label = "Write log file" type = "boolean" option = ["--logging", "-l"] sources = ["args"] [[commands.field]] id = "logfile" label = "Log file path" type = "path" option = ["--logfile"] path = { kind = "file", role = "output", must_exist = false } effect = "overwrite" sources = ["args"] [[commands.field]] id = "watcher" label = "File system watcher" type = "boolean" option = ["--watcher"] sources = ["args"] [[commands.field]] id = "bugreport" label = "Generate bug report" type = "boolean" option = ["--bugreport"] sources = ["args"] [[commands.task]] id = "open" label = "Open a repository" fields = ["workdir", "theme", "watcher"] required = [] [[commands.task]] id = "bugreport" label = "Bug report" fields = ["bugreport"] required = ["bugreport"] set = { bugreport = [true] } lock = ["bugreport"] [[commands.group]] id = "basic" label = "Basic" fields = ["workdir", "directory", "theme", "file", "watcher", "bugreport"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["key_bindings", "key_symbols", "logging", "logfile"]