Nice! So it will turn into a kind of On-Computer program editor of sorts?That's the idea. The goal is for this to become a pretty full-featured TI-BASIC IDE, but I'm going one step at a time.
Hey Merth, this looks like .NET, and I know you use C#. If you like, I can help out a bit.I think I'm alright, but I'll keep that in mind.
Mhmm, interesting to see the HEX code to the right. Does it means if we copied it on calc and appended an AsmPrgm command at the beginning, it would let us squish the program with AsmComp() and it would let us turn it back into a basic program or something? Not that this would be convenient but I am just curious how that part works.I don't think so, since this hex is token data, not opcodes.
As for interest I am sure there might be, because some people sometimes asked if there was a BASIC editor other than TI-Graph Link that was reliable and available for use with no internet connection (SourceCoder) and I usually couldn't figure out an answer. However, the majority of the 83+ programmers around here prefer to program on-calc, especially that most have restrictive parents limiting their time allowed on the computer. Plus Cooliojazz was working on a TI-BASIC editor as well a while ago, so you might have some competition. I would like to see this finished, though. Does this works on all versions of Windows, btw?I'm alright with competition :) It'll motivate me more. It requires the .Net 4.0 framework, so whatever version of windows that supports, this will run on. It should also run under Linux with Mono, though I haven't tested that myself. I can when I get home.
Also I moved this in calc projects and ideas because it was posted in the wrong sub-forum. (The non-calc computer projects section is for computer projects that absolutely have no relation with calc-related stuff)Thanks, I wasn't sure which forum this belonged in :)
That looks cool! I have a request: Can you make an option be to choose if it's an Axe program or not, and if it is show the Axe tokens?You'll be able to change the token-set by picking which XML file is used, and if there's one for Axe, you can choose that one. I haven't made on for Axe yet, just DCS (which includes xLib/Celtic III/PicArc), but I plan on making one for Axe, though I don't know enough Axe yet to do that.
Regardless, it looks neat. Good luck! ;D
Aaah ok and no problem ^^, people sometimes confuse both forums, since a calc project may be a computer one and think it might go in non-calc stuff due to being executable on a computer.Mhmm, interesting to see the HEX code to the right. Does it means if we copied it on calc and appended an AsmPrgm command at the beginning, it would let us squish the program with AsmComp() and it would let us turn it back into a basic program or something? Not that this would be convenient but I am just curious how that part works.I don't think so, since this hex is token data, not opcodes.As for interest I am sure there might be, because some people sometimes asked if there was a BASIC editor other than TI-Graph Link that was reliable and available for use with no internet connection (SourceCoder) and I usually couldn't figure out an answer. However, the majority of the 83+ programmers around here prefer to program on-calc, especially that most have restrictive parents limiting their time allowed on the computer. Plus Cooliojazz was working on a TI-BASIC editor as well a while ago, so you might have some competition. I would like to see this finished, though. Does this works on all versions of Windows, btw?I'm alright with competition :) It'll motivate me more. It requires the .Net 4.0 framework, so whatever version of windows that supports, this will run on. It should also run under Linux with Mono, though I haven't tested that myself. I can when I get home.Also I moved this in calc projects and ideas because it was posted in the wrong sub-forum. (The non-calc computer projects section is for computer projects that absolutely have no relation with calc-related stuff)Thanks, I wasn't sure which forum this belonged in :)
If you need a complete and current list of all Axe token conversions, the "commands.html" file on the left column shows all the tokens that change and what they change to. Its included in all zip files, but I can send you a better formatted list if you really need one or I can write the XML myself if you have an sdk for it.The .xls file is included with the .zip I posted earlier, and that with the already present Tokens.xml should give you an idea of how it works. I plan on writing an actual tutorial closer to the release. If you could just give me a text file that is formatted something like OnCalcToken - Function, so, like:
PushGUIStack(0,255
PushGUIStack(7,40,24,0,Unchecked,"
PushGUIStack(7,44,20,0,Unchecked,"
PushGUIStack(7,48,20,0,Unchecked,"
PushGUIStack(7,52,24,0,Unchecked,"
PushGUIStack(7,52,28,0,Unchecked,"
PushGUIStack(7,48,32,0,Unchecked,"
PushGUIStack(7,44,36,0,Unchecked,"
PushGUIStack(7,40,40,0,Unchecked,"
PushGUIStack(7,36,36,0,Unchecked,"
PushGUIStack(7,32,32,0,Unchecked,"
PushGUIStack(7,28,28,0,Unchecked,"
PushGUIStack(7,28,24,0,Unchecked,"
PushGUIStack(7,32,20,0,Unchecked,"
PushGUIStack(7,36,20,0,Unchecked,"
This code actually is wrong, but I've since fixed the output.This looks interesting, but even with the online translator, I can not understand what brings this software. DJ, can you explain briefly (by PM in french)? ;D(Il s'agit d'un éditeur TI-BASIC pour PC ainsi qu'un éditeur d'image de calculatrice.)
EDIT : Error.. I need install a stuff :
(http://img143.imageshack.us/img143/5158/tokenserror.png)
Nice :OA posting API would be something that would allow my program to interface with the omnimaga board, and post the code of a program directly to a topic.
As for posting API what do you mean? ???
So, just wrap [code ] tags around it? Sure.
OpenGUIStack(
PushGUIStack(1,"0000000000","LARGE
PushGUIStack(2,3,13,"0000000000","SMALL
PushGUIStack(11,6,3,0,"","
PushGUIStack(11,12,3,0,"","
PushGUIStack(11,18,3,0,"","
PushGUIStack(11,6,8,0,"","
PushGUIStack(11,12,8,0,"","
PushGUIStack(11,18,8,0,"","
PushGUIStack(22,6,15,29,17,254
PushGUIStack(21,30,4,23,9,1
PushGUIStack(14,40,16,22,14
RenderGUI(
Which renders like this:It's to simplify the design of GUIs. DCS exposes GUI stuff to BASIC and Asm programmers so they can make GUIs without having to make all the rendering code and all that themselves.Ah cool :D. I wonder if those GUIs can be set via BASIC for BASIC programs that want to use custom ones? Is it like with Omnicalc fonts?
So, is this basically a full scale Basic editor?
So, is this basically a full scale Basic editor?That's the goal! It should work for most simple things right now (it can open and save programs, stuff like that). Most things are buggy to some extent, but they work!
Link to the latest version please...
Thanks!
Link to the latest version please...Thanks
Thanks!
http://myserverathome.com/Tokens.zip
I'm planning to write a program that will compile Axe source to z80 assembly code. That way it could be optimized, edited, etc.
I'm planning to write a program that will compile Axe source to z80 assembly code. That way it could be optimized, edited, etc.
Good, glad to hear it. Can this program also compile pure TI-BASIC as well? I think that would be really useful.
Good, glad to hear it. Can this program also compile pure TI-BASIC as well? I think that would be really useful.
You mean a TI-BASIC to TI-ASM compiler? It's a lot harder than a language like Axe. There's a version of it on ticalc but it doesn't work.
Good, glad to hear it. Can this program also compile pure TI-BASIC as well? I think that would be really useful.
You mean a TI-BASIC to TI-ASM compiler? It's a lot harder than a language like Axe. There's a version of it on ticalc but it doesn't work.
I can't imagine why it would be harder to translate the syntax. The interpreter doesn't do much more than Axe with respect to that. Sure, the way the instructions are handled in RAM is different than a native ASM program, but I'd take an 8kb limit in BASIC if it brought even part of the speed of compiled ASM to it.
Axe was designed to be compiled into ASM. Not TI-BASIC. Converting that to ASM would involve a lot of messy floating-point calculations and stuff like that, unless you used TI's own routines, but if you did that, it would run at essentially the same speed, so there'd be no point to convert it in the first place. It's possible, though.The point of converting to ASM would be to remove the overhead of the interpreter, which for a high level language like TI-BASIC could be very significant, I imagine. If you compile beforehand, you remove the interpreter and the program invariably runs faster.
<Token byte="$EB" string="<<" />
Could be change to:<Token byte="$EB" string="<|" />
This is actually how it is with the newer version. I'm also waiting for Quigibo to get me a simplified list of all the Axe commands and what their function name should be, so that I can get an Axe.xml file so this can work better with Axe.Sorry if this is off-topic, but do you happen to know Runer112, Merthsoft? I swear some screenshots he posted before were hosted on Myserverathome, which appears to be your domain name (unless your site is really linkguide :P)I do not! Though there are some screen shots of Tokens and some other projects I'm working on hosted there.
Back on-topic, I wonder if you plan to add something that detects all variables that were called, used, stored to or deleted in the code including pictures, strings and the like? There's a french incarnation of SourceCoder that did that and it seemed like a cool feature.That is something that's planned, though a little later. The release plan at this point is to polish up the image editor, get all the DCS GUI items done (though not polished), and that will be v.5 which will be released on ticalc and other sites officially. I will then work on project support, a string editor, a matrix editor, and a map designer. The project support will include tracking vars and such. Once that's done that will be the official v1.0 release.
Ah ok, maybe I got confused with a different URL. I swear he posted some of his own stuff from there, tho.
And I see. Can't wait for release :)
You're not the first person to mention that, actually. There's obvious going to be some level of re-learning that needs to be done in order to use this correctly, and the idea is that you should be able to enter everything in on the keyboard. I can think of a few ways to do this so that it's not terribly tedious. I'll think about how to implement it some more, and see if I come with anything I like. In the meantime, if you could upload your changes of the .xml file, that would be awesome!
Deep Thought: There will be a chooser so you can pick things out.
Wow, that's awesome. Thanks so much, Runner. The Axe commands I'll end up taking out into a separate Axe.xml file, but for now this is perfect. There are some things I'll change, and I'll have to look over it a little more in depth, but this is awesome. Out of curiosity, what were the duplicate tokens, and what were the missing ones?
O_o
What did you do to make that happen?
It doesn't really have anything new over what I had up before, except for some better error-recovery and a readme :).
Hmm code highlighting? If you don't have that already that might be cool. I think Cooliojazz had this in his BASIC/Axe editor.
It's planned, I just haven't gotten around to it yet. Work and personal issues have taken most of my energy, so I just wanted to get a release out.
Ah ok I see. I hope you find some more time to work on this soon.
Auto Completion of commands would be like in Microsoft Visual Basic, right? That would actually be cool.
You type the beginning of a command then a drop down appears with commands starting with that prefix.Auto Completion of commands would be like in Microsoft Visual Basic, right? That would actually be cool.
I've never tried that...
Find/Replace function (or at least Find)And replace all.
I'm really starting to like this :w00t:
Some feature requests (sorry if they've been mentioned before):
- Auto-completion or tabbing to commands like in Terminal
- Having the project name be part of the window title
- Having an option to compile as a protected program
Also, I found a bug with the hex display: When I type in the last line in the normal box, the hex box automatically shifts so that only the first row of pixels for the last line show up (the bug I mentioned on IRC).
These are all things I plan on putting in, but I'm glad that other people would find them useful as well. It will be project-based, so Ctrl-S will save the file as plain text, and F5 will "build" it. I'm hesitant to call this a compiler, though, as it's not really compiling anything. It's simply tokenizing the input, which isn't quite the same.
It's not, though. It can be one part of compiling, but it's not really compiling itself. Compilation is the process of turning one computer language into another, and this isn't doing that. It's taking one computer language, and turning it into its tokenized form.
Does it means ! and = and - and > will compile to the not equal and sto symbols? Not that this would be a problem in code syntax, but if someone uses an ASCII tilemap containing these characters one after each others, could it lead to problems?These are all things I plan on putting in, but I'm glad that other people would find them useful as well. It will be project-based, so Ctrl-S will save the file as plain text, and F5 will "build" it. I'm hesitant to call this a compiler, though, as it's not really compiling anything. It's simply tokenizing the input, which isn't quite the same.
I believe that tokenizing and storying the bytes in .8xp is compiling, though.
I use tokens all the time, it's fantastic:
What I noticed:
!= stands for inequal sign
-> stands for STO Sign
This is great!
If you have "!=" it will turn in to the not equals sign. However, if you do "!\=", it will convert it to the two separate symbols.
Yup! The "\" character is basically the "parse this next character as a single character" flag (or maybe it's "stop parsing this word at this charcter? I forget, I think the latter is more useful, though, so if it's not that now it will be soon).If you have "!=" it will turn in to the not equals sign. However, if you do "!\=", it will convert it to the two separate symbols.
Nice, so I can put \ in between any characters and it'll parse them separately?
Only the ones that are converted in to commands that you don't want to be tokenized. It actually helps, in some cases, because it'll save space. For instance, if the dialog is:
"Hello, friend, what would you like to buy today?"
Those will all be separate letters, because none of those are commands. However, if you have:
"Input your name:"
The "Input " will be tokenized, which would save you 9 bytes if you wanted to keep it that way. If you didn't, you'd simply put:
"Inpu\t your name:"
[18:22] <Merth> So how about you go to the topic and yell at me to work on the DCS GUI editor ;)
[18:22] <Eeems> lol ok :P
Awesome
Awesome!
awesome,
awesome.
AWESOME :)
One thing I especially like is the fact that the image editor lets you change the tolerance- this means I can take a pic in 3 levels of gray and I don't need to use photoshop to separate the colors; I can just change the tolerance and get 1 pic variable with the black part and another with the gray part :)Oh great I didn't know that. It's even better because I like to create my sprites on the computer, although I usually just use the replace color tool in photofiltre. Nice job!
merthsoft, you sir are a GOD :P
Love how this is coming along :) can't wait to play around with it :D
Well, this is more aimed at Hybrid with DCS...so, not quite BASIC :P
Celtic III and xLib are BASIC for me and so is DCS, it's all based on BASIC, so it's Basic :)Not based on BASIC, but an extension of BASIC
Celtic III and xLib are BASIC for me and so is DCS, it's all based on BASIC, so it's Basic :)Not based on BASIC, but an extension of BASIC
It works with Axe too, though, right? I think it's designed for Axe, BASIC and Hybrid.It's more designed with (Hybrid)BASIC in mind, but you can do Axe. There's even an xml file for Axe, and the Hex sprites make it nice. I plan on learning Axe so that I can make it work even better for that. When I first came up with this idea (years ago...) there was no Axe. I actually first came up with this idea when Celtic III was still being written!
It works with Axe too, though, right? I think it's designed for Axe, BASIC and Hybrid.It's more designed with (Hybrid)BASIC in mind, but you can do Axe. There's even an xml file for Axe, and the Hex sprites make it nice. I plan on learning Axe so that I can make it work even better for that. When I first came up with this idea (years ago...) there was no Axe. I actually first came up with this idea when Celtic III was still being written!
Also, I illegally use your XML files as tokens databse since the .inc file is confusing :PYou probably shouldn't (admit to) steal(ing) someone's intellectual property... I don't appreciate you using the file without permission for anything outside of TokenIDE.
Also, I illegally use your XML files as tokens databse since the .inc file is confusing :PYou probably shouldn't (admit to) steal(ing) someone's intellectual property... I don't appreciate you using the file without permission for anything outside of TokenIDE.
Also, I illegally use your XML files as tokens databse since the .inc file is confusing :PYou probably shouldn't (admit to) steal(ing) someone's intellectual property... I don't appreciate you using the file without permission for anything outside of TokenIDE.
I use it for checking tokens only. Don't worry, no commercial activity here. Also, it's not for any special program!
Well in that case, it's ok. As long as it's not getting release elsewhere or used in something that's released I'm ok with it.
Ultimately, I don't want something I worked hard on getting used in any rival software.
Yeah it's best to ask permission before using something and releasing it with your program.
Yes, shaun/merth/merthsoft...You need only refer to me by one moniker. My chosen one on forums being merth or merthsoft ;)
#define word-to-replace replacement-word
and it works similar to C, just a little less functional. Basically, it'll replace all instances of word-to-replace with replacement-word, no matter where they occur in the text. This means if you have #define Map [A], it'll replace DrawTileMap with DrawTile[A], which will not give you the expected results. Also, as per the names, it only does word-by-word replacement, so you cannot #define word some series of words you want to replace. If that seems like something it ought to be able to do, I can add it (I think I probably will, that way you can do Boolean expressions). Here's a before shot:EDIT: It's updated on the site, right?No.
Yeah I am confused at define too ???. Sorry. Nice to see new updates, though.It's basically just aliasing a variable. So you can make anything be any value. If you use the matrix [A] to be your map matrix, you can #define MAP [A], and everywhere you would use [A], you can now use MAP. This can help make it more readable. As in the example image, the FV variable is used as the key variable, so you can alias it. You can do it with constants, too. Let's say your map width and height are 30. You can "#define map_width 30" and "#define map_height 30", and use map_width and map_height wherever you would use the constant 30 for those variable. Now, if you want to change the map_width to 45, you can just change the #define, and it'll effectively change it everywhere else in the program.
#if blah1
...
#else
#if blah2
...
#else
#if blah3
...
#endif
#endif
#endif
This would, of course, be better with an #elseif, I just haven't gotten around to that, yet.
Yes.Code: [Select]#if blah1
This would, of course, be better with an #elseif, I just haven't gotten around to that, yet.
...
#else
#if blah2
...
#else
#if blah3
...
#endif
#endif
#endif
Very nice! Any idea when this will be completed?
Very nice! Any idea when this will be completed?I don't really have a time line. "When it's done", I suppose.
Nice merthsoft! What is ifdef, though? Does it check if the last thing that was defined is equal to onething?If Defined. It checks if something is defined or not. In higher languages like Java, it is basically "If Object!=null".
Alright, I figured I out to release a build with all these updates. Note, the readme is not updated.
http://myserverathome.com/Tokens.zip (http://myserverathome.com/Tokens.zip)
/me can't wait until it is possible to open files with tokens by drag'n'dropping them on the app shortcut or app itself (icon or while it's open). :P
<Group name="Axe" comment="The Axe parser commands." site="http://axe.omnimaga.org" />
inside the "<Tokens [...]>" tag, and adding group="Axe"
into every "<Token [...]>" tag.That's awesome! By the way are programs unlocked by default?Programs are whatever they are in the 8xp by default. If you're starting a new one or loading it in from a txt file, they're unlocked, though. As for the batch lock/unlock/archive, that'll all be included when I get the whole "project" system in place, but good idea.
I think a nice feature would be a tool to batch lock/unlock/archive programs, so it's easier to edit old calc games or make games compatible with older emulators like PindurTI.
Great program Merthsoft, this is really useful for working on larger projects!Thanks for the input! You should definite upload/email me your changes with the axe tokens file so that I can include it in the download. I haven't really done a whole lot of work with Axe or that file, it's mostly been other contributors.
I'm currently using it to work on my DROD clone in Axe (which, afaik, hasn't been done before), though there is one small thing bothering me about TokenIDE: when you save with Ctrl-S, you have to confirm the overwrite everytime, which is slightly annoying to people like me, who have a habit of quicksaving often to prevent data loss. ;)
Also, the included AxeTokens.xml did not work for me, importing it caused no new category or any changes to appear. I figured out the XML format and found out that the Axe commands are not assigned to any new group. AxeTokens.xml can be fixed by adding the lineCode: [Select]<Group name="Axe" comment="The Axe parser commands." site="http://axe.omnimaga.org" />
inside the "<Tokens [...]>" tag, and addingCode: [Select]group="Axe"
into every "<Token [...]>" tag.
This causes a new "Axe" group to appear which contains all commands displayed as if you were using Axe.
Great program Merthsoft, this is really useful for working on larger projects!
I'm currently using it to work on my DROD clone in Axe (which, afaik, hasn't been done before), though there is one small thing bothering me about TokenIDE: when you save with Ctrl-S, you have to confirm the overwrite everytime, which is slightly annoying to people like me, who have a habit of quicksaving often to prevent data loss. ;)
Also, the included AxeTokens.xml did not work for me, importing it caused no new category or any changes to appear. I figured out the XML format and found out that the Axe commands are not assigned to any new group. AxeTokens.xml can be fixed by adding the lineCode: [Select]<Group name="Axe" comment="The Axe parser commands." site="http://axe.omnimaga.org" />
inside the "<Tokens [...]>" tag, and addingCode: [Select]group="Axe"
into every "<Token [...]>" tag.
This causes a new "Axe" group to appear which contains all commands displayed as if you were using Axe.EDIT:
It seems that changing the Token file does not change the Token parser's behaviour. It will still parse the original (Tokens.xml) Tokens while only the reference list is changed.
EDIT2:
...and suddenly, it works. :P
Did you change the Token file to AxeTokens.xml? You have to do that in order to use Axe tokens and since it always worked fine for me, I'm wondering if you did.I'm pretty sure he got it working. Also, your version is in the current download :D
In fact, I also gave Merth an updated AxeTokens.xml that he will update in newest version :)
Are you planning to announce your DROD game by the way? It seems kinda fun and people might be interested here :)I'm planning to announce it on Omnimaga when I have at least a few screenshots to show. ;)
Did you change the Token file to AxeTokens.xml? You have to do that in order to use Axe tokens and since it always worked fine for me, I'm wondering if you did.I used the "Change Token File" menu option to change it, and, if I recall correctly, it caused no groups to show up in the reference list. The tokenization might be working, but the list of commands is still useful to newbies like me who don't remember all of the commands yet. :P
Anyway, back on topic: Merthsoft, I can send you an updated version of AxeTokens.xml if you still need one, as I said, I added an "Axe" group which contains all commands in their Axe versions. I also replaced the "u", "v" and "w" variables with "var", "appv" and "grp" respectively. I thought about attaching it, but I guess there is some minimum post number I need to reach before being able to attach files. :PYes, please do: shaunm.mcfall at gmail. Thanks :)
<Group name="_default" comment="The standard TI-BASIC commands." site="http://tibasicdev.wikidot.com/home" />
or <Group site="http://axe.omnimaga.org/" comment="The Axe parser commands." name="_default"/>
right after the "Tokens" tag, and it should make that the default group. That should require less editing and, I think, a cleaner file.
Alright, I've made some changes. First off, I've removed the "bytes" pane, since I think it's mostly useless now that there's the Tokens pane. I've also added a "live update" switch to the Tokens pane. When this is checked, the Tokens pane will update once you've stopped typing for half a second. If that seems too long or short, let me know. I'll probably make it a setting eventually. I've also added a "line numbers preview" tool (Ctrl+L) until I'm smart enough to get a real text editor in there.
- Line numbers/syntax highlighting
Hmm, that is weird. I'll look into that tonight.Thank you very much! This is an awesome program, keep up the great work. ;)
Merth, was the slider updating bug fixed (because of Mono)? ThanksNot sure what you mean.
Merth, was the slider updating bug fixed (because of Mono)? ThanksNot sure what you mean.
Ok, so I made an update that greatly increased performance of the live updating. It should now be able to tokenize it and display the tokens without any huge performance hit (if you get a big enough file you'll notice it a little bit, but nothing too big, I think).It doesn't update until you stop typing, and does a relatively quick job of updating it. You can also turn the live updating off completely.
Great updates Merth. Glad you're still working on this. :)Thanks Kevin! As for the archived checkbox, I'm not sure if I'll add that or not, but it seems like a good idea.
By the way for the archived checkbox, I think you should make Tokens warn with an alert box that checking that box will cause your programs to not be compatible with every emulator and linking software, in case people wonder why they get so many reports about their game not running or sending.
Great updates Merth. Glad you're still working on this. :)Thanks Kevin! As for the archived checkbox, I'm not sure if I'll add that or not, but it seems like a good idea.
By the way for the archived checkbox, I think you should make Tokens warn with an alert box that checking that box will cause your programs to not be compatible with every emulator and linking software, in case people wonder why they get so many reports about their game not running or sending.
Meanwhile, I started working on a list/matrix editor:
(http://img1.uploadscreenshot.com/images/orig/6/15213012695-orig.png)
Why we should use backslashes like |\>=\...Great updates Merth. Glad you're still working on this. :)Thanks Kevin! As for the archived checkbox, I'm not sure if I'll add that or not, but it seems like a good idea.
By the way for the archived checkbox, I think you should make Tokens warn with an alert box that checking that box will cause your programs to not be compatible with every emulator and linking software, in case people wonder why they get so many reports about their game not running or sending.
Meanwhile, I started working on a list/matrix editor:
(http://img1.uploadscreenshot.com/images/orig/6/15213012695-orig.png)
The list/matrix editor is not yet in the newest version, right?
Also, with this version I can't distinguish between | and >.
Specifically, in a string, I want to put in '|' and '>=' but it gives me '|>' and '='.
Anyway I can fix this? I tried looking into XML file but i wasn't sure what I had to do.
backslash still doesn't work well even after the update. It still throws me unhandled exception, and also \|>= gives me \,|>,= not |, >=.I think you have to do \|>\=.
backslash still doesn't work well even after the update. It still throws me unhandled exception, and also \|>= gives me \,|>,= not |, >=.I think you have to do \|>\=.
I have another feature request and two other things to report (not bugs, more me having problems) :)Your English is fine, don't worry!
And I excuse myself in advance for my poor sentences and explanations but I am French and I am not sure that you understand the bad English I use.
- The feature I'd like to see added is to display the number of selected characters. It is useful for example when moving sprites who don't have individual square brackets.I can see why that would be useful, so I added it. Now when you highlight a section, it tells you how many characters, tokens, and bytes it takes up:
- I noticed that the IDE changes the indentation of a line to make it the same as the previous line. Keeping the indentation of the previous line when creating a new line is very useful, but automatically changing the indentation of an existing line when it is edited is annoying in my opinion.That is annoying, I didn't even know it did that. I've changed auto-indent off entirely until I can invest some more time into figuring out what's going on there.
- Also, the cursor seems to always blink at the same frequency, while a true text editor cursor sees its cycle changed when it is moved. I mean that when I press a key, the cursor should appear, whatever was its state right before the click. Whereas in your prog, when I press a key, it only moves the cursor but doesn't set the cursor's state as black.This has been fixed. Download in the normal place:
(Not sure if you understood what I mean so when answering me, in the textbox, keep the down key pressed, you'll see that it never blinks until you release the key. Now, do that in TokenIDE, you see that it continues blinking, and when it disappears, it continues moving down but you don't see where it is).
<Token byte="$CE" string="If " />
<Token byte="$CF" string="Then" indentGroup="End Group" />
<Token byte="$D0" string="Else" />
<Token byte="$D1" string="While " indentGroup="End Group" />
<Token byte="$D2" string="Repeat " indentGroup="End Group" />
<Token byte="$D3" string="For(" indentGroup="End Group" />
<Token byte="$D4" string="End" indentGroup="End Group" indentGroupTerminator="true" />
Wow that's a nice idea actually. You can't imagine how hectic it was to count blocks in Illusiat 13 boss programs (which are 15 KB each). One suggestion would be to add optional color support for nested blocks, like in Cooliojazz's TI editor a few years ago, although it's up to you.I think for consistency I'll just keep the syntax highlighting as it is and let people define colors for tokens.
Syntax highlighting, it's always a good idea.Indeed, and that's why you're able to do it... Was this supposed to be a feature request or what?
Block counting. Now that's one enormously useful feature for TI-BASIC. There've been plenty of times while editing a TI-BASIC program (or Axe program for that matter) in the calculator editor where I wished I had some way to quickly find that one missing End screwing up the flow of the entire program :P And the feature you just added to count tokens in a selection too—they're both really useful!I'm glad you think so! Tifreak has been bugging me for this feature for a while and I've been dragging my feet, but I think it definitely adds a lot to it :)
<Token byte="$CF" string="|~" />
And while those can sometimes be misleading, a quick tokenization and throwing it on an emulator can show that it's the right token. And, of course, if you want to change it to just a tilde, you certainly can, but you'll want to update the other entry as well: <Token byte="$B0" string="~">
<Alt string="|-" />
<Alt string="⁻" />
</Token>
#define word k
disp "k"
works, but#define word applesauce
disp "word"
does not, and it appears that it is because applesauce is longer than word. Is there some reason why you're asking this question?To see if people care. There isn't a catch at all, and making it one file does make things easier for, well, everyone. I guess I just wanted to see if there was anyone who was really fond of all the dlls sitting around. It'll make the .exe slightly larger, but that's really it.
You seem to know about all the differences--would you be willing to make the tokens files for those calcs? Or at least list all the differences. Are those the only different tokens?
DJ_O: Prizm support is already started--I have most of the tokens, I just need write the code to read/write the files.
CompSystems: 89 support is planned. Looking at the code from that, I should be able to create an appropriate XML file from it (it uses a giant switch statement... ugh). I can't give a good timeline for that, though. Come to think of it, though, that's probably my #1 most requested feature.