From 8de89185e28ab41728364c65d64d8bdd03eee8b9 Mon Sep 17 00:00:00 2001 From: "L. Yeung" Date: Sat, 20 Aug 2022 21:45:34 +0800 Subject: [PATCH] fix(cmd): do not evaluate execution time for an empty command --- src/shell/scripts/omp.lua | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/shell/scripts/omp.lua b/src/shell/scripts/omp.lua index 9df35b64..b571a6c9 100644 --- a/src/shell/scripts/omp.lua +++ b/src/shell/scripts/omp.lua @@ -20,8 +20,8 @@ end -- Duration functions -local endedit_time -local last_duration +local endedit_time = 0 +local last_duration = 0 local tip local tooltip_active = false local cached_prompt = {} @@ -67,7 +67,7 @@ end local function duration_onbeginedit() last_duration = 0 - if endedit_time then + if endedit_time ~= 0 then local beginedit_time = os_clock_millis() local elapsed = beginedit_time - endedit_time if elapsed >= 0 then @@ -76,8 +76,12 @@ local function duration_onbeginedit() end end -local function duration_onendedit() - endedit_time = os_clock_millis() +local function duration_onendedit(input) + endedit_time = 0 + -- For an empty command, the execution time should not be evaluated. + if string.gsub(input, "^%s*(.-)%s*$", "%1") ~= "" then + endedit_time = os_clock_millis() + end end -- Prompt functions @@ -188,8 +192,8 @@ local function builtin_modules_onbeginedit() duration_onbeginedit() end -local function builtin_modules_onendedit() - duration_onendedit() +local function builtin_modules_onendedit(input) + duration_onendedit(input) end if clink.onbeginedit ~= nil and clink.onendedit ~= nil then