Alright, here is my text system based on @CaliforniaCoders' research – https://scratch.mit.edu/projects/1375999044/ Keyboard controls: Left and right arrow keys to navigate Up arrow key for Shift Down arrow key for Backspace Enter for new line Up arrow + down arrow key to accept the suggestion In my version, I’ve set everything up as an API. To put it simply, there is the "Keyboard," which sends its input to the "1-line text editor" (providing the raw text, the text with the cursor, and, in the near future, autocompletion). This data then goes to the main text editor, which uses the single-line component only for the currently selected line, while the others remain static.