diff options
| -rw-r--r-- | lua/clever_f/feedback_service.lua | 17 | ||||
| -rw-r--r-- | tests/run.lua | 14 |
2 files changed, 31 insertions, 0 deletions
diff --git a/lua/clever_f/feedback_service.lua b/lua/clever_f/feedback_service.lua index 81f913f..138d053 100644 --- a/lua/clever_f/feedback_service.lua +++ b/lua/clever_f/feedback_service.lua @@ -6,6 +6,15 @@ FeedbackService.__index = FeedbackService M.FeedbackService = FeedbackService M.DEFAULT_LABEL_GROUP = "CleverFDefaultLabel" +M.Priority = { + HIGH = "high", + ORDINARY = "ordinary", +} + +local OVERLAY_PRIORITIES = { + CleverFCursor = M.Priority.HIGH, + CleverFChar = M.Priority.HIGH, +} local service_records = setmetatable({}, { __mode = "k" }) @@ -45,6 +54,14 @@ function M.default_label_definition() return copy(DEFAULT_LABEL_DEFINITION) end +function M.overlay_priority(group) + local priority = OVERLAY_PRIORITIES[group] + if priority == nil then + error("unknown feedback overlay group '" .. tostring(group) .. "'", 2) + end + return priority +end + local function fail(message, level) error(message, (level or 1) + 1) end diff --git a/tests/run.lua b/tests/run.lua index 77551e1..f02219f 100644 --- a/tests/run.lua +++ b/tests/run.lua @@ -4411,6 +4411,20 @@ test("Feature links are evaluated only while their features are enabled", functi end end) +test("Cursor and character overlays use high priority", function() + same( + feedback_service.Priority.HIGH, + feedback_service.overlay_priority("CleverFCursor") + ) + same( + feedback_service.Priority.HIGH, + feedback_service.overlay_priority("CleverFChar") + ) + fails(function() + feedback_service.overlay_priority("Other") + end, "unknown feedback overlay group") +end) + for _, item in ipairs(tests) do local ok, failure = xpcall(item.body, debug.traceback) if not ok then |
