Lists Home |
Date Index |
On Thu, Apr 08, 2004 at 07:12:38PM -0400, Elliotte Rusty Harold wrote:
> when it comes to code completion, I do not want anything based on
> some notion of which tags are and are not valid at a particular
> point. Editors that try this stuff are actively crippling. Even if
> they were wicked fast (which they aren't), this feature would still
> get in my way and stop me from doing what I need to do. Features like
> this are harmful by their very nature, irrespective of performance
Some thoughs to add to that...
During development of Author/Editor (an SGML editor for those that
don't remember it :-) ), there was a lot of attention spent on how
often it was helpful to offer only valid element and attribute names
for insertion, and how often it was a hindrance.
The result was to make the mode optional, so that you could toggle
between "rules checking" off and on. You need to turn it off
sometimes, as an edit can make a document temporarily invalid,
or because you might be migrating between two DTDs (schemas these
days maybe) and not have a transitional one in which both sets of
document instances were allowed.
I don't think that means it's never useful to offer a list of
elements that might be valid at the insertion point. I know I
find it particularly useful for a tightly-structured DTD or schema
with which I have only occasional familiarity.
I wasn't involved in the XMetaL design, which was originally based
on the Author/Editor and HoTMetaL code.
Alan Cooper in his "About Face" suggested that designers of software
should optimsie for the "perpetual intermediate", the person who
doesn't use the software in and out all day. As long as one does
not take that as advice not to have advanced or powerful features :-),
I think it's good advice.
Liam Quin, W3C XML Activity Lead, http://www.w3.org/People/Quin/