Add support for vit, an Vimmish Taskwarrior client

This commit is contained in:
Danielle McLean 2021-07-14 21:53:03 +10:00
parent 9119e7806c
commit 50fe487a18
Signed by: 00dani
GPG key ID: 9DDE1EDE01E3A605
2 changed files with 237 additions and 0 deletions

234
config/vit/config.ini Normal file
View file

@ -0,0 +1,234 @@
# This is the user configuration file for VIT.
# All configuration options are listed here, commented out, and showing their
# default value when not otherwise set.
# The format is standard INI file format. Configuration sections are enclosed
# by brackets. Configuration values should be placed in their relevant section,
# using a 'name = value' format. Boolean values can be expressed by the
# following:
# True values: 1, yes, true (case insensitive)
# False values: All other values.
[taskwarrior]
# Full path to the Taskwarrior configuration file. Tilde will be expanded to
# the user's home directory.
# NOTE: This setting is overridden by the TASKRC environment variable.
#taskrc = ~/.taskrc
[vit]
# The keybinding map to use. This maps actions registered with VIT to be fired
# when the user presses the specific keys configured in the keybindings file.
# Possible keybindings are in the 'keybinding' directory, and the setting's
# value should be the filename minus the .ini extension. The default keybinding
# configuration is modeled heavily on the legacy VIT keybindings, and inspired
# by vi/vim.
#default_keybindings = vi
# The theme to use. This allows control over the colors used in the
# application itself. Possible themes are in the 'theme' directory, and the
# setting's value should be the filename minus the .py extension.
# Note that the theme does not control any coloring related to tasks -- this
# is controlled via the color settings in the Taskwarrior configuration.
#theme = default
# Boolean. If true, VIT will ask for confirmation before marking a task as done,
# deleting a task, or quitting VIT. Set to false to disable the prompts.
#confirmation = True
# Boolean. If true, VIT will show the output of the task command and wait for
# enter. If false, VIT will not show output of the task command after
# modifications to a task are made.
#wait = True
# Boolean. If true, VIT will enable mouse support for actions such as selecting
# list items.
#mouse = False
# Boolean. If true, hitting backspace against an empty prompt aborts the prompt.
#abort_backspace = False
[report]
# The default Taskwarrior report to load when VIT first starts, if no report
# or filters are passed at the command line.
#default_report = next
# The default Taskwarrior report to load when VIT first starts, if filters are
# passed at the command line with no report.
#default_filter_only_report = next
# Boolean. If true, reports with the primary sort of project ascending will
# indent subprojects. If you use deeply nested subprojects, you'll probably
# like this setting.
#indent_subprojects = True
# Boolean. If true, display report rows with alternating background colors.
#row_striping = True
[marker]
# Boolean. Enables markers. Markers are configurable labels that appear on the
# left side of a report to indicate information about a task when the displayed
# report does not contain the related column.
# For example, let's suppose you have a 'notes' UDA configured. You'd like to
# see some indication that a task has a note, without displaying the full note
# column in reports. You could configure a marker for that custom UDA as
# follows:
# uda.notes.label = (N)
# Then, when a listed task has a note associated with it, you'll see the
# marker '(N)' displayed in the leftmost column of any report that displays the
# task in question.
#enabled = True
# What columns to generate markers for. Can either be 'all' for all columns, or
# a comma separated list of columns to enable markers for. Possible columns
# are:
# depends,description,due,project,recur,scheduled,start,status,tags,until
#columns = all
# The header label for the markers column when it is displayed.
#header_label =
# Boolean. If true, an associated color value must be configured in the
# Taskwarrior configuration in order for the marker to be displayed. If false,
# and no Taskwarrior color configuration is present for the matching marker,
# then it is not displayed.
# For example, if this is set to True, then for the above-mentioned 'notes'
# marker to be displayed, a matching Taskwarrior color configuration for the
# 'notes' UDA must be present, e.g.:
# color.uda.notes=yellow
#require_color = True
# Boolean. If true, subprojects of a project will also display the configured
# root project's marker, if the subproject itself does not have its own marker
# configured.
# For example, given the following projects:
# Foo
# Foo.Bar
# If this value is set to True, and the Foo project has a configured marker,
# then Foo.Bar would also display Foo's marker.
#include_subprojects = True
# Below are listed all of the available markers, with their default label.
# To disable a specific marker, set its label to empty. Any section enclosed
# in brackets should be replaced by the appropriate identifier, eg.
# [project_name] with the actual name of a project.
#active.label = (A)
#blocked.label = (BD)
#blocking.label = (BG)
#completed.label = (C)
#deleted.label = (X)
#due.label = (D)
#due.today.label = (DT)
#keyword.label = (K)
#keyword.[keyword_name].label =
#overdue.label = (OD)
#project.label = (P)
#project.none.label =
#project.[project_name].label =
#recurring.label = (R)
#scheduled.label = (S)
#tag.label = (T)
#tag.none.label =
#tag.[tag_name].label =
#uda.label =
#uda.priority.label = (PR)
#uda.[uda_name].label =
[color]
# Boolean. If true, use the colors in Taskwarrior's configuration to colorize
# reports. Note that VIT uses a fundamentally different paradigm for
# colorization, which combines tying coloring to associated report columns in
# combination with markers (see above). This setting works independently of
# Taskwarriors 'color' config setting.
#enabled = True
# Boolean. If true, subprojects of a project will also display the configured
# root project's color, if the subproject itself does not have its own color
# configured.
# For example, given the following projects:
# Foo
# Foo.Bar
# If this value is set to True, and the Foo project has a configured color,
# then Foo.Bar would also display Foo's color.
#include_subprojects = True
# For the Taskwarrior color configuration, there are three special values:
# color.project.none
# color.tag.none
# color.uda.[uda_name].none
# If any of these are configured for color, then the label below will be used
# in the related column to display the color configuration.
#none_label = [NONE]
[keybinding]
# This section allows you to override the configured keybindings, associate
# additional keybindings with VIT actions, and set up macros triggered by a
# keybinding.
# Meta keys are enclosed in angle brackets, variables are enclosed in curly
# brackets. Keybindings here can either be:
# - Associated with a single VIT action
# - A macro that describes a series of key presses to replay
# For VIT actions, the form is:
# keys[,keys] = {ACTION_NAME}
# For example, to associate the keybinding 'zz' with the undo action:
# zz = {ACTION_TASK_UNDO}
# To only disable a keybinding, use the special noop action:
# w = {ACTION_NOOP}
# wa = {ACTION_TASK_WAIT}
# The above would disable the task wait action for the 'w' key, and instead
# assign it to the 'wa' keybinding.
# For capital letter keybindings, use the letter directly:
# D = {ACTION_TASK_DONE}
# For a list of available actions, run 'vit --list-actions'.
# A great reference for many of the available meta keys, and understanding the
# default keybindings is the 'keybinding/vi.ini' file.
# For macros, the form is:
# keys[,keys] = keypresses
# For example, to map the 'o' key to opening the OneNote script, passing it
# the currently focused task UUID:
# o = :!wr onenote {TASK_UUID}<Enter>
# The special '{TASK_[attribute]}' variable can be used in any macro, and it
# will be replaced with the value of the attribute for the currently
# highlighted task. Any attribute listed in 'task _columns' is supported, e.g.
# o = :!wr echo project is {TASK_PROJECT}<Enter>
# Multiple keybindings can be associated with the same action/macro, simply
# separate the keybindings with a comma:
# <Ctrl> z,zz = {ACTION_TASK_UNDO}
# 'Special' keys are indicated by enclosing them in brackets. VIT supports the
# following special keys on either side of the keybinding declaration, by
# internally translating them into the single character:
#
# <Colon>
# <Equals>
# <Space>
# <Semicolon>
#
# Under the hood, VIT uses the Urwid mappings for keyboard input:
# http://urwid.org/manual/userinput.html
#
# Any modifier, navigation, or function keys can be described in the VIT
# keybinding configuration by wrapping them in angle brackets, matching the
# correct Urwid keyboard input structure:
#
# <Ctrl> e = :!wr echo do something
# <Shift> <Ctrl> <F5> = :!wr echo you used a function key

View file

@ -5,3 +5,6 @@ fi
if [[ -z $TIMEWARRIORDB ]]; then
export TIMEWARRIORDB=$XDG_DATA_HOME/timew
fi
if [[ -z $VIT_DIR ]]; then
export VIT_DIR=$XDG_CONFIG_HOME/vit
fi