todoke 0.3.2

A rule-driven file and URL dispatcher: hands incoming paths (or URLs) to the right handler based on TOML-defined rules.
# todoke default config.
# Lives at ~/.config/todoke/todoke.toml on every platform.
# Values in double-braces are Tera template expressions.

[vars]
# user-defined vars go here, e.g.:
# proj_root = "/home/you/src"

# kind = "neovim" opts into msgpack-RPC reuse of a running nvim on `listen`.
# is_windows()/is_linux()/is_mac() are todoke-provided Tera functions.
[todoke.nvim]
kind = "neovim"
command = "nvim"
listen = '{% if is_windows() %}\\.\pipe\nvim-todoke-{{ group }}{% else %}/tmp/nvim-todoke-{{ group }}.sock{% endif %}'

# git commit, rebase todo, merge messages etc. — always a fresh nvim, block
# until it exits so callers like `git commit` see the result.
[[rules]]
name = "editor-callback"
match = '(?i)/(COMMIT_EDITMSG|MERGE_MSG|TAG_EDITMSG|EDIT_DESCRIPTION|git-rebase-todo|\.gitmessage|NOTES_EDITMSG|svn-commit\.tmp)$'
to = "nvim"
mode = "new"
sync = true

# Everything else: reuse a single long-running nvim called "default".
[[rules]]
name = "default"
match = '.*'
to = "nvim"
group = "default"
mode = "remote"
sync = false