# The configuration file follows TOML format rules: https://toml.io/ # Note on file paths: # On Windows a file path usually includes backslashes. When TOML parses a string # enclosed into double quotes, it treats backslashes as escape characters. This # results in errors when loading a configuration file. To avoid this trouble, use # one of the following ways to put a file path to the configuration: # 1. Use single quotes instead of double ones: # filename = 'c:\Users\user\todo.txt' # 2. Duplicate backslashes: # filename = "c:\\Users\\user\\todo.txt" # 3. Replace backslashes with slashes: # filename = "c:/Users/user/todo.txt" # # A TTDL config can be in the current working directory - to support # ttdl settings on per project basis. Global user config must be in: # * Linux: ~/.config/ttdl/ttdl.toml # * Windows: c:\Users\\AppData\Roaming\ttdl\ttdl.toml # * MacOS: /Users//Library/Preferences/ttdl/ttdl.toml # # All section must exists in the custom configuration file, but all options # inside every section are optional. # # available colors (names are case-insensitive): # black, red, green, yellow, blue, magenta, cyan, white # every color may have up to 3 modifiers: # bold, underline, bright(or intense) # the first two modifiers works only in ANSI-compatible terminal. # To make them work on Windows, use ConEmu or Cmder instead # of standard cmd or PowerShell. # For Cmder/ConEmu and Linux terminals indexed 256-color terminal and # RGB colors are supported as well. Format for indexed colors is the index # of the color(enclosed in double quotes): # overdue="140" # Format for RGB is enclosed in double quotes a comma separated list of 3 # numbers (order of colors is R,G,B) : # overdue="220,0,0" # For both indexed and RGB colors the number can be either decimal between # 0 and 255 or hexadecimal in range 0x0 - 0xFF. In latter case, it must start # with "0x". # If a color value cannot be parsed it defaults to 'white' [colors] # color_term: terminal color support # auto: standard console API for Windows, ANSI for *nix OSes # ansi: use ANSI-compatible colors (to make it work on Windows you have to # use a third-party console emulator like ConEmu or Cmder # none: disable colors color_term = "ansi" # overdue incomplete todos overdue = "bright red" # todos with overdue threshold date threshold = "red" # todos with highest priority (A) top = "bright red" # important todos - with a priority equal to or higher than `ranges.important` important = "white" # done todos done = "bright black" # todos that are due today today = "bright yellow" # todos that are due in and less in `ranges.soon` days soon = "white" # todos that old (color for creation date) old = "bright black" # the default text color # default_fg = "white" [ranges] # TTDL filter `soon` selects todos that are due in and less than in `soon` days # 0 - disable `soon` feature soon = 0 # todos that have priority equal or higher than `important` are displayed in # in `colors.important` font color. # Priority is a character from 'a'(highest priority) through 'z'. Setting # `important` to any other value disables the feature important = "" # creation date of todos that are older than `old` is displayed in `old` color. # Format: single digit and modifier 'd'(day), 'w'(week), 'm'(month), 'y'(year) old = "1y" [global] # set global todo.txt filename. It works as environment variable TTDL_FILENAME, # but environment variable overrides config setting. # See a note about file paths on Windows at the top of the file # filename = "./" # automatically set creation date to today if it is not set when adding a new todo # creation_date_auto = true # fields that are displayed by default. Available fields: # pri, done, due, created, finished, thr # fields = "pri,due,done" # default sorting # sort = "pri" # shell to execute plugins. If not set, it defaults to: # ["cmd", "/c"] on Windows # ["sh", "-cu"] on other OS # shell = ["powershell", "-F"] # add extension to plugin name when calling it. # if extension does not start with '.', the dot is added automatically. # Useful on Windows to choose between 'ps1', 'cmd', and 'bat' # script_ext = ".ps1" # add prefix to plugin name before calling it. # E.g., for powershell simple "plugin" fails but "./plugin" works fine. # See a note about file paths on Windows at the top of the file # script_prefix = "./" # determine first day of the week # true - first day of week is Sunday # false - first day of week is Monday # Note: The option is unused yet # first_sunday = true # enables strict command-line mode: in this mode the first free command-line # argument must be a TTDL command. It may be useful to avoid adding incorrect # todos after making a type, e.g, `ttdl listt` # strict_mode = false # defines what items from a subject will be removed before printing: # none | nothing = subject is printed as-is (default) # tags = only tags can be removed, projects and contexts are not touched # all = remove tags, projects, and contexts # NOTE: the option affects only things that are printed in separate columns. # I.e, with default "fields=pri,due,done" and "clean_subj=all", only # "due" tag and value are removed. But with "fields=due,prj", both "due" # tag and "project" are cleaned up. # clean_subject = "none" # Automatically hide columns if all values are empty # auto_hide_columns = false # Automatically show columns for all tags found in any of tasks. # NOTE: custom formatting fields, which names start with '!' are ignored. # auto_show_columns = false # Comma-separated list of tags that are hidden always. # Use it with auto_show_columns=true to hide non-empty columns that you # do not want to see in a separate columns # always_hide_columns = # What to do with task priority when the task is completed: # keep = only prepend 'x' (default) # move = place the priority after completion date. In this case the task # subject still contains priority but it is not displayed in the # priority column # tag = convert priority to a tag # erase = remove priority from the task # NOTE: all modes above, except `erase`, are reversible, i.e., when the completed # task is undone, the task gets its priority back # priority_on_done = keep # How to set completion date when task is finished. The original todo.txt standard # states that creation date must be present when completion date is. However, most # todo.txt clients allow completed tasks to have only one date, which is completion # date. # false = only add completion date if task has creation date (default) # true = always add completion date, regardless of creation date is presence # add_completion_date_always = false # Path an external editor binary or the name of the editor binary if it is in PATH. # It is used when 'edit' command includes the option `--interactive`. # editor = "" [syntax] # Set enabled to 'true' to highlight projects, contexts, tags, and hashtags # inside the subject # enabled = false tag_color = "bright cyan" hashtag_color = "cyan" project_color = "bright green" context_color = "green" # Example of a custom field of `date` type with conditional highlight. # [[fields]] # name = "chk" # tag name # title = "Check" # column title in the output # width = 0 # auto-width # kind = "date" # ### the following subarray is optional and can be omitted # [[fields.rules]] # range = "..yesterday" # overdue todo, i.e, check date is before today # color = "red" # [[fields.rules]] # range = "today..soon" # check must be done soon: between today and today+7 days, inclusive # color = "bright yellow"