Load the PRG "FORMAT2" into slot 2 for this to work, sorry forgot to add this. Also, you must have some code in Slot 1 (you can load boguscode into it) so that it doesnt try to manipulate code that doesnt exist. Program currently undergoing major revision, expect the Beta in a couple weeks. Current date: 4/11/16
As the program is in its early production phases, the amount of usable features is limited. However, there are many planned features i will list and by releasing this demo and getting the feel of my program, i hope that some may contribute some ideas they wish to see in it.
The idea behind this is to create a full fledged replacement for the original code editor SmileBASIC uses.
This is challenging enough, due to all the features present in the original. I am ultimately coding this for myself to use, so it has got to be better than the original.
Here are the features and aspects:
Alternate minimalistic keyboard, with features necessary for programming.
Viewing code on dual screens
Touch screen functionality for purposes such as highlighting code, drag and drop, scoll, on screen utilities other than keyboard, et cetera
Onscreen calculator for swift, painless number crunching
Onscreen note taking (apart from code), can be typed or hand drawn (schematic purposes).
A never before seen form of syntax highlighting which can denote loops and conditional statements.
Can type code in all RGB colors and Multiple Text Sizes.
A toolbar expandable on the lower screen which you can access all the sub-applications like notes, TXT viewer and so on
Smart cursor movement
Compacting code into labeled folders which can be expandable and manipulated (organization purposes).
A command index similar to the one on the default keyboard for speedy typing
Select, Cut, Copy and Paste (a necessity).
A terminal for executing some code (will most likely run the code you type in a different slot, then return to the main program)
An intuitive way for finding that RGB color you want (like a color wheel), most likely a sub-program on the toolbar.
Double viewing screen mode (removes keyboard completely, viewing code on two screens), probably mapped to R button or something.
A separate double viewing mode where you see even more code on the bottom screen, but are equipped with a smaller keyboard.
Unlimited code slots
Viewer for graphical images
A copy and paste clipboard, for copying and pasting more than a single element of code.
Those are my ideas this far. Now, if you avid coders have any suggestions, i'm completely open to them. I'm sure you have a few things you'd change about the smilebasic code editor if you could.
A few of you may be concerned about the program running into errors and you losing the portion of code you've worked on. Another feature i plan is an autosave feature, which will slowly export code to a program slot and being imperceptible to the user (when exporting massive amounts of code from the editor, a tremendous delay is caused as the loop runs). I will also map the total export feature to a button or button combination for ease.
My program uses line wrapping, each line may be only 40 characters long.
You can easily import a program you're working on by loading it into slot 1 and running my program (which should be in slot 0)
My program has a simple (but not for very long) form of metadata it uses for things like colors and text size, it is loaded into slot 2.
Because my program uses the print function, trying to avoid printing bugs when printing CHR$(10) can be tricky, so, when you import the code into the editor, all instances of CHR$(10) are removed, as well as the text being wrapped 40 characters long. The ENTER character is replaced with CHR$(294), which, in the code editor, functions the same as the enter key. It basically tells the exporting algorithm where to break to the next line of code when un-wrapping the code. My point: make sure you don't have CHR$(294) in your program (its not a commonly used character).
Conventional syntax highlighting, as you know it, is most likely not going to be fully implemented. Possibly to an extent, but nothing like the original.
You can type text in different sizes and all RGB colors, though it should be known that overuse of this feature does cause graphical artifacts on the console. It may look weird, but no erroring.
As of now, i have not completed the keyboard, it only types the letter A (as a debugging test)
EDITS:
The top screen and the bottom screen will soon act as totally separate, editable screens. You can toggle the two screens using the R button. It will basically allow you to be at two places inside the code at a time.
New graphics engine, eliminating most if not all graphical artifacts.
Planning more complicated touch capabilities for editing code.
Keyboard completed, missing characters will be added to the accessible tool bar.
Sound effects added.
X Deletes lines
A Enters a line
B Backspaces in the current line
Y Exports (does not work/will error)
Stick for fast movement
Many improvements for typing text. I cannot stress enough how this application uses line wrapping, to end a line and begin a new one, you must have the CHR$(294) at the end of it, which is provided on the keyboard. If you, for example, type an entire program without any of these characters, your entire program will be exported as a single line of code.
Also note that the cursor edits the characters behind it, not the character it seems to be on.
In the beta version, the tool bar will be loaded with its minor applications, and a rough version of syntax highlighting should be usable, as well as functional exporting.