« get me outta code hell

tui-lib - Pure Node.js library for making visual command-line programs (ala vim, ncdu)
about summary refs log tree commit diff
AgeCommit message (Collapse)Author
2023-05-13Merge remote-tracking branch 'notabug/master'(quasar) nebula
2023-05-130.1.0(quasar) nebula
2023-05-13use ESM module syntax & minor cleanups(quasar) nebula
The biggest change here is moving various element classes under more scope-specific directories, which helps to avoid circular dependencies and is just cleaner to navigate and expand in the future. Otherwise this is a largely uncritical port to ESM module syntax! There are probably a number of changes and other cleanups that remain much needed. Whenever I make changes to tui-lib it's hard to believe it's already been <INSERT COUNTING NUMBER HERE> years since the previous time. First commits are from January 2017, and the code originates a month earlier in KAaRMNoD!
2022-03-25NPM release - 0.3.3(quasar) nebula
2022-03-25fix ancient waitForData util listener memory leak(quasar) nebula
Particularly, this added a new event listener (i.e. function) every time the screen was resized, which would never be garbage collected. Oops.
2021-12-14NPM release - 0.3.2(quasar) nebula
2021-12-14allow matching children of clickThrough: false els(quasar) nebula
This caused clicks not to match the context menu in mtui, where the container layer (a full-screen element) is marked clickThrough: false (but the menu and its elements are not). Basically this meant clicking menus has been broken for however long this code has been here.
2020-09-14fix exception function not being imported properly(quasar) nebula
2020-07-16don't let WrapLabel text extend one letter too farFlorrie
I Am Very Good At Managing Npm Repositories
2020-07-16NPM release - 0.3.0Florrie
2020-07-16support mixed textAttributes & ANSI format labelsFlorrie
2020-07-16improve & use our own word wrapping codeFlorrie
2020-07-16handle semicolons in measureColumns correctly too!Florrie
2020-07-15don't include ANSI escape codes in measureColumnsFlorrie
This allows pretty much any code based around measureColumns (e.g. buttons, labels, word-wrapping code) to handle ANSI-formatted text without any miscalculated measurements.
2020-05-03fix long-ignored crash interacting with empty formFlorrie
2020-04-23add ListScrollForm.wheelModeFlorrie
2019-10-23NPM release - 0.1.1Florrie
2019-10-23Correctly enable ANSI compression in tuiApp utilFlorrie
2019-10-17NPM release - 0.1.0Florrie
2019-10-17Make ScrollBar an independent and published classFlorrie
It's no longer strictly connected to a ListScrollForm, and is published, so it's much easier to use as an element from the tui-lib API in any project now.
2019-10-17Add .editorconfigFlorrie
2019-10-17Update package-lock.jsonFlorrie
Oops.
2019-10-17Update package.json for new npm releaseFlorrie
2019-10-17Make tui-app work with draw dependenciesFlorrie
...instead of using the old loop system.
2019-10-15Update package.json for new npm releaseFlorrie
(yes, I know I'm not keeping up with semantic versioning, sorry!)
2019-10-14Don't crash when getting scrollSizeFlorrie
2019-09-23Make textAttributes a draw dependencyFlorrie
2019-09-20Suppot meta up/down/left/right keysFlorrie
2019-09-18Make label text a draw dependencyFlorrie
This makes the screen be automatically redrawn whenever a label's text is updated.
2019-09-16WIP better renderingFlorrie
I think this'll take some serious attention before it even works and saves any performance.
2019-09-16Add basic Element classFlorrie
2019-09-15Keyboard functions for Home, Insert, Delete, EndFlorrie
2019-09-15Add lastInput function to formsFlorrie
2019-09-15Remove dead todo commentFlorrie
2019-09-15(!!) Only render when draw-dependency props changeFlorrie
This is a very large change and probably breaks most applications not built to work with it. (Obviously, I'm not really being that responsible with this sort of thing.) I've tested with mtui and it works fine, but some elements may need tweaks before being 100% adjusted to the new scheduled-render system we're using with this commit. Also, any elements which have custom draw behavior will likely need updating so that they appropriately schedule renders.
2019-08-25Add new property clickThrough to all elementsFlorrie
2019-08-25Add key detection functions for control+arrow keysFlorrie
2019-08-22Add setBackground ansi utility functionFlorrie
2019-08-22Add trimToColumns ansi utility functionFlorrie
2019-07-18Don't explode when no element is selected!Florrie
2019-07-18Mouse drag support; pass detailed data to handlersFlorrie
...for mouse events. Contains cursor position, modifier keys pressed, etc.
2019-07-07Emit 'resize' as well in TelnetInterfacerFlorrie
Same as 'screenSizeUpdated'.
2019-05-12Automatically show/hide ListScrollForm scrollbarFlorrie
...depending on whether there is enough content that it cannot all be displayed in the form's space or not.
2019-05-12Adjust the way the scrollbar handle is drawnFlorrie
Specifically, it now clearly represents how much of the scrollable form is visible and not visible at the moment. It also will never touch the top or bottom if it's possible to scroll further in the correspodning direction.
2019-04-02Merge branch 'master' of ssh://ed1.club/home/florrie/git/tui-libFlorrie
2019-04-02Avoid crashing when scrolled past end of formFlorrie
Usually this doesn't happen, but it may occur if the items of the ListScrollForm are regenerated (to a lesser length) before updating scrollItems.
2019-03-16Make tui-app boilerplate support ^Z/suspendFlorrie
2019-02-05App boilerplate codeFlorrie
2019-01-25Expose xterm alternate screenFlorrie
2018-12-22Bump versionFlorrie