Thanks to some wonderful work by Micha and his advanced GUI controls, I think it might be possible to have a colorful and dynamic AHKPad, similar to my Pure AHK version but much, much better.
Heres my idea:
Have an RTF Edit box, but the user has no direct control over the advanced formatting; That is controled by the script, highlighting %variables%, functions:, {brackets}, etc. to whatever colors the user sets in the prefs. The only problems is this: the coloring will (obviously) make the script have a bunch of really ugly RTF formatting.
Enter RTF2Text. A simple and command line ready tool that converts RTF to text very cleanly. All formatting is gone, and not one character is left out. So far I have found no bugs in this program.
What we need:
As the user types the script will have to actively watch and wait for parenthesis, brackets, semicolens, function names, etc. A parser will also be needed to load a script to the colored, rtf format of the editor upon opening a file.
Some kind of functioning Find. Something that can select the text that someone searches for. As far as I can tell this is impossible though...
We could also include something similar to Rajats Intellisense. Or maybe (and correct me if this is not plausible) we could have a drop down list appear when a certain hotkey is pressed that has a list of all commands. For example type "msg" and press ctrl-J and a list will appear with Msgbox on top, with the syntax. Your comments are appreciated.So that said, who's willing to help make this work? Please give me any comment that comes to mind.
Here is a very innacurate representation of what this MIGHT look like. (this is a picture of WordPad and my AHKPad fused together)
Colorful, dynamic AHKPad. Will you help?
Started by
Veovis
, Mar 09 2006 12:37 AM
4 replies to this topic
#1
-
Posted 09 March 2006 - 12:37 AM
"Power can be given overnight, but responsibility must be taught. Long years go into its making."
aye, i agree with the idea... it would complement Rajat's SmartGUI creator well. but my AHK is not that enhanced to help out in developing the script. ;-(
anyways, good luck veovis...
anyways, good luck veovis...
#2
-
Posted 09 March 2006 - 01:45 AM
Your idea is a good one, but it would take too much work to simply achieve was professional editors have already done. My opinion anyway.
#3
-
Posted 09 March 2006 - 08:22 AM
my lame sig
Sorry to say, but full ack. to Invalid User.
Why doing so much work when there are so many professional editors that already support AHK Syntaxhighlighting. How would your editor benefit the community?
What features does it offer that make them irreplacable compared to other.
Cheers
AGU
Why doing so much work when there are so many professional editors that already support AHK Syntaxhighlighting. How would your editor benefit the community?
What features does it offer that make them irreplacable compared to other.
Cheers
AGU
#4
-
Posted 09 March 2006 - 09:13 AM
I believe like the others: while hacking (programming) this would be a very good exercice, I fear the end result would be largely inferior to most available editors. I saw a syntax hightlighting editor written in Visual Basic, it was sloooow. I fear it would be even slower in AHK.
Suggestion: if you ever persist, don't use RichEdit control! It is rather unsuitable for such task... That's why it is so slow.
You should use a specialized component, like Scintilla (I am biased here, but one advantage is that it can be totally controlled by SendMessage), CrystalEdit or SynEdit, to name but a few (the Scintilla site lists, in the Related section, some of these components).
Suggestion: if you ever persist, don't use RichEdit control! It is rather unsuitable for such task... That's why it is so slow.
You should use a specialized component, like Scintilla (I am biased here, but one advantage is that it can be totally controlled by SendMessage), CrystalEdit or SynEdit, to name but a few (the Scintilla site lists, in the Related section, some of these components).
#5
-
Posted 09 March 2006 - 10:03 AM
vPhiLho := RegExReplace("Philippe Lhoste", "^(\w{3})\w*\s+\b(\w{3})\w*$", "$1$2")