jsxLanguage top-level constant
Grammar
const jsxLanguage
JavaScript with JSX elements, as used by React.
Implementation
const jsxLanguage = Grammar(
name: 'jsx',
aliases: ['react'],
fileExtensions: ['jsx'],
signatures: [
r'\breturn\s*\(?\s*<[A-Za-z>]',
r'<[A-Z][\w.]*(?:\s+[\w-]+=|\s*/?>)',
r'\bclassName=',
r'</[A-Za-z][\w.]*>\s*\)?;?\s*$',
r'''\bfrom\s+['"]react['"]''',
],
rules: jsxRules,
repository: {
...jsRepository,
...jsxRepository,
'words': [
...jsMemberRules,
KeywordRule(
{
Scopes.keyword: jsKeywords,
Scopes.literal: jsLiterals,
Scopes.variableLanguage: jsVariables,
Scopes.typeBuiltin: jsBuiltins,
},
word: r'(?<![\w$#])#?[A-Za-z_$][\w$]*',
otherwise: jsWordFallbacks,
),
],
},
);