aboutsummaryrefslogtreecommitdiff
path: root/handlers.ha
diff options
context:
space:
mode:
Diffstat (limited to 'handlers.ha')
-rw-r--r--handlers.ha18
1 files changed, 16 insertions, 2 deletions
diff --git a/handlers.ha b/handlers.ha
index 854aee7..2cf34e7 100644
--- a/handlers.ha
+++ b/handlers.ha
@@ -217,8 +217,22 @@ fn runehandler(l: *widget::widget, r: libtui::key) bool = {
fmt::fprintln(os::stderr, "This is not detected")!;
case =>
let us = utf8::encoderune(r);
- if (len(us) > 0 && us[0] == 13u8) {
- fmt::fprintln(os::stderr, "newline")!;
+ // 0x0d is carriage return in utf8
+ if (len(us) > 0 && us[0] == 0x0du8) {
+ // to print properly suspend the ui, print, then resume
+ libtui::suspend(&l.widget.ui);
+ //fmt::println(l.items[l.cursor])!;
+ match (list::selected(*l)) {
+ case let s: str =>
+ fmt::println(s)!;
+ case let s: []str =>
+ defer free(s);
+ const out = strings::join("\n", s...);
+ defer free(out);
+ fmt::println(out)!;
+ };
+ libtui::resume(&l.widget.ui);
+ return true;
};
};
return false;