sponsor Vim development Vim logo Vim Book Ad

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

 script karma  Rating 9/3, Downloaded by 484  Comments, bugs, improvements  Vim wiki

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

But vim is still lack of an elegent 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. Therefor, I decide to create this plugin and introduce vscode's
task like machanisms to vim.

Vscode creates a ".vscode" folder in your project root directory and use 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.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.