Skip to content

v1.1.1

Compare
Choose a tag to compare
@bitspittle bitspittle released this 28 Jul 01:22

The biggest change of this release is the new multilineInput method, which lets a user type in input with newlines.

section { 
  black(isBright = true) { text("Send a text message (press CTRL-D when finished)") }
  multilineInput()  
}.runUntilInputEntered { 
  onInputEntered { sendMessage(input.trim()) }
}

Code sample in action

You can press arrow keys / home+end / page up+down to navigate around the answer. In order to allow this, the multiline input area always begins on a newline and ends with a newline.


  • Add the new multilineInput, which is better described above.
  • Tweaked repaint logic. Hopefully this means no more flickering on Windows if the amount of text being rendered doesn't fit on the screen.
    • Now using the current terminal's height to only erase lines that are visible on screen.
    • Improve logic around auto-wrap handling, especially with non-ASCII (e.g. Chinese character) text
  • Add a new customFormat parameter (to input and mutlilineInput) which can be used to change text color / add text effects to user input as they type it.
    • This could be useful, for example, to highlight invalid characters that the user typed in, coloring them red.
  • Misc. improvements to the test library for writing readable tests

Full Changelog: v1.1.0...v1.1.1