Glad to hear you like the app.
To write JS or RPL you definitely want the expanded edit line. Double-tap the edit line to expand it, and type and edit away.
Tabs and newlines will be kept, but *only* if you don't collapse the edit line before entering it. That is, edit your code and press enter (do not double-tap again to collapse the expanded edit line).
Once entered, you save (STO) your code into a name and then you can run it by referring to its name: either typed, or by tapping its key.
You can refer to functions in another folder by prepending the folder name and ".". That works on the command line and in RPL or JS code. For example, if you have downloaded the Bench folder, you can call Bench.start on the command-line or RPL, or Bench.start() from JS.
To edit your code, either recall (RCL) and edit (EDIT), or visit (VISIT) your variable. If you have formatting characters in your code, you will automatically enter the expanded edit line.
A short-cut for recall and edit is: 2nd-level and soft-key in question. That's much quicker and you'll be using this all the time if you're programming.
I guess I need to make clearer how writing code in-app works. After all, this is the app's strongest feature.
The definition line is pretty useless for writing code. (Unless it's a quick one-liner.)