From 8f0b9ed656d7b92eb0d60c34b6a5bd3803cc0e0b Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 21 Jun 2023 16:53:56 +0200 Subject: [PATCH] feat(labeler): reuse only lowercase labels by default. See #11 --- lua/flash/config.lua | 3 +++ lua/flash/labeler.lua | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lua/flash/config.lua b/lua/flash/config.lua index 5c98ec3..936cff2 100644 --- a/lua/flash/config.lua +++ b/lua/flash/config.lua @@ -55,6 +55,9 @@ local defaults = { before = false, ---@type boolean|number[] -- position of the label extmark style = "overlay", ---@type "eol" | "overlay" | "right_align" | "inline" + -- flash tries to re-use labels that were already assigned to a position, + -- when typing more characters. By default only lower-case labels are re-used. + reuse = "lowercase", ---@type "lowercase" | "all" }, -- show a backdrop with hl FlashBackdrop backdrop = true, diff --git a/lua/flash/labeler.lua b/lua/flash/labeler.lua index 0151f4f..c989836 100644 --- a/lua/flash/labeler.lua +++ b/lua/flash/labeler.lua @@ -77,7 +77,9 @@ function M:label(m, used) end if label and self:valid(label) then self:use(label) - self.used[pos] = label + if self.state.opts.highlight.label.reuse ~= "lowercase" or label:lower() == label then + self.used[pos] = label + end m.label = label end return #self.labels > 0