refactor: absorb statusline offset into indicator padding

Remove the hardcoded statusline_offset from calculate_position() and
let padding.y serve as the sole offset from the bottom edge. Bump
default padding.y to 3 to preserve the original visual position.
This commit is contained in:
Stevan Freeborn
2026-07-06 20:48:19 -05:00
parent d82c901ad6
commit f112ac542e
4 changed files with 7 additions and 8 deletions
+1 -1
View File
@@ -110,7 +110,7 @@ to close it. Press `<Leader>wxt` to toggle it back.
| `failure_hl` | `string` | `"WatchexecFailure"` | Highlight for failure state. | | `failure_hl` | `string` | `"WatchexecFailure"` | Highlight for failure state. |
| `width` | `integer` | `2` | Indicator width in cells. | | `width` | `integer` | `2` | Indicator width in cells. |
| `height` | `integer` | `1` | Indicator height in cells. | | `height` | `integer` | `1` | Indicator height in cells. |
| `padding` | `table` | `{ x = 1, y = 1 }` | Offset from editor edges. | | `padding` | `table` | `{ x = 1, y = 3 }` | Offset from editor edges. |
| `patterns` | `table` | *(see below)* | Lua patterns for parsing output. | | `patterns` | `table` | *(see below)* | Lua patterns for parsing output. |
#### `indicator.patterns` #### `indicator.patterns`
+1 -1
View File
@@ -187,7 +187,7 @@ indicator (table|nil) ~
y (integer|nil) ~ y (integer|nil) ~
Vertical offset from the top or bottom edge. Vertical offset from the top or bottom edge.
Default: 1 Default: 3
patterns (table|nil) ~ patterns (table|nil) ~
Lua patterns for detecting command lifecycle in output. Lua patterns for detecting command lifecycle in output.
+1 -1
View File
@@ -69,7 +69,7 @@ local defaults = {
failure_hl = "WatchexecFailure", failure_hl = "WatchexecFailure",
width = 2, width = 2,
height = 1, height = 1,
padding = { x = 1, y = 1 }, padding = { x = 1, y = 3 },
patterns = { patterns = {
success = "%[Command was successful%]", success = "%[Command was successful%]",
running = "%[Running", running = "%[Running",
+4 -5
View File
@@ -36,20 +36,19 @@ local function calculate_position()
local width = cfg.width or 2 local width = cfg.width or 2
local height = cfg.height or 1 local height = cfg.height or 1
local pad_x = cfg.padding and cfg.padding.x 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 pad_y = cfg.padding and cfg.padding.y or 3
local statusline_offset = 2
if cfg.position == "bottom-left" then if cfg.position == "bottom-left" then
return vim.o.lines - height - statusline_offset, pad_x return vim.o.lines - height - pad_y, pad_x
elseif cfg.position == "bottom-right" then elseif cfg.position == "bottom-right" then
return vim.o.lines - height - statusline_offset, vim.o.columns - width - pad_x return vim.o.lines - height - pad_y, vim.o.columns - width - pad_x
elseif cfg.position == "top-left" then elseif cfg.position == "top-left" then
return pad_y, pad_x return pad_y, pad_x
elseif cfg.position == "top-right" then elseif cfg.position == "top-right" then
return pad_y, vim.o.columns - width - pad_x return pad_y, vim.o.columns - width - pad_x
end end
return vim.o.lines - height - statusline_offset, pad_x return vim.o.lines - height - pad_y, pad_x
end end
local function close_float() local function close_float()