Skip to content

Commit 39e6906

Browse files
committed
Improvements to keywords highlighting
Fixed all edge cases.
1 parent 44cc84b commit 39e6906

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

web/mta_highlighting/generate-lua-tmlanguage.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ async function generateTmLanguage() {
5858

5959
if (allKeywords.length > 0) {
6060
patterns.push({
61-
match: `(?<!\\=\\s*)\\b(${allKeywords.join('|')})\\b(?=\\s*\\S)(?!\\s*(=|;|\\(|\\[|\\)|,(?!\u200B)|\\s*--|\\.))`,
61+
match: `(?<=\\u200B\\s*)\\b(${allKeywords.join('|')})\\b`,
6262
name: 'keyword.mta',
6363
});
6464
}

web/src/pages/reference/[event].astro

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,11 @@ const eventParameters = event.data.parameters || [];
3939
let parametersCode = "";
4040
// Build parameters code syntax e.g. "int param1, string param2"
4141
if (eventParameters.length > 0) {
42+
const ZERO_WIDTH_SPACE = '\u200B';
43+
4244
parametersCode = eventParameters
4345
.map((param: any) => {
44-
return param.type + " " + param.name;
46+
return ZERO_WIDTH_SPACE + param.type + " " + param.name;
4547
})
4648
.join(", ");
4749
}

web/src/utils/functions.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ function buildSyntaxString(
3131
const ZERO_WIDTH_SPACE = '\u200B';
3232

3333
const returnString = returns
34-
? `${returns.values.map(v => v.type).join(`,${ZERO_WIDTH_SPACE} `)}`
34+
? `${returns.values.map(v => `${ZERO_WIDTH_SPACE}${v.type}`).join(', ')}`
3535
: '';
3636

3737
const paramParts: string[] = [];
@@ -44,8 +44,12 @@ function buildSyntaxString(
4444
}
4545
};
4646

47+
const addZWSPToType = (typeStr: string): string => {
48+
return typeStr.split(/(?:\/|\|)/).map(t => `${ZERO_WIDTH_SPACE}${t.trim()}`).join(typeStr.includes('|') ? '|' : '/');
49+
};
50+
4751
for (const p of parameters) {
48-
const str = `${p.type} ${p.name}${p.default !== undefined ? ` = ${p.default}` : ''}`;
52+
const str = `${addZWSPToType(p.type)} ${p.name}${p.default !== undefined ? ` = ${p.default}` : ''}`;
4953

5054
if (p.default !== undefined) {
5155
optionalGroup.push(str);

0 commit comments

Comments
 (0)