2023-01-06

Vim-TaskFalcon a VIM9SCRIPT Plugin for TaskFalcon

A typical TaskFalcon project is defined as a set of tasks and resources in one or more YAML formatted files. This note shows how to configure VIM with a dedicated set of snippets for a YAML file, a YAML schema validator, and a VIM9Script plugin that conveniently runs the task-falcon command line tool.

Task Falcon YAML snippets

Taskfalcon YAML snippets (SnipMate format) can be downloaded from this link.

It's possible to check which snippets are available for the current filetype with:

   :CocCommand workspace.showOutput snippets 
   [Info  - 11:27:23.014] Loaded 8 yaml snipmate snippets from: C:\Users\Seve\.vim\snippets\yaml.snippets

and select one of the snippets available with:

   :CocList snippets

Read more about VIM-Snippets.

JSON schema validator

VIM allows checking the structure of a YAML file against a predefined schema while typing, this requires COC-YAML installed:

   :CocInstall coc-yaml

The following modeline at the top of the current buffer will use the schema indicated in the URL to validate the current YAML file.

   # yaml-language-server: $schema=https://tessarinseve.pythonanywhere.com/staticweb/falcon.json

VIM9SCRIPT plugin

This VIM9SCRIPT plugin provides a convenient set of commands for running Taskfalcon with specific options, it can be installed by including the following URL in your vimrc and then run :PlugInstall (Plug):

   Plug 'https://sevepy@bitbucket.org/sevepy/vim-taskfalcon.git'

The command

   :FalconGantt

will generate a set of Gantt charts for the current project, on Windows OS the generated charts can also be previewed without closing the text editor, as shown in the video below.