# Catalist Reads the data, not the comments. It's like cat(1), but for lists. Hah. Catalist is designed to be a small and fast program to only read the content of a list, not the information intended to keep it organised. ## Installation Catalist can be installed through [cargo](https://doc.rust-lang.org/cargo). This will build it from source. ```console $ cargo install catalist ``` ## Usage Catalist can read from files or from stdin. If no files are given, it will default to reading from stdin. The contents of `example.list`: ```console $ cat example.list # Metavariables are useful for programming! Foo Bar Baz # These ones are barely used Qux Quux Quuz ``` Catalist ignores empty lines and comments. Lines containing whitespace are automatically quoted. ```console $ catalist example.list Foo Bar Baz "Qux Quux" Quuz ``` ### Quotes The quote logic can be changed by providing the `--quotes ` option. The option takes one of `auto`, `always`, or `never`. If the option is omitted, catalist defaults to `auto`. ```console $ catalist --quotes always example.list "Foo" "Bar" "Baz" "Qux Quux" "Quuz" ``` ### Input Catalist will read from stdin if the file name is a dash (`-`) or there are no files given. ```console $ cat example.list | catalist --quotes never Foo Bar Baz Qux Quux Quuz ``` ### Comments A comment is a hash (`#`) either preceeded by whitespace or at the start of a line. Everything else is treated as content. ```console $ cat comments.list # This is a comment Example # comment This is# not a comment $ catalist comments.list Example "This is# not a comment" ``` ## License This project is licensed under the MIT license.