sponsor Vim development Vim logo Vim Book Ad

asynctasks : Modern Task System for Project Building/Testing/Deploying !!

 script karma  Rating 46/13, Downloaded by 1342  Comments, bugs, improvements  Vim wiki

created by
Wei Lin
script type
As vim 8.0 was released in 2017, we have got many wonderful plugins like LSP,
DAP, and asynchronous linters. Even things like vimspector which could only be
imagined in emacs in the past, now become reality in vim.

However, vim is still lack of an elegant task system to speed up your inner software
development cycle (edit, compile, test). A lot of people are still dealing with those
building, testing, and deploying tasks in such a primitive or flaky way. Therefore, I
decided to create this plugin and introduce vscode's task like mechanisms to vim.

Vscode creates a .vscode folder in your project root directory and uses a
.vscode/tasks.json file to define project-specific tasks. Similar, asynctasks.vim uses
a .tasks file in your project folders for local tasks and use ~/.vim/tasks.ini to define
global tasks for generic projects.

This is very simple, but most good designs always start from a very simple concept.
You will benefit a lot from the productivity and possibility of this task system.

Quick start:

install details
copy asynctasks.vim to ~/.vim/plugin or install it from:

- asyncrun 2.4.0 or above
- vim 8.1 / neovim 0.3

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
asynctasks.vim 1.9.19 2024-06-18 8.0 Wei Lin - Check if 'cwd' option exists before updating in asynctasks#start function.
asynctasks.vim 1.9.18 2024-06-17 8.0 Wei Lin - support internal variables in the cwd field.
asynctasks.vim 1.9.17 2024-02-01 8.0 Wei Lin - new: ability to match variable value in the section header.
- fixed: changing task configuration filetype to "taskini" has no effect.
- better filetype handling
- minor fix
asynctasks.vim 1.9.12 2023-08-18 8.0 Wei Lin - new "AsyncTaskEnviron" command.
- fixed many minor issues
asynctasks.vim 1.8.28 2021-12-30 8.0 Wei Lin - take care of "encoding", "scroll", and "safe" option.
- new api hook allows ui routine replacement.
- new notify option to play sound
- new use "lua vim.notify" in nvim when "notify=true"
- new asynctasks#inspect to inspect task config
- new asynctasks#content to get config text
asynctasks.vim 1.8.9 2021-03-12 8.0 Wei Lin replace echo with echom in task notification.
asynctasks.vim 1.8.8 2021-03-07 8.0 Wei Lin new: internal variables defined in the '[*]' section will be expanded.
asynctasks.vim 1.8.7 2021-02-26 8.0 Wei Lin New: introduce template to help you edit your task file for different projects.
asynctasks.vim 1.8.6 2021-02-14 8.0 Wei Lin - allow: AsyncTaskProfile to have multiple arguments
- g:asynctasks_config_name accept comma separated list
- output=hide to execute command with system(... ' &')
- use $(?ask:default) to provide a default value, $(?ask:) to remember last input
- option `g:asyncrun_rootmarks` accepts wildcards now.
- better command parameter completion
- minor issues fixed
asynctasks.vim 1.6.5 2020-03-10 8.0 Wei Lin new task profile, task input and task runner.
asynctasks.vim 1.5.6 2020-02-21 8.0 Wei Lin - new: internal variables.
- new: task with different features.
asynctasks.vim 1.4.8 2020-02-17 8.0 Wei Lin 1. fixed: os detection
2. fixed: "$(VIM_PATHNOEXT)" is not an absolute path, make it absolute.
3. support multiple commands for different operating system.
4. support different profile (debug/release) for one task, default profile is debug
asynctasks.vim 1.4.2 2020-02-17 8.0 Wei Lin one task can have different profiles to differentiate "debug" or "release"
asynctasks.vim 1.3.8 2020-02-16 8.0 Wei Lin new macro: $(VIM_FILETYPE)
asynctasks.vim 1.3.7 2020-02-15 8.0 Wei Lin command enhancement, add hidden tasks starting with a dot.
asynctasks.vim 1.3.2 2020-02-13 8.0 Wei Lin command can ask user input if command contains "$(?youname)" macro
asynctasks.vim 1.2.1 2020-02-12 8.0 Wei Lin Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
Vim at Github