Snippet-Registerkartenauslöser können leider nichts enthalten, was von Sublime Text als Worttrennzeichen betrachtet wird.
Allerdings ist es möglich, diese Trigger mit einer Tastenkombination zu emulieren, wenn Sie den Auslöser Text im Dokument behalten wollen:
{ "keys": ["tab"], "command": "insert_snippet", "args": { "name": "Packages/User/alter_aggregate.sublime-snippet" },
"context":
[
{ "key": "preceding_text", "operator": "regex_match", "operand": "\\bALTER AGGREGATE$", "match_all": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "following_text", "operator": "regex_match", "operand": "^$", "match_all": true },
{ "key": "selector", "operator": "equal", "operand": "source.sql", "match_all": true },
]
},
dies voraus, dass Sie das Snippet in Ihrem Packages/User
Ordner mit dem Namen gespeichert haben alter_aggregate.sublime-snippet
.
Beispiel Snippet Inhalt (beachten Sie, es ALTER AGGREGATE
fehlt aber beginnt mit einem Raum:
<snippet>
<content><![CDATA[
${1:myavg(integer)} RENAME TO ${2:newname};
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<!-- <tabTrigger>hello</tabTrigger> -->
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<scope>source.sql</scope>
</snippet>
Dann eingeben ALTER AGGREGATE
Tab geben Ihnen:
ALTER AGGREGATE myavg(integer) RENAME TO newname;
mit der Auswahl zunächst über myavg(integer)
und Drücken von Tab verschiebt es zur newname
, für die Bequemlichkeit.
Leider ist es nicht. Snippets lösen bei bestimmten Wörtern aus, die in Regex-Sprache sowohl Leerzeichen als auch Tabulatoren und Zeilenumbrüche ausschließen. – MattDMo