Oh well, I managed to bang out two pages, and it stinks of desperation and boredom. I should stick to doing things I'm good at, but if I only did that, I would never get to program.
What's next for Boodle?
Here's my little TODO list:
- Bug Mike to replace the textbox on the bottom of boodle with a tabbed interface that has console output, and a "task-list" where I can put errors. That will of course require a 'TaskManagerService' to do all the dirty under the hood work, which brings up the next point:
- Why am I suffixing everything with "Service" ? I have like three -Service files I haven't committed to SVN yet simply because they're pretty worthless, but the fact that I do it is weird.
- I have hazy thoughts of refactoring: a treeview showing each place the refactoring will occur, and a code block for each treeview to show the changes. Hopefully BooStyler will be able to colorize it properly. ;)
- I need to optimize the styler; right now it re-styles on every keystroke. There is a property, EndStyled, that tells me where the last styled position was... but since I'm using the Boo Lexer (Boo.Lang.Parser), 'publ' would be marked as an IDentifier, though it can easily become 'public' - and thus a keyword - seconds later. I simply cannot ignore that, but I have not thought up any good strategies yet. I have considered simply re-styling anything marked as an "identifier" each keystroke instead; that might be more efficient. I should probably look to see what other people are doing, but won't.
- Boodle's coming to the point where it can easily replace Boo Explorer. This is good, and was my original goal in the first place. ;) There is still much more to do after that point, though.
- I need someone with a better eye for colors than me to pick out some sane colors for syntax colorization.
- Don't let BooStyler get too muddled; in the future I'm going to want it to mark those mysterious 'ID's as fields, types, etc.
- I still haven't figured out how to make wxStyledTextCtrl bitmasks and stuff. Its just not something I do on a day-to-day level... and am mildly suprised they exposed implementation-level details in an API, but whatever - it wraps C/++ code, what can I expect?