# overseer.nvim
**Repository Path**: nvim_lip/overseer.nvim
## Basic Information
- **Project Name**: overseer.nvim
- **Description**: 仓库 mirror: https://github.com/stevearc/overseer.nvim.git
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-08-27
- **Last Updated**: 2025-08-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# overseer.nvim
A task runner and job management plugin for Neovim
- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
- [Quick start](#quick-start)
- [Tutorials](#tutorials)
- [Build a C++ file](doc/tutorials.md#build-a-c-file)
- [Run a file on save](doc/tutorials.md#run-a-file-on-save)
- [Guides](#guides)
- [Custom tasks](doc/guides.md#custom-tasks)
- [Actions](doc/guides.md#actions)
- [Custom components](doc/guides.md#custom-components)
- [Customizing built-in tasks](doc/guides.md#customizing-built-in-tasks)
- [Parsing output](doc/guides.md#parsing-output)
- [Running tasks sequentially](doc/guides.md#running-tasks-sequentially)
- [VS Code tasks](doc/guides.md#vs-code-tasks)
- [Explanation](#explanation)
- [Architecture](doc/explanation.md#architecture)
- [Task list](doc/explanation.md#task-list)
- [Task editor](doc/explanation.md#task-editor)
- [Alternatives](doc/explanation.md#alternatives)
- [FAQ](doc/explanation.md#faq)
- [Third-party integrations](#third-party-integrations)
- [Lualine](doc/third_party.md#lualine)
- [Heirline](doc/third_party.md#heirline)
- [Neotest](doc/third_party.md#neotest)
- [DAP](doc/third_party.md#dap)
- [ToggleTerm](doc/third_party.md#toggleterm)
- [Session managers](doc/third_party.md#session-managers)
- [Recipes](#recipes)
- [Restart last task](doc/recipes.md#restart-last-task)
- [Run shell scripts in the current directory](doc/recipes.md#run-shell-scripts-in-the-current-directory)
- [Directory-local tasks with exrc](doc/recipes.md#directory-local-tasks-with-exrc)
- [:Make similar to vim-dispatch](doc/recipes.md#make-similar-to-vim-dispatch)
- [Asynchronous :Grep command](doc/recipes.md#asynchronous-grep-command)
- [Reference](#reference)
- [Setup options](doc/reference.md#setup-options)
- [Commands](doc/reference.md#commands)
- [Highlight groups](doc/reference.md#highlight-groups)
- [Lua API](doc/reference.md#lua-api)
- [Components](doc/reference.md#components)
- [Strategies](doc/reference.md#strategies)
- [Parsers](doc/reference.md#parsers)
- [Parameters](doc/reference.md#parameters)
- [Screenshots](#screenshots)
## Features
- Built-in support for many task frameworks (make, npm, cargo, `.vscode/tasks.json`, etc)
- Simple integration with vim.diagnostics and quickfix
- UI for viewing and managing tasks
- Quick controls for common actions (restart task, rerun on save, or user-defined functions)
- Extreme customizability. Very easy to attach custom logic to tasks
- Define and run complex multi-stage workflows
- Support for `preLaunchTask` when used with [nvim-dap](https://github.com/mfussenegger/nvim-dap)
## Requirements
- Neovim 0.8+ (for older versions, use the [nvim-0.7 branch](https://github.com/stevearc/overseer.nvim/tree/nvim-0.7))
## Installation
overseer supports all the usual plugin managers
lazy.nvim
```lua
{
'stevearc/overseer.nvim',
opts = {},
}
```
Packer
```lua
require('packer').startup(function()
use {
'stevearc/overseer.nvim',
config = function() require('overseer').setup() end
}
end)
```
Paq
```lua
require "paq" {
{'stevearc/overseer.nvim'};
}
```
vim-plug
```vim
Plug 'stevearc/overseer.nvim'
```
dein
```vim
call dein#add('stevearc/overseer.nvim')
```
Pathogen
```sh
git clone --depth=1 https://github.com/stevearc/overseer.nvim.git ~/.vim/bundle/
```
Neovim native package
```sh
git clone --depth=1 https://github.com/stevearc/overseer.nvim.git \
"${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/pack/overseer/start/overseer.nvim
```
## Quick start
Add the following to your init.lua
```lua
require('overseer').setup()
```
To get started, all you need to know is `:OverseerRun` to select and start a task, and `:OverseerToggle` to open the task list.
https://user-images.githubusercontent.com/506791/189036898-05edcd62-42e7-4bbb-ace2-746b7c8c567b.mp4
If you don't see any tasks from `:OverseerRun`, it might mean that your task runner is not yet supported. There is currently support for VS Code tasks, make, npm, cargo, and some others. If yours is not supported, ([request support here](https://github.com/stevearc/overseer.nvim/issues/new/choose)).
If you want to define custom tasks for your project, I'd recommend starting with [the tutorials](doc/tutorials.md).
## Tutorials
- [Build a C++ file](doc/tutorials.md#build-a-c-file)
- [Run a file on save](doc/tutorials.md#run-a-file-on-save)
## Guides
- [Custom tasks](doc/guides.md#custom-tasks)
- [Template definition](doc/guides.md#template-definition)
- [Template providers](doc/guides.md#template-providers)
- [Actions](doc/guides.md#actions)
- [Custom components](doc/guides.md#custom-components)
- [Component aliases](doc/guides.md#component-aliases)
- [Task result](doc/guides.md#task-result)
- [Customizing built-in tasks](doc/guides.md#customizing-built-in-tasks)
- [Parsing output](doc/guides.md#parsing-output)
- [Running tasks sequentially](doc/guides.md#running-tasks-sequentially)
- [VS Code tasks](doc/guides.md#vs-code-tasks)
## Explanation
- [Architecture](doc/explanation.md#architecture)
- [Tasks](doc/explanation.md#tasks)
- [Components](doc/explanation.md#components)
- [Templates](doc/explanation.md#templates)
- [Task list](doc/explanation.md#task-list)
- [Task editor](doc/explanation.md#task-editor)
- [Alternatives](doc/explanation.md#alternatives)
- [FAQ](doc/explanation.md#faq)
## Third-party integrations
- [Lualine](doc/third_party.md#lualine)
- [Heirline](doc/third_party.md#heirline)
- [Neotest](doc/third_party.md#neotest)
- [DAP](doc/third_party.md#dap)
- [ToggleTerm](doc/third_party.md#toggleterm)
- [Session managers](doc/third_party.md#session-managers)
- [resession.nvim](doc/third_party.md#resessionnvim)
- [Other session managers](doc/third_party.md#other-session-managers)
## Recipes
- [Restart last task](doc/recipes.md#restart-last-task)
- [Run shell scripts in the current directory](doc/recipes.md#run-shell-scripts-in-the-current-directory)
- [Directory-local tasks with exrc](doc/recipes.md#directory-local-tasks-with-exrc)
- [:Make similar to vim-dispatch](doc/recipes.md#make-similar-to-vim-dispatch)
- [Asynchronous :Grep command](doc/recipes.md#asynchronous-grep-command)
## Reference
- [Setup options](doc/reference.md#setup-options)
- [Commands](doc/reference.md#commands)
- [Highlight groups](doc/reference.md#highlight-groups)
- [Lua API](doc/reference.md#lua-api)
- [setup(opts)](doc/reference.md#setupopts)
- [on_setup(callback)](doc/reference.md#on_setupcallback)
- [new_task(opts)](doc/reference.md#new_taskopts)
- [toggle(opts)](doc/reference.md#toggleopts)
- [open(opts)](doc/reference.md#openopts)
- [close()](doc/reference.md#close)
- [list_task_bundles()](doc/reference.md#list_task_bundles)
- [load_task_bundle(name, opts)](doc/reference.md#load_task_bundlename-opts)
- [save_task_bundle(name, tasks, opts)](doc/reference.md#save_task_bundlename-tasks-opts)
- [delete_task_bundle(name)](doc/reference.md#delete_task_bundlename)
- [list_tasks(opts)](doc/reference.md#list_tasksopts)
- [run_template(opts, callback)](doc/reference.md#run_templateopts-callback)
- [preload_task_cache(opts, cb)](doc/reference.md#preload_task_cacheopts-cb)
- [clear_task_cache(opts)](doc/reference.md#clear_task_cacheopts)
- [run_action(task, name)](doc/reference.md#run_actiontask-name)
- [wrap_template(base, override, default_params)](doc/reference.md#wrap_templatebase-override-default_params)
- [add_template_hook(opts, hook)](doc/reference.md#add_template_hookopts-hook)
- [remove_template_hook(opts, hook)](doc/reference.md#remove_template_hookopts-hook)
- [register_template(defn)](doc/reference.md#register_templatedefn)
- [load_template(name)](doc/reference.md#load_templatename)
- [debug_parser()](doc/reference.md#debug_parser)
- [register_alias(name, components)](doc/reference.md#register_aliasname-components)
- [Components](doc/reference.md#components)
- [Strategies](doc/reference.md#strategies)
- [Parsers](doc/reference.md#parsers)
- [Parameters](doc/reference.md#parameters)
## Screenshots
https://user-images.githubusercontent.com/506791/180620617-2b1bb0a8-5f39-4936-97c2-04c92f1e2974.mp4