From ade14a62388a2ab1914228f969add1987df39dc8 Mon Sep 17 00:00:00 2001 From: sammyette Date: Mon, 10 Jul 2023 18:00:49 -0400 Subject: [PATCH] fix(greenhouse): fix toc disappearing on any key press --- nature/commands/greenhouse.lua | 3 ++- nature/greenhouse/init.lua | 21 +++++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/nature/commands/greenhouse.lua b/nature/commands/greenhouse.lua index ac96991..5f08cb3 100644 --- a/nature/commands/greenhouse.lua +++ b/nature/commands/greenhouse.lua @@ -89,7 +89,7 @@ commander.register('greenhouse', function(args, sinks) gh:keybind('Enter', function(self) if self.isSpecial then self:jump(self.specialPageIdx) - self:special(true) + self:special(false) else if buffer:len() < 2 then return end @@ -118,5 +118,6 @@ commander.register('greenhouse', function(args, sinks) gh:addPage(page) end + ansikit.hideCursor() gh:initUi() end) diff --git a/nature/greenhouse/init.lua b/nature/greenhouse/init.lua index 1e89996..7e0b2c1 100644 --- a/nature/greenhouse/init.lua +++ b/nature/greenhouse/init.lua @@ -93,14 +93,25 @@ end function Greenhouse:update() self:resize() if self.isSpecial then - self:special() + self:updateSpecial() end self:draw() end -function Greenhouse:special() - self.isSpecial = not self.isSpecial + +function Greenhouse:special(val) + self.isSpecial = val + self:update() +end + +function Greenhouse:toggleSpecial() + self:special(not self.isSpecial) +end + +--- This function will be called when the special page +--- is on and needs to be updated. +function Greenhouse:updateSpecial() end function Greenhouse:toc(toggle) @@ -128,6 +139,9 @@ function Greenhouse:toc(toggle) tocText = tocText .. title .. '\n' end self.specialPage = Page('TOC', tocText) + function self:updateSpecial() + self:toc() + end self:draw() end @@ -202,7 +216,6 @@ function Greenhouse:initUi() end) ansikit.screenAlt() - ansikit.hideCursor() ansikit.clear(true) self:draw()