[SVN] r7208 (HTML)
Thomas Aylott (subtleGradient)
oblivious at subtlegradient.com
Mon May 14 14:20:36 UTC 2007
On May 14, 2007, at 6:29 AM, Allan Odgaard wrote:
> On 12. May 2007, at 21:35, Thomas Aylott (subtleGradient) wrote:
>
>> Yes, the codecompletion thing uses the normal escape completion
>> list for all those reasons.
>> I hadn't realized that that thing was deprecated at the time I
>> created the codecompletion library.
>> I'm not sure how I would have know that.
>
> Stuff which is not in the manual (or release notes) is normally
> because I have not committed to the functionality (or “removed”
> it).
I'll keep that in mind next time.
>> I guess the only solution that would work across the board would
>> be to extend all the escape completion preference files to write
>> that list to an environment variable as you suggested before.
>> There are a lot of people using the codecompletion library now and
>> that would require all of them to change their stuff to match.
>
> I was on vacation when you added this code completion stuff,
> otherwise I would have voiced my objections before we got into the
> situation of “a lot of people use it”… ;)
Right right, sorry about that.
>> So that would require something like this if I wanted it to work
>> in both escape completions and menu completions? [...]
>
> Yes, but you didn’t relate to my question of this actually adding
> value to the escape completion.
>
> Roughly half the completions are 3 letters or less. Since you at
> least need to type one letter to guide the escape completion, and
> then hit escape, we are down to (best case) two letters, for (on
> average) getting 3 letters inserted, except with 90 tags and only
> 26 letters, there are (on average) 3 candidates per completion,
> meaning on average you press escape 1.5 times.
>
> So we’re looking at hitting 2.5 characters to get 3 letters --
> very rough estimates here, but you should get the picture. I.e. is
> this stuff usable as escape completion?
>
> And if not, does it maybe detract value from completing words
> (prose) with escape, since we inject 90 non-words into the carpus.
Sorry, I had already seen the error of my ways and agreed with this
pretty obvious logic.
That's why I suggested using the invalid.illegal.incomplete.html
scope. If those are the only escape completions available they could
be useful. More likely to be useful in a menu than regular escape
completions though. You're too right.
>> [...]
>> Obviously with a change to the codecompletion library to parse
>> TM_COMPLETIONS instead of reading the plist directly.
>>
>> If scoped to invalid.illegal.incomplete.html <>
>> Then they would not be in anyone's way.
>
> If used as a variable, you just do ENV['TM_COMPLETION_LIST'].split
> (/,\s*/) from Ruby (to get the list) and then set the proper scope
> selector in TextMate for each of the completion preferences.
Right, that was what I was planning.
> Then we also only need one command, rather than a command per
> bundle (or per scope, as it seems is currently the case).
>
> So advantages:
> 1) only one command, not a command per bundle/scope
> 2) simpler code to read the list (no file I/O / plist parsing)
> 3) not going to be a problem for the user to update completions
> for bundles not in ~/Library
> 4) the completions do not poison the normal ⎋ completion carpus
>
> Disadvantages:
> 1) the completions you setup for this command are not available
> via ⎋
Yes, I agree that if we do it with the environment variable we should
be able to have a single simple command.
Then anything that requires a different list of completions can have
a separate completion command or could simply inject values into that
environment variable.
CSS and Ruby both have more complex completion commands.
HTML isn't a great example of how this should work since the
completions list is really crappy.
But CSS is a great example of how it should work. There's a single
definite list of completions for each scope. The list of escape
completions and menu completions should be the same.
I hate the thought of duplicating lists for both escape completions
and menu completions. But I guess that gives us the option of having
a different list for each. HTML is a good example of things you'd
want in the menu but not the escape list.
thomas Aylott — subtleGradient — CrazyEgg — sixteenColors
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macromates.com/textmate-dev/attachments/20070514/2a25f16f/attachment.html>
More information about the textmate-dev
mailing list