[TxMt] scope-specific word completion collection
Allan Odgaard
throw-away-1 at macromates.com
Sat Dec 17 10:14:22 UTC 2005
On 17/12/2005, at 2:03, Oliver Taylor wrote:
> [...] Now, I want to collect all the words in the current document
> (but only within the "splay.character" scope, and use them as a
> list for auto-completion. So that when I tab 4 times and type "Ki"
> then escape, "King John" will pop up.
>
> I know this is done with a shell command (right?) but I have no
> idea how to do this.
http://macromates.com/textmate/manual/working_with_text.html#completion
In your case, something like this should work (I assumed the four
tabs needs to be at the begin of the line):
{ completionCommand = 'perl -pe "s/^\t{4}($TM_CURRENT_WORD.*)\$|.*
\n?/\$1/" <"$TM_FILEPATH"';
disableDefaultCompletion = 1;
}
Add that as a preferences item and set the scope for it to
“splay.character”. One caveat: it extracts completions from the saved
file (the completion command ought to get the entire document as
stdin, but it currently doesn't).
More information about the textmate
mailing list