summaryrefslogtreecommitdiff
path: root/lua/clever_f
diff options
context:
space:
mode:
Diffstat (limited to 'lua/clever_f')
-rw-r--r--lua/clever_f/direct_preview_planner.lua14
1 files changed, 11 insertions, 3 deletions
diff --git a/lua/clever_f/direct_preview_planner.lua b/lua/clever_f/direct_preview_planner.lua
index 404191e..e771b15 100644
--- a/lua/clever_f/direct_preview_planner.lua
+++ b/lua/clever_f/direct_preview_planner.lua
@@ -138,13 +138,21 @@ local function require_case_setting(settings, name)
return value
end
-function DirectPreviewPlanner:plan(view, origin, descriptor, count, settings)
+function M.case_grouping_settings(settings)
settings = settings or {}
if type(settings) ~= "table" then
fail("direct preview case settings must be a table", 2)
end
- local ignore_case = require_case_setting(settings, "ignore_case")
- local smart_case = require_case_setting(settings, "smart_case")
+ return {
+ ignore_case = require_case_setting(settings, "ignore_case"),
+ smart_case = require_case_setting(settings, "smart_case"),
+ }
+end
+
+function DirectPreviewPlanner:plan(view, origin, descriptor, count, settings)
+ local grouping = M.case_grouping_settings(settings)
+ local ignore_case = grouping.ignore_case
+ local smart_case = grouping.smart_case
local selected_occurrence = self:normalize_count(count)
local counters = {}
local positions = {}