# This is a example configuration file for the imag suite. # It is written in TOML [rt] editor = "vim" # If the command uses a progress bar to indicate progress, this is the template # for it. # # The docs for the template language can be found at # # https://docs.rs/indicatif # progressbar_style = "[{elapsed_precise}] {bar:40.cyan/blue} {pos:>7}/{len:7} {msg}" progressticker_chars = "|/-\\-/-\\" # # imag supports templates when specifying formats. The templates support several # functionalities, from colorizing to underlining and such things. # # Here goes a list of supported formatting helpers: # # These functions can be applied for colorizing the output: # {{black }} # {{blue }} # {{cyan }} # {{green }} # {{purple }} # {{red }} # {{white }} # {{yellow }} # # The following functions are allowed for formatting text: # {{lpad }} - to "left pad" by spaces # {{rpad }} - to "right pad" by spaces # {{abbrev }} - to "abbreviate" the output to chars # {{underline }} - for underlining # {{bold }} - for making input bold # {{blink }} - for making input blinking # {{strikethrough }} - for making input struck through # # Strings can only be printed. Arrays can be indexed with the `lookup` function. # # # The underlying templating engine also supports these: # # {{#raw}} ... {{/raw}} escape handlebars expression within the block # {{#if ...}} ... {{else}} ... {{/if}} if-else block # {{#unless ...}} ... {{else}} .. {{/unless}} if-not-else block # {{#each ...}} ... {{/each}} iterates over an array or object. # Handlebar-rust doesn't support mustach iteration syntax so use this instead. # {{#with ...}} ... {{/with}} change current context. Similar to {{#each}}, used for replace corresponding mustach syntax. # {{lookup ... ...}} get value from array by @index or @key # {{> ...}} include template with name # {{log ...}} log value with rust logger, default level: INFO. Currently you cannot change the level. # # Warning: These are _not_ tested and should be used with care. # # The alias section # # In this section one can define aliases for imag subcommands. # # E.G: An alias `store = [ "s", "st" ]` allows the user to call `imag s` or # `imag st` for calling `imag store`. # # The aliases have to be either a single string or an array of strings, where no # string contains whitespace (thus, aliasing a "store-create" call to "sc" for # example is not supported). # [imag.aliases] store = [ "s", "st" ] [imag.logging] level = "debug" destinations = [ "-" ] # # Valid variables for logging: # * "level" # * "module_path" # * "file" # * "line" # * "target" # * "message" # [imag.logging.format] trace = "[imag][{{red level}}][{{module_path}}]: {{message}}" debug = "[imag][{{cyan level}}][{{yellow target}}]: {{message}}" info = "[imag]: {{message}}" warn = "[imag][{{bold level}}]: {{yellow message}}" error = "[imag][{{red level}}]: {{red message}}" # # The logging configurations for the modules of imag follow. # # Note that the `destinations` key is for _additional_ destinations to the # default destination in `imag.logging.destinations`, not as replacement! So # specifying stderr (`-`) in `imag.logging.destinations` _and_ in, for example, # `imag.logging.modules.libimagstore` yields each log line twice, which might # not be wanted behaviour. # [imag.logging.modules.libimagutil] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagtimeui] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimaginteraction] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagstore] destinations = [ "/tmp/libimagstore.log" ] level = "trace" enabled = true [imag.logging.modules.libimagrt] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagerror] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagbookmark] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimaghabit] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagnotes] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagcontact] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagdiary] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagtimetrack] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimaglog] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagtodo] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagmail] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagentryfilter] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagentrycategory] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagentryannotation] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagentrylink] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagentrytag] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagentrygps] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagentryedit] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagentryref] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagentryview] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagentrymarkdown] destinations = [] level = "debug" enabled = true [imag.logging.modules.libimagentryutil] destinations = [] level = "debug" enabled = true # # Configuration options for the user interface # [ui] # # Configuration options for the commandline user interface # [ui.cli] # History file path for readline. Will be created by imag if it does not exist. readline_history_file = "/tmp/readline.history" # Number of lines to safe in the history file readline_history_size = 100 # Ignore duplicated lines readline_history_ignore_dups = true # Tell if lines which begin with a space character are saved or not in the # history list. readline_history_ignore_space = true # The prompt string to use readline_prompt = ">> " [store] # Set to false if you do not want imag to create the directory where the store # lives implicitely implicit-create = false [diary] default_diary = "default" [diary.diaries.default] timed = "minutely" [bookmark] default_collection = "default" [view.viewers] # Configure which viewers there are for `imag view in `. editor = "vim -R {{entries}}" web = "chromium {{entries}}" [contact] # Format for listing contacts # # Available variables: # * "i" : Integer, counts the output lines # * "id" : The hash which can be used to print the entry itself. # * "ADR" : Array # * "ANNIVERSARY" : String # * "BDAY" : String # * "CATEGORIES" : Array # * "CLIENTPIDMAP" : String # * "EMAIL" : Array # * "FN" : Array # * "GENDER" : String # * "GEO" : Array # * "IMPP" : Array # * "KEY" : Array # * "LANG" : Array # * "LOGO" : Array # * "MEMBER" : Array # * "N" : String # * "NICKNAME" : Array # * "NOTE" : Array # * "ORG" : Array # * "PHOTO" : Array # * "PRIOD" : String # * "RELATED" : Array # * "REV" : String # * "ROLE" : Array # * "SOUND" : Array # * "TEL" : Array # * "TITLE" : Array # * "TZ" : Array # * "UID" : String # * "URL" : Array # * "VERSION" : String # # Multiple lines shouldn't be used, as this is for listing multiple entries. # list_format = "{{lpad 5 i}} | {{abbrev 5 id}} | {{FN}} | {{mail}} | {{adr}}" # The format when printing a single contact # # Here, the same rules like for the list format apply. # Multiple lines should work fine. # The "i" variable defaults to zero (0) show_format = """ {{id}} - {{UID}} Full name: {{FN}} Email : {{EMAIL}} Address : {{ADR}} """ [log] logs = ["default"] default = "default" [git] # Configuration for imag-git # # if this variable is _false_, imag-git will run git in $IMAG_RTP. # if this variable is _true_, imag-git will run git in $IMAG_RTP/store execute_in_store = false [ref] # configuration for imag-ref and ref using tools. # The base pathes define the search pathes for libimagentryref [ref.basepathes] music = "/home/user/music" mail = "/home/user/mail" [mail] # The name of the mail reference collection ref_collection_name = "mail"