id = "pspg" name = "pspg" homepage = "https://github.com/okbob/pspg" description = "Unix pager optimized for psql" executables = ["pspg"] [dotfiles] # The official README names ~/.pspgconf as the default configuration file and # says custom .pspg_theme_* files are saved alongside it. PSPG_HISTORY is an # explicit environment-variable override, not a documented default path. # https://github.com/okbob/pspg#environment-variables # https://github.com/okbob/pspg#custom-themes paths = ["~/.pspgconf", "~/.pspg_theme_*"] secret = [] [commands] format = 1 label = "View tabular output" description = "Open a file or CSV/TSV data in the pspg pager. Database connection, watch and on-exit options are not covered." 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/testing/pspg/pspg.1.en.html" revision = "2026-10-27" evidence = """ -f, --file=FILE open file -F, --quit-if-one-screen quit if content is one screen -a, --ascii force ascii -b, --blackwhite black-white style -s, --style=N set color style number (0..24) --csv input stream has csv format --csv-separator char used as field separator --tsv input stream has tsv format -c, --freezecols=N freeze N columns (0..9) --line-numbers show line number column --no-mouse don't use own mouse handling -i, --ignore-case ignore case in searches that do not contain uppercase -I, --IGNORE-CASE ignore case in all searches -X, --reprint-on-exit preserve content after exit """ [[commands.field]] id = "file" label = "File" description = "Data file to open. Leave empty to read standard input." type = "path" path = { kind = "file", role = "input" } option = ["--file", "-f"] sources = ["man"] [[commands.field]] id = "csv" label = "Input is CSV" type = "boolean" option = ["--csv"] sources = ["man"] [[commands.field]] id = "tsv" label = "Input is TSV" type = "boolean" option = ["--tsv"] sources = ["man"] [[commands.field]] id = "csv_separator" label = "CSV separator" type = "string" option = ["--csv-separator"] sources = ["man"] [[commands.field]] id = "style" label = "Color style (0-24)" type = "integer" option = ["--style", "-s"] sources = ["man"] [[commands.field]] id = "freezecols" label = "Freeze columns (0-9)" type = "integer" option = ["--freezecols", "-c"] sources = ["man"] [[commands.field]] id = "line_numbers" label = "Show line numbers" type = "boolean" option = ["--line-numbers"] sources = ["man"] [[commands.field]] id = "ascii" label = "Force ASCII borders" type = "boolean" option = ["--ascii", "-a"] sources = ["man"] [[commands.field]] id = "ignore_case" label = "Ignore case in searches" type = "boolean" option = ["--ignore-case", "-i"] sources = ["man"] [[commands.field]] id = "quit_one_screen" label = "Quit if one screen" type = "boolean" option = ["--quit-if-one-screen", "-F"] sources = ["man"] [[commands.field]] id = "reprint" label = "Keep content after exit" type = "boolean" option = ["--reprint-on-exit", "-X"] sources = ["man"] [[commands.task]] id = "csv_file" label = "View a CSV file" fields = ["file", "csv", "freezecols"] required = ["file"] set = { csv = [true] } [[commands.task]] id = "tsv_file" label = "View a TSV file" fields = ["file", "tsv"] required = ["file"] set = { tsv = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["file", "csv", "tsv", "csv_separator", "freezecols"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["style", "line_numbers", "ascii", "ignore_case", "quit_one_screen", "reprint"]