Skip to content

Commit bde597b

Browse files
authored
Add support for new SQL keyword "materialized" in Prism (#333)
1 parent cf58c54 commit bde597b

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/theme/prism-include-languages.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
const newWords = ["materialized"].map((word) => {
2+
return word.toLowerCase();
3+
});
4+
5+
module.exports = function prismIncludeLanguages(Prism) {
6+
if (Prism.languages.sql) {
7+
const keywordPattern = Prism.languages.sql["keyword"];
8+
9+
// If it's a regex, convert to string, add new keywords, and recompile
10+
if (keywordPattern instanceof RegExp) {
11+
const patternStr = keywordPattern.source.replace(
12+
/\)\\b$/,
13+
`|${newWords.join("|")})\\b`
14+
);
15+
Prism.languages.sql["keyword"] = new RegExp(
16+
patternStr,
17+
keywordPattern.flags
18+
);
19+
} else if (Array.isArray(keywordPattern)) {
20+
newWords.forEach((word) => {
21+
keywordPattern.push(word);
22+
});
23+
}
24+
}
25+
};

0 commit comments

Comments
 (0)