dorkhub

todoist.nvim

A todoist extension for neovim

romgrk
JavaScript18112 forksupdated 3 weeks ago
git clone https://github.com/romgrk/todoist.nvim.gitromgrk/todoist.nvim

Caution

This repository doesn't work anymore after Todoist v9 API deprecation.

todoist.nvim

A hopefully usable todoist extension for neovim

alt text

For integration with vim-clap (fuzzy finder) see below.

Install

Find your API key here: https://todoist.com/prefs/integrations

For security reasons, it is recommended to use pass to store it:

$ pass insert Todoist/API
Enter password for Todoist/API: XXXXXXXXX

Export it in your ~/.config/environment.d/*.conf/~/.profile/~/.bashrc

export TODOIST_API_KEY="$(pass Todoist/API)"
Plug 'romgrk/todoist.nvim', { 'do': ':TodoistInstall' }

If you don't use vim-plug, run the TodoistInstall command manually to complete the installation.

Requirements

  • neovim 0.4.0
  • nodejs 10.0.0
  • npm install -g neovim@latest (NOTE: needs to be at v4.9.0 at least!)

Make sure your nodejs provider works (:checkhealth to confirm).

Usage

:Todoist [project_name] (default: Inbox. Creates project if it doesn't exist)

Mappings

Keys Effect
x Toggle current task completion
cc Change current task text
cd Change current task date (date formats)
p1 Make task Priority 1
p2 Make task Priority 2
p3 Make task Priority 3
p4 Make task Priority 4
DD Delete current task
O Add new task before
o Add new task after
< Unindent
> Indent
r Refresh
pcc Change current project color
pcn Change current project name
pdd Archive current project premium users only :/
pDD Delete current project

Options

Below are the default options:

let todoist = {
\  'icons': {
\    'unchecked': ' [ ] ',
\    'checked':   ' [x] ',
\    'loading':   ' […] ',
\    'error':     ' [!] ',
\  },
\  'defaultProject': 'Inbox',
\  'useMarkdownSyntax': v:true,
\}

If you have a NerdFont installed, you can use the icons below, that will render like in the gif above.

let todoist = {
\ 'icons': {
\   'unchecked': '  ',
\   'checked':   '  ',
\   'loading':   '  ',
\   'error':     '  ',
\ },
\}

Integration with Clap

This plugin implements a vim-clap provider for selecting your projects.

Clap todoist

alt text

more like this

vim-dap

Vim/Neovim debugger plugin providing a terminal interface to the Debug Adapter Protocol

Vim Script50

taskbutler

Create and add progress bars, Office365 Files and Dropbox Paper papers by labels and link them to your Todoist tasks.

Python50

search

search projects, people, and tags