Bugs/feature requests, in descending order of my guessed ratio of importance to feasibility of implementation:

▪ There's no redo capability.
▪ It would be nice if undo and redo were visible in the Edit menu.
▪ Commented lines contribute a byte to the live update byte counter.
▪ Multiple preprocessor definitions cannot have the same value. An error message complains that "An item with the same key has already been added," even though they certainly have different keys but the same value, which should be fine.
▪ A generalization of the "prettify code as you type" feature: when a group of characters is detected as a token, replace them with the token's primary representation.
▪ When opening program files, automatic injection of escape characters into sequences of tokens that would be (erroneously) re-tokenized as a single, larger token.
▪ An overhaul of the build method. Instead of having to select which target to build to with every build, have a single Build option and let the target be specified by some metadata somewhere. My initial suggestion would be to allow token xml files to specify a default target for files using that token file, but with a new directive allowed in files to override the target. This would then allow you to fix the fact that...
▪ The send to emulator features send the exact files being edited to the emulator. This works fine for files in an already-built format, such as a file like PROGRAM.8xp. But this tries to directly send source files like PROGRAM.8xp.txt as well. If the above feature is implemented, build target metadata would be available for any source .txt files, which could be automatically built and then sent to the emulator.
▪ Replace might help to fill out the Edit menu.

I'm also going to quote my old posts in this thread so I don't forget about (and you don't forget about!) those feature requests. Green means already implemented.

Runer112 wrote:

Some feature requests:

▪ A shortcut to escape the last multi-character token parsed. Perhaps Shift+Backspace or Alt+Backspace.
▪ A way to customize the escape character. Probably either via the settings file or the tokens XML file.
▪ An option to cause the escape character to be skipped over when moving the cursor, lumped with the next character when backspacing/deleting, etc. This would primarily be useful if the two features above are implemented and a zero-width space is used as the escape character, in which case the textual representation of escapes could be entirely hidden (I like pretty code). One could determine if a group of characters is a token by the presence of syntax highlighting or the grouping underline.
▪ A way to toggle representation of a group of characters as a token or individual characters. This would also primarily be useful if the features above are implemented and a zero-width space is used as the escape character, as this would allow one to escape/unescape a group of characters without having to directly interact with the escape character. This could possibly be implemented as a key shortcut, like Ctrl+T or Alt+T, that affects the characters around the cursor, or perhaps even by providing the capability in a context menu when right-clicking over the target group of characters?

Runer112 wrote:

It took a fair amount of time, but here's my hopefully complete and correct AxeTokens.xml:

*snip*

And here's a list of every bug report/feature request I compiled while making it:

▪The second expr( token at 5DF5 should not be included in the xml files
▪Tokens could have multiple groups
▪Closing parentheses, braces, and brackets could match the style of their matched opener
▪Auto-indenting as an option, and some way to make statements like Else indent properly
▪Alt strings do not work if the token has a child token, and giving the child token an alt string throws an ambiguity error
▪Do not open assembly programs (they start with BB 6D)
▪Put site tag hyperlinks in the group/token information pane

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

This happens when trying to build an appvar after it's been edited, however, it seems to save the .txt without issue, and if I drag the txt to Tokens after closing the tabs, then it will build the .8xv properly.

I have the most recent without the xlib stuff in it, since you said it wasn't done, and it couldn't create new files. Unless you've updated since then and I missed it, it was when you took off for your trip through Europe.

I'll probably be working on this on and off this weekend, but I figured I'd get an upload in now. I've added all the xLibC tokens to the file, and a nice little 8x8 grid guide:
You know the drill:
http://merthsoft.com/Tokens.zip

Merth, jsTIfied now supports a POST-based file upload system. I know you were interested in something like that, and I can only assume it was TokenIDE-related. I'd be happy to explain more about how it works at your leisure.

Ooh, neat. Yeah, a post or email or whatever about that would be great!

Well, there's no use relying on security-by-obscurity to prevent people from using the API themselves, so I'll just post it here:

1) Data is sent in the POST variable "jstified_upload"
2) Data consists of multiple lines, one per file to be loaded
3) Data is preceded by a line consisting of "OK" or "FAIL"
4) Lines are separated by a single \n character
5) Program data in a single line is base-64 encoded. The OK or FAIL is not encoded
6) If the first line is FAIL, the second line may be an error message in plaintext or there may be no second line. No other options are permitted.

Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.