Skip to content

Commit 2b5291c

Browse files
committed
Handle accent character in the jsx attribute name
Fixes #640
1 parent 47f2500 commit 2b5291c

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

TypeScriptReact.YAML-tmLanguage

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ uuid: 805375ec-d614-41f5-8993-5843fe63ea82
1111
variables:
1212
#possiblyMultilineArrowExpressionBeforeEndOfLine: ({{typeParameters}})?\(
1313
possiblyMultilineArrow: ((<\s*$)|([\(]\s*([\{\[]\s*)?$)) # during lookup treat ( followed by line end as arrow
14-
jsxTagOrAtrributeIdentifier: '[_$a-zA-Z][-$\w.]'
15-
jsxTagNamespace: (?:({{jsxTagOrAtrributeIdentifier}}*)(?<!\.|-)(:))?
16-
jsxTagName: \s*{{jsxTagNamespace}}((?:[a-z][a-z0-9]*|({{jsxTagOrAtrributeIdentifier}}*))(?<!\.|-))
14+
jsxTagOrAtrributeIdentifier: '[_$[:alpha:]][-$[:alnum:].]*'
15+
jsxTagNamespace: (?:({{jsxTagOrAtrributeIdentifier}})(?<!\.|-)(:))?
16+
jsxTagName: \s*{{jsxTagNamespace}}((?:[a-z][a-z0-9]*|({{jsxTagOrAtrributeIdentifier}}))(?<!\.|-))
1717
jsxOpeningTagWithoutAttributes: (<){{jsxTagName}}?\s*(>)
1818
jsxClosingTag: (</){{jsxTagName}}?\s*(>)
1919
jsxTagStart: (<){{jsxTagName}}(?=((<\s*)|(\s+))(?!\?)|\/?>)
@@ -163,8 +163,8 @@ repository:
163163
match: |-
164164
(?x)
165165
\s*
166-
(?:({{jsxTagOrAtrributeIdentifier}}*)(:))?
167-
([_$a-zA-Z][-$\w]*)
166+
(?:({{jsxTagOrAtrributeIdentifier}})(:))?
167+
([_$[:alpha:]][-$[:alnum:]]*)
168168
(?=\s|=|/?>|/\*|//)
169169
captures:
170170
'1': {name: entity.other.attribute-name.namespace.tsx}

TypeScriptReact.tmLanguage

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7768,9 +7768,9 @@
77687768
<key>jsx-tag-without-attributes-in-expression</key>
77697769
<dict>
77707770
<key>begin</key>
7771-
<string>(?&lt;!\+\+|--)(?&lt;=[({\[,?=&gt;:*]|&amp;&amp;|\|\||\?|^await|[^\._$[:alnum:]]await|^return|[^\._$[:alnum:]]return|^default|[^\._$[:alnum:]]default|^yield|[^\._$[:alnum:]]yield|^)\s*(?=(&lt;)\s*(?:([_$a-zA-Z][-$\w.]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))?\s*(&gt;))</string>
7771+
<string>(?&lt;!\+\+|--)(?&lt;=[({\[,?=&gt;:*]|&amp;&amp;|\|\||\?|^await|[^\._$[:alnum:]]await|^return|[^\._$[:alnum:]]return|^default|[^\._$[:alnum:]]default|^yield|[^\._$[:alnum:]]yield|^)\s*(?=(&lt;)\s*(?:([_$[:alpha:]][-$[:alnum:].]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-$[:alnum:].]*))(?&lt;!\.|-))?\s*(&gt;))</string>
77727772
<key>end</key>
7773-
<string>(?!(&lt;)\s*(?:([_$a-zA-Z][-$\w.]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))?\s*(&gt;))</string>
7773+
<string>(?!(&lt;)\s*(?:([_$[:alpha:]][-$[:alnum:].]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-$[:alnum:].]*))(?&lt;!\.|-))?\s*(&gt;))</string>
77747774
<key>patterns</key>
77757775
<array>
77767776
<dict>
@@ -7784,9 +7784,9 @@
77847784
<key>name</key>
77857785
<string>meta.tag.without-attributes.tsx</string>
77867786
<key>begin</key>
7787-
<string>(&lt;)\s*(?:([_$a-zA-Z][-$\w.]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))?\s*(&gt;)</string>
7787+
<string>(&lt;)\s*(?:([_$[:alpha:]][-$[:alnum:].]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-$[:alnum:].]*))(?&lt;!\.|-))?\s*(&gt;)</string>
77887788
<key>end</key>
7789-
<string>(&lt;/)\s*(?:([_$a-zA-Z][-$\w.]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))?\s*(&gt;)</string>
7789+
<string>(&lt;/)\s*(?:([_$[:alpha:]][-$[:alnum:].]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-$[:alnum:].]*))(?&lt;!\.|-))?\s*(&gt;)</string>
77907790
<key>beginCaptures</key>
77917791
<dict>
77927792
<key>1</key>
@@ -7869,9 +7869,9 @@
78697869
<string>(?x)
78707870
(?&lt;!\+\+|--)(?&lt;=[({\[,?=&gt;:*]|&amp;&amp;|\|\||\?|^await|[^\._$[:alnum:]]await|^return|[^\._$[:alnum:]]return|^default|[^\._$[:alnum:]]default|^yield|[^\._$[:alnum:]]yield|^)\s*
78717871
(?!&lt;\s*[_$[:alpha:]][_$[:alnum:]]*((\s+extends\s+[^=&gt;])|,)) # look ahead is not type parameter of arrow
7872-
(?=(&lt;)\s*(?:([_$a-zA-Z][-$\w.]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))(?=((&lt;\s*)|(\s+))(?!\?)|\/?&gt;))</string>
7872+
(?=(&lt;)\s*(?:([_$[:alpha:]][-$[:alnum:].]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-$[:alnum:].]*))(?&lt;!\.|-))(?=((&lt;\s*)|(\s+))(?!\?)|\/?&gt;))</string>
78737873
<key>end</key>
7874-
<string>(?!(&lt;)\s*(?:([_$a-zA-Z][-$\w.]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))(?=((&lt;\s*)|(\s+))(?!\?)|\/?&gt;))</string>
7874+
<string>(?!(&lt;)\s*(?:([_$[:alpha:]][-$[:alnum:].]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-$[:alnum:].]*))(?&lt;!\.|-))(?=((&lt;\s*)|(\s+))(?!\?)|\/?&gt;))</string>
78757875
<key>patterns</key>
78767876
<array>
78777877
<dict>
@@ -7885,9 +7885,9 @@
78857885
<key>name</key>
78867886
<string>meta.tag.tsx</string>
78877887
<key>begin</key>
7888-
<string>(?=(&lt;)\s*(?:([_$a-zA-Z][-$\w.]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))(?=((&lt;\s*)|(\s+))(?!\?)|\/?&gt;))</string>
7888+
<string>(?=(&lt;)\s*(?:([_$[:alpha:]][-$[:alnum:].]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-$[:alnum:].]*))(?&lt;!\.|-))(?=((&lt;\s*)|(\s+))(?!\?)|\/?&gt;))</string>
78897889
<key>end</key>
7890-
<string>(/&gt;)|(?:(&lt;/)\s*(?:([_$a-zA-Z][-$\w.]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))?\s*(&gt;))</string>
7890+
<string>(/&gt;)|(?:(&lt;/)\s*(?:([_$[:alpha:]][-$[:alnum:].]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-$[:alnum:].]*))(?&lt;!\.|-))?\s*(&gt;))</string>
78917891
<key>endCaptures</key>
78927892
<dict>
78937893
<key>1</key>
@@ -7930,7 +7930,7 @@
79307930
<array>
79317931
<dict>
79327932
<key>begin</key>
7933-
<string>(&lt;)\s*(?:([_$a-zA-Z][-$\w.]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))(?=((&lt;\s*)|(\s+))(?!\?)|\/?&gt;)</string>
7933+
<string>(&lt;)\s*(?:([_$[:alpha:]][-$[:alnum:].]*)(?&lt;!\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-$[:alnum:].]*))(?&lt;!\.|-))(?=((&lt;\s*)|(\s+))(?!\?)|\/?&gt;)</string>
79347934
<key>beginCaptures</key>
79357935
<dict>
79367936
<key>1</key>
@@ -8132,8 +8132,8 @@
81328132
<key>match</key>
81338133
<string>(?x)
81348134
\s*
8135-
(?:([_$a-zA-Z][-$\w.]*)(:))?
8136-
([_$a-zA-Z][-$\w]*)
8135+
(?:([_$[:alpha:]][-$[:alnum:].]*)(:))?
8136+
([_$[:alpha:]][-$[:alnum:]]*)
81378137
(?=\s|=|/?&gt;|/\*|//)</string>
81388138
<key>captures</key>
81398139
<dict>

0 commit comments

Comments
 (0)