The latest version of this gist now lives in its own repository: https://github.com/zvuc/HTML-ng2.sublime-package Download the package file from the repo.
ADD: You can also install PackageResourceViewer from Package Control to open up and modify the package contents directly without having to manually rename, unpackage and copy.
- Find Sublime Text 3.app in Applications, View Package Contents
- Open
Contents/MacOS/Packages/HTML.sublime-package
(Rename to .zip, unpackage it) - In
HTML.sublime-syntax
file, add following undertag-event-attribute
:
tag-ng2-attribute:
- match: '\s+(([\[\(][a-zA-Z0-9.:-]+[\]\)]|(\[\()[a-zA-Z0-9.:-]+(\)\])|[\*#][a-zA-Z0-9.:-]+)\s*(=)\s*)'
captures:
1: meta.attribute-with-value.html
2: entity.other.attribute-name.ng2.html
3: punctuation.separator.key-value.html
push:
- match: '"'
scope: punctuation.definition.string.begin.html
set:
- meta_scope: meta.attribute-with-value.html string.quoted.double.html
- match: '"'
scope: punctuation.definition.string.end.html
pop: true
- include: entities
- match: "'"
scope: punctuation.definition.string.begin.html
set:
- meta_scope: meta.attribute-with-value.html string.quoted.single.html
- match: "'"
scope: punctuation.definition.string.end.html
pop: true
- include: entities
- match: '(?:[^\s<>/''"]|/(?!>))+'
scope: meta.attribute-with-value.html string.unquoted.html
- match: ''
pop: true
- match: '\s+([\[\(][a-zA-Z0-9.:-]+[\]\)]|(\[\()[a-zA-Z0-9.:-]+(\)\])|[\*#][a-zA-Z0-9.:-]+)'
captures:
1: entity.other.attribute-name.ng2.html
This is basically a copy of existing tag-generic-attribute:
with modified regexp for match:
to target Angular 2 attributes starting with *
or #
, enclosed in []
or ()
or [()]
.
- At the bottom under
tag-stuff:
add:
- include: tag-ng2-attribute
- Save the modified package as
.sublime-package
and replace the original file. You can also rename files to something else if you want to keep the original HTML.sublime-package and have a separate package like HTML-ng2.sublime-package.
- Open up the package for the Color Scheme you're using, find the
*.tmTheme
file. - Add following code inside
<array>
:
<dict>
<key>name</key>
<string>Tag ng2 attribute</string>
<key>scope</key>
<string>entity.other.attribute-name.ng2</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#C99E00</string>
</dict>
</dict>
Replace the color HEX code inside the last <string>
to one of the theme colors in your color scheme.
3. Save and replace existing file.
Great! Thanks a lot!