id = "carl" name = "carl" homepage = "https://codeberg.org/birger/carl" description = "Calendar for the command-line." executables = ["carl"] [dotfiles] # carl's configuration reference says it reads # `${XDG_CONFIG_HOME}/.carl/config.toml` (with the XDG config default) and # theme files from the configuration folders. # https://docs.rs/crate/carl/latest # https://codeberg.org/birger/carl paths = [ "[configHome]/.carl/config.toml", "[configHome]/.carl/*.theme", ] secret = [] [commands] format = 1 label = "Show calendar" description = "Print a calendar for the current month, a year or a given date. Themes and ical files are set in the config file, not here." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = true } [[commands.source]] id = "readme" kind = "manual" url = "https://codeberg.org/birger/carl" revision = "2026-10-27" evidence = """ - **-1**, **--one**: Display single month output. (This is the default.) - **-3**, **--three**: Display prev/current/next month output. - **-n**, **--months NUMBER**: Display current and following months. - **-s**, **--sunday**: Display Sunday as the first day of the week. - **-m**, **--monday**: Display Monday as the first day of the week. - **-j**, **--julian**: Display Julian dates (days one-based, numbered from January 1). - **-y**, **--year**: Display a calendar for the current year. - **-a**, **--agenda**: Display agenda (a listing of all the events that occur in the the displayed calendar timespan) below the calendar - **YYYY**: Display the current date from the given year - **MM YYYYY**: Display the given month in the given year - **DD MM YYYY**: Display the given date """ [[commands.field]] id = "three" label = "Three months" description = "Previous, current and next month." type = "boolean" option = ["--three", "-3"] sources = ["readme"] [[commands.field]] id = "months" label = "Number of months" type = "integer" option = ["--months", "-n"] sources = ["readme"] [[commands.field]] id = "year_view" label = "Whole current year" type = "boolean" option = ["--year", "-y"] sources = ["readme"] [[commands.field]] id = "sunday" label = "Sunday first" type = "boolean" option = ["--sunday", "-s"] sources = ["readme"] [[commands.field]] id = "monday" label = "Monday first" type = "boolean" option = ["--monday", "-m"] sources = ["readme"] [[commands.field]] id = "julian" label = "Julian dates" type = "boolean" option = ["--julian", "-j"] sources = ["readme"] [[commands.field]] id = "agenda" label = "Show agenda" type = "boolean" option = ["--agenda", "-a"] sources = ["readme"] [[commands.field]] id = "date" label = "Date" description = "YYYY, MM YYYY or DD MM YYYY, as separate words. Leave empty for today." type = "string" position = 0 multiple = true sources = ["readme"] [[commands.task]] id = "three-months" label = "Three-month view" fields = ["three", "monday", "agenda"] required = ["three"] set = { three = [true] } [[commands.task]] id = "year" label = "Year calendar" fields = ["year_view", "monday", "julian"] required = ["year_view"] set = { year_view = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["date", "three", "months", "year_view", "agenda"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["sunday", "monday", "julian"]