summaryrefslogtreecommitdiff
path: root/lua/99/prompt.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/99/prompt.lua')
-rw-r--r--lua/99/prompt.lua8
1 files changed, 7 insertions, 1 deletions
diff --git a/lua/99/prompt.lua b/lua/99/prompt.lua
index 96d4579..ca24ba7 100644
--- a/lua/99/prompt.lua
+++ b/lua/99/prompt.lua
@@ -31,7 +31,6 @@ local filetype_map = {
--- @class _99.Prompt.Serialized
--- @field data _99.Prompt.Data
--- @field user_prompt string
-
--- @class _99.Prompt.Data.Search
--- @field type "search"
--- @field qfix_items _99.Search.Result[]
@@ -119,6 +118,10 @@ function Prompt.deserialize(_99, data)
operation = data.data.type,
user_prompt = data.user_prompt,
started_at = Time.now(),
+
+ --- we should only sync successful requests
+ state = "success",
+
xid = get_id(),
}, Prompt)
assert(prompt:valid(), "prompt is not valid from data")
@@ -127,6 +130,7 @@ end
--- @return _99.Prompt.Serialized
function Prompt:serialize()
+ assert(self.state == "success", "you can only serialize successful prompts")
return {
data = self.data,
user_prompt = self.user_prompt,
@@ -371,6 +375,8 @@ end
function Prompt:stop()
self:cancel()
+ self:clear_marks()
+
for _, cb in ipairs(self.clean_ups) do
cb()
end