Neovim plugin for STM (Simple Task Manager) - launch the TUI directly from Neovim.
- Neovim >= 0.8.0
- STM installed and available in your
$PATH
{
"tgienger/stm.nvim",
opts = {},
keys = {
{ "<leader>tm", "<cmd>STM<cr>", desc = "Toggle Task Manager" },
},
}use {
"tgienger/stm.nvim",
config = function()
require("stm").setup()
end,
}| Command | Description |
|---|---|
:STM |
Toggle STM with default layout (float) |
:STM float |
Toggle STM in a floating window |
:STM vsplit |
Toggle STM in a vertical split |
:STM tab |
Toggle STM in a new tab |
local stm = require("stm")
stm.toggle() -- Toggle with default layout
stm.toggle("float") -- Toggle floating window
stm.toggle("vsplit") -- Toggle vertical split
stm.toggle("tab") -- Toggle in new tab
stm.open() -- Open (focus if already open)
stm.close() -- Close if open
stm.is_open() -- Check if STM is open<leader>tm - Toggle Task Manager (configurable, see below)
require("stm").setup({
-- Path to stm binary (default: "stm" from $PATH)
cmd = "stm",
-- Default layout when running :STM without arguments
-- Options: "float", "vsplit", "tab"
default_layout = "float",
-- Floating window options
float = {
width = 0.5, -- 50% of editor width (or absolute number)
height = 0.5, -- 50% of editor height (or absolute number)
border = "rounded", -- "none", "single", "double", "rounded", "shadow"
},
-- Vertical split options
vsplit = {
size = 47, -- Width in columns
position = "right", -- "left" or "right"
},
-- Behavior
close_on_exit = true, -- Auto-close window when STM exits
start_insert = true, -- Start in terminal insert mode
-- Default keymap (set to false to disable)
keymap = "<leader>tm",
})To disable the default keymap and set your own:
require("stm").setup({
keymap = false,
})
-- Set your own keymap
vim.keymap.set("n", "<leader>t", "<cmd>STM<cr>", { desc = "Task Manager" })MIT