imag-init 0.10.1

Part of the imag core distribution: imag-init command
Documentation
# 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 <input>}}
#  {{blue <input>}}
#  {{cyan <input>}}
#  {{green <input>}}
#  {{purple <input>}}
#  {{red <input>}}
#  {{white <input>}}
#  {{yellow <input>}}
#
# The following functions are allowed for formatting text:
#  {{lpad <count> <input>}}   - to "left pad" by <count> spaces
#  {{rpad <count> <input>}}   - to "right pad" by <count> spaces
#  {{abbrev <count> <input>}} - to "abbreviate" the output to <count> chars
#  {{underline <input>}}      - for underlining
#  {{bold <input>}}           - for making input bold
#  {{blink <input>}}          - for making input blinking
#  {{strikethrough <input>}}  - 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" ]
notes = [ "note" ] # imag-notes really should be imag-note

[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"
open = "firefox {{url}}"

[view.viewers]
# Configure which viewers there are for `imag view <entry> in <viewer>`.
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<String>
#  * "CLIENTPIDMAP" : String
#  * "EMAIL"        : Array<String>
#  * "FN"           : Array<String>
#  * "GENDER"       : String
#  * "GEO"          : Array<String>
#  * "IMPP"         : Array<String>
#  * "KEY"          : Array<String>
#  * "LANG"         : Array<String>
#  * "LOGO"         : Array<String>
#  * "MEMBER"       : Array<String>
#  * "N"            : String
#  * "NICKNAME"     : Array<String>
#  * "NOTE"         : Array<String>
#  * "ORG"          : Array<String>
#  * "PHOTO"        : Array<String>
#  * "PRIOD"        : String
#  * "RELATED"      : Array<String>
#  * "REV"          : String
#  * "ROLE"         : Array<String>
#  * "SOUND"        : Array<String>
#  * "TEL"          : Array<String>
#  * "TITLE"        : Array<String>
#  * "TZ"           : Array<String>
#  * "UID"          : String
#  * "URL"          : Array<String>
#  * "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}}
"""

[calendar]
list_format = "{{lpad 5 i}} | {{abbrev 5 uid}} | {{summary}} | {{location}}"
show_format = """
{{i}} - {{uid}}

Summary  : {{summary}}
Start    : {{dtstart}}
End      : {{dtend}}
Url      : {{url}}
Location : {{location}}

{{description}}

"""

[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"
contacts = "/home/user/contacts"
calendars = "/home/user/calendars"

[mail]
# The name of the mail reference collection
ref_collection_name = "mail"

[todo]
show_format = """
{{i}}      {{uuid}}

Status:    {{status}}
Priority:  {{prio}}
Scheduled: {{sched}}
Hidden:    {{hidden}}
Due:       {{due}}

{{text}}
"""