id = "vdirsyncer" name = "vdirsyncer" homepage = "https://vdirsyncer.pimutils.org/" description = "A command-line tool for synchronizing calendars and addressbooks between a variety of servers and the local filesystem." executables = ["vdirsyncer"] [dotfiles] # https://github.com/pimutils/vdirsyncer/blob/main/docs/tutorial.rst — the # user config search order includes the legacy ~/.vdirsyncer/config and the # XDG $XDG_CONFIG_HOME/vdirsyncer/config (normally ~/.config/vdirsyncer/config). paths = ["~/.vdirsyncer/config", "~/.config/vdirsyncer/config"] exclude = [] secret = [] side_effect = false # https://github.com/pimutils/vdirsyncer/blob/main/docs/config.rst documents # password/passwordeval/password_command settings in storage sections. The # section names are user-defined, so a line-prefix rule is the stable match. [[dotfiles.secret_paths]] file = ["~/.vdirsyncer/config", "~/.config/vdirsyncer/config"] match = { prefix = ["password"] } [commands] format = 1 label = "Run vdirsyncer" description = "Run a vdirsyncer command for a pair. Use discover first for new collections. Config editing is left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "docs" kind = "manual" url = "https://manpages.debian.org/unstable/vdirsyncer/vdirsyncer.1.en.html" revision = "vdirsyncer 0.21.0-1" evidence = """ vdirsyncer discover contacts vdirsyncer sync contacts vdirsyncer metasync to synchronize the color property vdirsyncer repair no longer changes "unsafe" UIDs New global command line option --config, to specify an alternative Use --verbosity=DEBUG when including output from vdirsyncer. so you would use vdirsyncer sync doublecloud/mytest """ [[commands.field]] id = "config" label = "Config file" type = "path" option = ["--config"] path = { kind = "file", role = "input" } sources = ["docs"] [[commands.field]] id = "verbosity" label = "Verbosity" type = "string" option = ["--verbosity"] suggestions = [{ value = "DEBUG", label = "DEBUG" }] sources = ["docs"] [[commands.field]] id = "command" label = "Command" type = "enum" position = 0 choices = [{ value = "discover", label = "discover" }, { value = "sync", label = "sync" }, { value = "metasync", label = "metasync" }, { value = "repair", label = "repair" }] sources = ["docs"] [[commands.field]] id = "pair" label = "Pair or pair/collection" type = "string" position = 1 multiple = true sources = ["docs"] [[commands.task]] id = "discover" label = "Discover collections" fields = ["command", "pair"] required = ["command"] set = { command = ["discover"] } [[commands.task]] id = "sync" label = "Sync" fields = ["command", "pair", "verbosity"] required = ["command"] set = { command = ["sync"] } [[commands.group]] id = "basic" label = "Basic" fields = ["command", "pair"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["config", "verbosity"]