diff options
| author | Jackson Moore <jacksonmoore@tuta.io> | 2026-09-04 14:29:26 +0200 |
|---|---|---|
| committer | Jackson Moore <jacksonmoore@tuta.io> | 2026-09-04 14:29:26 +0200 |
| commit | 80f3025ed00f8c35ae0c83f4ed754a45d108ea1b (patch) | |
| tree | a755dd3af74541dbfaa4f20ab5b1b00f823ce1e3 /lua/clever_f/testing/memory_host.lua | |
| parent | 890cedb3003d45ded2327e483675c42fdfe024f1 (diff) | |
Connect encoding and case conversion
Diffstat (limited to 'lua/clever_f/testing/memory_host.lua')
| -rw-r--r-- | lua/clever_f/testing/memory_host.lua | 13 |
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 |
