id = "visidata" name = "VisiData" homepage = "https://www.visidata.org/" description = "Terminal spreadsheet multitool for discovering and arranging data" executables = ["vd"] [dotfiles] # VisiData's official customization guide documents ~/.visidatarc and, since # v2.9, $XDG_CONFIG_HOME/visidata/config.py as the user configuration files. # These are executable Python config files and can also contain loader # authentication values, so they are preserved as secret content. # https://www.visidata.org/docs/customize/ # https://www.visidata.org/docs/formats/ paths = ["[configHome]/visidata/"] secret = [ "~/.visidatarc", "[configHome]/visidata/config.py", ] [commands] format = 1 label = "Explore tabular data" description = "Open CSV, TSV, JSON, Excel and other data files in VisiData, or run in batch mode to save the result. Per-option overrides beyond header/skip are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "man" kind = "manual" url = "https://manpages.debian.org/bookworm/visidata/vd.1.en.html" revision = "Debian bookworm 2.11" evidence = """vd [options] [input ...] -f, --filetype=filetype set loader to use for filetype instead of file extension -d, --delimiter=delimiter field delimiter to use for tsv/usv filetype -p, --play=cmdlog replay a saved cmdlog within the interface -b, --batch replay in batch mode (with no interface) -o, --output=file save final visible sheet to file as .tsv --skip=int skip N rows before header --header=int parse first N rows as column names -N, --nothing=T disable loading .visidatarc and plugin addons""" [[commands.field]] id = "inputs" label = "Input files" type = "path" position = 0 multiple = true path = { kind = "file", role = "input", must_exist = true } sources = ["man"] [[commands.field]] id = "filetype" label = "File type" description = "Force a loader instead of detecting by file extension." type = "string" option = ["--filetype", "-f"] suggestions = [{ value = "csv", label = "CSV" }, { value = "tsv", label = "TSV" }, { value = "json", label = "JSON" }, { value = "jsonl", label = "JSON Lines" }] sources = ["man"] [[commands.field]] id = "delimiter" label = "Field delimiter" description = "For tsv/usv file types." type = "string" option = ["--delimiter", "-d"] sources = ["man"] [[commands.field]] id = "header" label = "Header rows" description = "Number of rows to parse as column names (0 for none)." type = "integer" option = ["--header"] sources = ["man"] [[commands.field]] id = "skip" label = "Skip rows" description = "Rows to skip before the header." type = "integer" option = ["--skip"] sources = ["man"] [[commands.field]] id = "batch" label = "Batch mode (no interface)" description = "Useful with --play and an output file." type = "boolean" option = ["--batch", "-b"] sources = ["man"] [[commands.field]] id = "play" label = "Replay cmdlog" type = "path" option = ["--play", "-p"] path = { kind = "file", role = "input", must_exist = true } sources = ["man"] [[commands.field]] id = "output" label = "Output file" description = "Save the final visible sheet to this file." type = "path" option = ["--output", "-o"] path = { kind = "file", role = "output", must_exist = false } effect = "overwrite" sources = ["man"] [[commands.field]] id = "nothing" label = "Skip .visidatarc and plugins" type = "boolean" option = ["-N"] sources = ["man"] [[commands.task]] id = "open" label = "Open files" fields = ["inputs", "filetype", "delimiter"] required = ["inputs"] [[commands.task]] id = "convert" label = "Convert to a file (batch)" fields = ["inputs", "batch", "output"] required = ["inputs", "batch", "output"] set = { batch = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["inputs", "filetype", "delimiter", "header", "skip"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["batch", "play", "output", "nothing"]