Skip to content
This repository has been archived by the owner on Nov 12, 2019. It is now read-only.
/ kronos.vim Public archive

A simple task and time manager. Project moved here:

License

Notifications You must be signed in to change notification settings

soywod/kronos.vim

Repository files navigation

Kronos.vim Build Status

A synchronized cross-platform task and time manager.

Table of contents

Introduction

Kronos is a synchronized, cross-platform task and time manager.

Kronos.vim is a Vim8/Neovim client for Kronos protocol that allows you to manange your tasks directly from a Vim buffer (a bit like Vimwiki).

Mappings

Function Mapping
Jump to the next cell <Tab>, <C-n>
Jump to the prev cell <S-Tab>, <C-p>
Change in cell cic
Visual in cell vic
Delete in cell dic
Show task infos K
Hide/show done tasks gh
Set context gc
Show worktime gw

Usage

:Kronos

Then you can create, read, update, delete tasks using Vim mapping. The table will automatically readjust when you save the buffer (:w).

Create

To create a task, you can:

  • Write a full table line |id|desc|tags|active|due|
  • Write a Kronos create format: my task +with-tag :18

Create task

Read

To show focused task details, press <K>:

Read task

Update

To update a task, just edit the cell and save:

Update task

For the due field, you need to use the date Kronos create format (eg: :18, :20:1230...).

Start/stop

To start/stop a task, press <Enter>:

Start/stop task

Done

To mark a task as done, delete the line:

Done task

Hide done tasks

To show/hide done tasks, press <gh> (for go hide):

Hide done tasks

Context

The context is a filter over tags. Once setup:

  • You will see only tasks containing at least one tag of your context
  • When you create a task, all tags in your context will be assigned to it

To setup a context, press gc (for go to context), and type all tags you want in your context (separated by spaces). Typing an empty context removes it:

Set context

Worktime

The worktime allows you to check how much time you spent on a tag. Press gw (for go to worktime), and type the tags you want to calculate the total worktime:

Worktime

Delete

To delete a task, delete the line when done tasks are shown:

Delete task

Config

Context

Define a context by default:

g:kronos_context = <string[]>

Default: []

Database

Path to the database file:

g:kronos_database = <path>

Default: <KRONOS_ROOT_DIR>/.database

Hide done tasks

Hide done tasks by default:

g:kronos_hide_done = <boolean>

Default: 1

Sync

Enable sync feature:

g:kronos_sync = <boolean>

Default: 0

See Kronos protocol.

Sync host

Set sync host:

g:kronos_sync_host = <string>

Default: localhost:5000

Contributing

Git commit messages follow the Angular Convention, but contain only a subject.

Use imperative, present tense: “change” not “changed” nor “changes”
Don't capitalize first letter
No dot (.) at the end

Code should be as clean as possible, variables and functions use the snake case convention. A line should never contain more than 80 characters.

Tests should be added for each new functionality. Be sure to run tests before proposing a pull request.

Changelog

  • Dec. 26, 2018 - Refactor interface (Vimwiki like)
  • Oct. 18, 2018 - Refactor code to match the Kronos protocol
  • Jul. 05, 2018 - Add context by tags
  • Jun. 26, 2018 - Implement Gist sync feature
  • Jun. 25, 2018 - Add ability to mark tasks as undone
  • Jun. 24, 2018 - Add option to show or hide done tasks
  • Jun. 23, 2018 - Init changelog

Credits