From db98153b11f4e2c3ae1f8ba22363d3d75e6179df Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Thu, 2 Oct 2025 14:20:26 -0400 Subject: [PATCH] fix(ansi): annotate highlights too --- lua/cp/runner/run.lua | 2 +- lua/cp/runner/run_render.lua | 2 +- lua/cp/ui/ansi.lua | 8 +++++++- lua/cp/ui/diff.lua | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lua/cp/runner/run.lua b/lua/cp/runner/run.lua index 9480ca3..4588257 100644 --- a/lua/cp/runner/run.lua +++ b/lua/cp/runner/run.lua @@ -4,7 +4,7 @@ ---@field expected string ---@field status "pending"|"pass"|"fail"|"running"|"timeout" ---@field actual string? ----@field actual_highlights? any[] +---@field actual_highlights? Highlight[] ---@field time_ms number? ---@field error string? ---@field stderr string? diff --git a/lua/cp/runner/run_render.lua b/lua/cp/runner/run_render.lua index 33eb3f6..99fbcbe 100644 --- a/lua/cp/runner/run_render.lua +++ b/lua/cp/runner/run_render.lua @@ -278,7 +278,7 @@ local function data_row(c, idx, tc, is_current, test_state) end ---@param test_state RunPanelState ----@return string[], any[] lines and highlight positions +---@return string[], Highlight[] lines and highlight positions function M.render_test_list(test_state) local lines, highlights = {}, {} local c = compute_cols(test_state) diff --git a/lua/cp/ui/ansi.lua b/lua/cp/ui/ansi.lua index 893b0db..0d31bdd 100644 --- a/lua/cp/ui/ansi.lua +++ b/lua/cp/ui/ansi.lua @@ -1,6 +1,12 @@ ---@class AnsiParseResult ---@field lines string[] ----@field highlights any[] +---@field highlights Highlight[] + +---@class Highlight +---@field line number +---@field col_start number +---@field col_end number +---@field highlight_group string local M = {} diff --git a/lua/cp/ui/diff.lua b/lua/cp/ui/diff.lua index 819fa3f..c3fe7cd 100644 --- a/lua/cp/ui/diff.lua +++ b/lua/cp/ui/diff.lua @@ -1,6 +1,6 @@ ---@class DiffResult ---@field content string[] ----@field highlights any[]? +---@field highlights Highlight[]? ---@field raw_diff string? ---@class DiffBackend