feat: add configurable indicator padding

Add indicator.padding (x, y) to offset the status indicator from the
editor edges. Defaults to 1 cell on each axis, moving the indicator
away from the right edge and bottom of the buffer.
This commit is contained in:
Stevan Freeborn
2026-07-06 20:33:46 -05:00
parent ef48cd178f
commit e57c55b867
2 changed files with 14 additions and 5 deletions
+6
View File
@@ -16,6 +16,10 @@
---@field bin? string
---@field args? string[]
---@class watchexec.IndicatorPadding
---@field x? integer
---@field y? integer
---@class watchexec.IndicatorPatterns
---@field success? string
---@field running? string
@@ -27,6 +31,7 @@
---@field failure_hl? string
---@field width? integer
---@field height? integer
---@field padding? watchexec.IndicatorPadding
---@field patterns? watchexec.IndicatorPatterns
---@class watchexec.Config
@@ -64,6 +69,7 @@ local defaults = {
failure_hl = "WatchexecFailure",
width = 2,
height = 1,
padding = { x = 1, y = 1 },
patterns = {
success = "%[Command was successful%]",
running = "%[Running",
+8 -5
View File
@@ -35,18 +35,21 @@ local function calculate_position()
local cfg = config.get().indicator
local width = cfg.width or 2
local height = cfg.height or 1
local pad_x = cfg.padding and cfg.padding.x or 1
local pad_y = cfg.padding and cfg.padding.y or 1
local statusline_offset = 2
if cfg.position == "bottom-left" then
return vim.o.lines - height - 3, 0
return vim.o.lines - height - statusline_offset, pad_x
elseif cfg.position == "bottom-right" then
return vim.o.lines - height - 3, vim.o.columns - width
return vim.o.lines - height - statusline_offset, vim.o.columns - width - pad_x
elseif cfg.position == "top-left" then
return 0, 0
return pad_y, pad_x
elseif cfg.position == "top-right" then
return 0, vim.o.columns - width
return pad_y, vim.o.columns - width - pad_x
end
return vim.o.lines - height - 3, 0
return vim.o.lines - height - statusline_offset, pad_x
end
local function close_float()