I use angularJS, and have various directives that follow a naming convention like "app-data-grid", "app-slider", "app-carousel" or "app-compile-some-template", etc. Essentially, it is the normal angular directive naming convention of [app name]-[dash delimited words]
. Sublime Text HTML language syntax highlighting doesn't properly match these with its regex. It will highlight "app" in "<app-carousel"
or "<app-some-long-directive-name"
but will not highlight the entire tag name.
Here is the predefined regex in the HTML.tmLanguage
file:
(<)([a-zA-Z0-9:]++)(?=[^>]*></\2>)
I tried adding a dash after the colon of the second matching group:
(<)([a-zA-Z0-9:-]++)(?=[^>]*></\2>)
The second regex worked in a regex tester, but did not work in Sublime Text.
Also, I have downloaded an AngularJS plugin that gave me an AngularJS-HTML language definition... which also has the same problem.
How can I fix the regex so that it matches the full tag name for highlighting?