summaryrefslogtreecommitdiffstats
path: root/pkg/utils
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2022-01-28 20:44:36 +1100
committerJesse Duffield <jessedduffield@gmail.com>2022-03-17 19:13:40 +1100
commita90b6efded49abcfa2516db794d7875b0396f558 (patch)
treead9c3738830437064ada223f0978dab1d726b479 /pkg/utils
parentfa8571e1f4c349e401542285ea238acdbd9d17ec (diff)
start refactoring gui
Diffstat (limited to 'pkg/utils')
-rw-r--r--pkg/utils/string_stack.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/pkg/utils/string_stack.go b/pkg/utils/string_stack.go
new file mode 100644
index 000000000..c2d18c70c
--- /dev/null
+++ b/pkg/utils/string_stack.go
@@ -0,0 +1,27 @@
+package utils
+
+type StringStack struct {
+ stack []string
+}
+
+func (self *StringStack) Push(s string) {
+ self.stack = append(self.stack, s)
+}
+
+func (self *StringStack) Pop() string {
+ if len(self.stack) == 0 {
+ return ""
+ }
+ n := len(self.stack) - 1
+ last := self.stack[n]
+ self.stack = self.stack[:n]
+ return last
+}
+
+func (self *StringStack) IsEmpty() bool {
+ return len(self.stack) == 0
+}
+
+func (self *StringStack) Clear() {
+ self.stack = []string{}
+}