summaryrefslogtreecommitdiff
path: root/lua/clever_f/testing
diff options
context:
space:
mode:
authorJackson Moore <jacksonmoore@tuta.io>2026-09-04 14:29:26 +0200
committerJackson Moore <jacksonmoore@tuta.io>2026-09-04 14:29:26 +0200
commit80f3025ed00f8c35ae0c83f4ed754a45d108ea1b (patch)
treea755dd3af74541dbfaa4f20ab5b1b00f823ce1e3 /lua/clever_f/testing
parent890cedb3003d45ded2327e483675c42fdfe024f1 (diff)
Connect encoding and case conversion
Diffstat (limited to 'lua/clever_f/testing')
-rw-r--r--lua/clever_f/testing/memory_host.lua13
1 files changed, 13 insertions, 0 deletions
diff --git a/lua/clever_f/testing/memory_host.lua b/lua/clever_f/testing/memory_host.lua
index 4c95721..6147d2c 100644
--- a/lua/clever_f/testing/memory_host.lua
+++ b/lua/clever_f/testing/memory_host.lua
@@ -146,6 +146,7 @@ function MemoryHost.new(options)
_count = domain.Count.new(options.count),
_configuration = copy(options.configuration or {}),
_encoding = options.encoding or options.effective_encoding or "utf-8",
+ _lowercase = options.lowercase or vim.fn.tolower,
_macro_state = macro_state(options.macro_state or options.macro_register),
_fold_state = fold_state(options),
_pending_operator = options.pending_operator,
@@ -295,6 +296,18 @@ function MemoryHost:read_encoding()
return self._encoding
end
+function MemoryHost:lowercase(value)
+ if type(value) ~= "string" then
+ error("case conversion value must be a string", 2)
+ end
+ local result = self._lowercase(value)
+ if type(result) ~= "string" then
+ error("case converter must return a string", 2)
+ end
+ self:_record("lowercase", { value = value, result = result })
+ return result
+end
+
function MemoryHost:read_macro_state()
self:_record("read_macro_state", { executing = self._macro_state.executing })
return self._macro_state