Page 1 of 1

The Mother of all Enhancement Requests -- Consider This

Posted: Sat Mar 27, 2004 3:25 am
by drefty
GREETINGS :
Please help me, I am on a mission to make TextPad the best
text editor of its class, better than UltraFoo, FooTabPro and
a whole bunch of others. I am on a mission to give *you* a
lot of the features that *you* have been waiting for (YEARS).

It can be done without a whole lot of work by Helios.
It's a very simple and very elegant suggestion (IMHO).
It might change the way you think about Windows apps.
It can be done today.

FEATURE SUGGESTION:
1. Add '$SelLines' tool parameter macro.
2. Add index-capable '$file' tool parameter macro.
3. Add 'runnable clips' ability to the clipbook library.
4. Allow 'hotkey assignment' on 'runnable clips' in clipbook library.

Add these four and you have a (basic) "plug-in" architecture that
allows the user to modify TextPad in virtually any way imaginable
(except for stuff like enhancing syntax coloring and Linux support).

For more details, you can read the rest of this (suggestion/rant)...
if you're tired stop here and come back with a cup of
[favorite beverage] later.

### ----------------------------------------------------------- ###
### ----------------------------------------------------------- ###
### ----------------------------------------------------------- ###

SUGGESTION DETAILS:
Here is just a quick explanation of what I mean.

"$SelLines" : Pass all selected lines of the currently open file to
an external program/script. (or enhance the $Sel parameter
macro so it works that way, instead of just sending the first
line of a multi-line selection). (Yes, multi-line arguments
are tricky, but you can get around that by writing the selection
to a temp file, then pass the url to the temp file).(If no lines
are selected, then pass the url to the entire file itself).

"index-capable $file" : If the user has three files open let her
pass that to a tool with $file[1], $file[2], $file[3] (or
start with index [0] if that floats your boat).

"runnable-clips" : Let the user organize her runnable 'tools' just
like clips in a clip library. Runnable clips are identical to
what you get from runnable Tools that TextPad already has.
The only difference is, with runnable clips you automatically
replace the current selection with whatever would have normally
popped up in the 'Command Results' window (if anything). Don't
bother with distinguishing 'before cursor' and 'after cursor';
let the tool from the runnable clip figure it out if it needs
to, just replace the whole selection.

BENEFITS OF THIS SUGGESTION:
These are only a tip of the iceburg of what you could do ...

Inserting "Language Sensitive Comments"
1. Run a 'runnable clip' with the following params:
Command: wscript.exe
Parameters: MyCommentInserter.wsf $SelLines, $FileName
CaptureOutput: true

Note: MyCommentInserter.wsf can be any program or script
or widget that returns $SelLines with tacked-on
language-specific comments, as determined by the
extension of $FileName, which you passed as an argument.

Using a custom 'color picker' dialog box with TextPad
1. Run a 'runnable clip' with the following params:
Command: mshta.exe MyCustomColorPicker.hta
CaptureOutput: true

Note: Why not let the end user build their own custom dialog
boxes with HTML? (or other gui tool that doesn't require
C++, Java, CSharp or other advanced IDE, she could do anything
she wanted, build a GUI-based fill-in-the-blank form letter
or resume maker, whatever.).

Insert the current date in a format OTHER THAN the TextPad Default
at the current cursor position
1. Run a 'runnable clip' with the following params:
Command: SpitOutKlingonStardate.pl
CaptureOutput: true

NOTE:
All of these are *almost* available in TextPad already, but the
problem is the Tools menu gets cluttered fast, or it takes
multiple keystrokes and opening and closing of other applications
when you really want to be able to do things in 1 step, just like
illustrated in BENEFITS.

THE BOLD ACCUSATION:
The problem is *not* with missing features in TextPad. TextPad has
*just* the right balance of features, ease of use, and size.
TextPad need not become a 'code-bloat' editor or IDE. It just
needs a bit more flexiblity in talking with the *outside world*.

PROOF:
To prove this point, consider the numerous features people have
justifiably requested in the past, here is a quick snapshot:

* document-class-scoped stuff ( tools list, "add-remove comments",
help files; code completion;)

* gui-stuff (larger input boxes for search/replace fields; icons for
tools;)

* other-stuff (editable macros; 'tree-view' style ClipLibrary;
scriptable and dynamic clips; XML 'pretty-print';)

ALL of these features, and many others, can be added to TextPad
without mucking up the GUI or the ease of use, simply by deferring
the "grunt work" to *freely available* addons like Windows Script
Host, Perl, Python, Excel, Word, Internet Explorer, COBOL.NET
or whatever the heck else you happen to use. The problem is getting
my little 'snippets' of text into and out of TextPad without having
to use the Windows clipboard or opening the other application.

WHY THIS IS NEEDED:
Lots of Windows applications are bothersome because there is often
no way to use features from one program inside another program.
For example, one editor has syntax highlighting, but no 'color picker'
dialog box. Another has the color picker, but no syntax highlighting.

Some say this is great, because it causes 'customer lock-in' ... but
wouldn't it be even better "lock-in" if your app worked with other
tools that are considered "free addons" anyway?

If only there were a way to *easily* get *all* Windows apps to work
together!! TextPad can lead the way!!

WHY OTHER ALTERNATIVES SUCK:
* Editable macros are not a good idea, why learn yet another macro
language? Who is gonna design that language? Who is gonna document
it? What if it turns out to be a lousy language?
* COM/OLE automation is powerful, but it's complicated. It would
be nice if TextPad supported OLE/COM but is it likely? I doubt it.
* DDE doesn't seem to do much. Scour the web for a *single*
useful example in TextPad *or anything else*. DDE seems to be DDEAD.

Posted: Sat Mar 27, 2004 5:37 am
by ramonsky
Editable macros *ARE* a good idea, however in all other respects I agree with you (as I did last time you mentioned this.)

This IS an excellent idea.