id = "tabiew" name = "Tabiew" homepage = "https://github.com/shshemi/tabiew" description = "A lightweight TUI application to view and query tabular data files, such as CSV, TSV, and parquet." executables = ["tw"] [dotfiles] # Tabiew wiki (Theme): `tw --generate-theme` writes the user-editable theme to # ~/.config/tabiew/theme.toml. This is XDG config on Unix-like systems. paths = ["[configHome]/tabiew/theme.toml"] secret = [] [commands] format = 1 label = "Browse a data file" description = "Open CSV/TSV/Parquet/logfmt-style data files in the Tabiew table viewer. Only the format, separator, header and row-limit options are covered." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.source]] id = "s" kind = "help" url = "https://github.com/shshemi/tabiew" revision = "2026-10-27" evidence = """ tw data.csv --separator '|' tw data.csv --separator ';' --no-header tw data.txt -f parquet tw data.txt -f csv --separator '|' tw data.txt -f tsv tw data.txt -f dsv --separator '|' tw big.csv --max-rows 1000 Logfmt has no extension of its own, so it needs an explicit format: `tw app.log -f logfmt`. """ [[commands.field]] id = "format" label = "Format" type = "enum" option = ["-f"] choices = [{ value = "csv", label = "CSV" }, { value = "tsv", label = "TSV" }, { value = "dsv", label = "DSV (custom delimiter)" }, { value = "parquet", label = "Parquet" }, { value = "logfmt", label = "logfmt" }] sources = ["s"] [[commands.field]] id = "separator" label = "Separator" type = "string" option = ["--separator"] sources = ["s"] [[commands.field]] id = "no_header" label = "No header row" type = "boolean" option = ["--no-header"] sources = ["s"] [[commands.field]] id = "max_rows" label = "Max rows" type = "integer" option = ["--max-rows"] sources = ["s"] [[commands.field]] id = "files" label = "Data files" type = "path" position = 0 multiple = true path = { kind = "file", role = "input", must_exist = true } sources = ["s"] [[commands.task]] id = "open" label = "Open files" fields = ["files", "format", "separator", "no_header"] required = ["files"] [[commands.group]] id = "basic" label = "Basic" fields = ["files", "format", "separator", "no_header", "max_rows"]