Skip to content

jonatas-sas/ntask.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ntask.nvim

ntask.nvim is a Neovim plugin that integrates Taskwarrior with Neovim, allowing you to manage tasks efficiently without leaving your editor.

🚀 Features

  • ✅ Create tasks directly from Neovim.
  • ✅ List pending tasks filtered by project.
  • ✅ Mark tasks as done.
  • ✅ Edit and delete tasks easily.
  • ✅ Integrated with Telescope.nvim for interactive task selection.
  • :checkhealth ntask.nvim support for verifying dependencies.

📦 Installation

Using packer.nvim

use {
  'OdaraIT/ntask.nvim',
  requires = { 'nvim-lua/plenary.nvim', 'nvim-telescope/telescope.nvim' },
  config = function()
    require('ntask').setup({})
  end
}

Using vim-plug

Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-telescope/telescope.nvim'
Plug 'OdaraIT/ntask.nvim'

Using lazy.nvim

{
  'OdaraIT/ntask.nvim',
  dependencies = { 'nvim-lua/plenary.nvim', 'nvim-telescope/telescope.nvim' },
  config = function()
    require('ntask').setup({})
  end
}

⚙️ Setup Configuration

ntask.nvim now supports a setup() function for user configuration.

Example:

require('ntask').setup({
  project = "MyProject",
  tags = { "work", "urgent" },
  priority = "H",
  duedate = "+1d"
})

Available Options:

Option Default Description
project General Default project name for tasks
tags {} List of default tags for new tasks
priority M Default priority (H, M, or L)
duedate +3d Default due date for new tasks

⚙️ Commands

Command Description
:TaskAdd Add a new task
:TaskList List tasks of the current project
:TaskDone Mark a task as completed
:TaskDelete Delete a task (with confirmation)
:TaskEdit Edit task details

🔧 Project Configuration (.ntask.json)

ntask.nvim allows you to define project-specific defaults using a .ntask.json file in the root of your project. This file can specify default values for:

Example .ntask.json:

{
  "project": "MyProject",
  "tags": ["dev", "feature"],
  "priority": "M",
  "duedate": "+3d"
}

Supported Fields:

  • project: Default project name for new tasks.
  • tags: List of tags automatically added to new tasks.
  • priority: Default priority (H, M, or L).
  • duedate: Default due date (e.g., +3d for 3 days from today).

If no .ntask.json is found, default values will be used.

🛠 Dependencies

Make sure you have the following installed:

🏥 Health Check

Run the following command to verify if all dependencies are correctly installed:

:checkhealth ntask.nvim

📜 License

This project is licensed under the MIT License.


Now you can manage your tasks inside Neovim effortlessly! 🚀

About

NeoVim Tasks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published