@docusaurus/theme-common 3.0.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/hooks/useWindowSize.d.ts +3 -1
- package/lib/hooks/useWindowSize.d.ts.map +1 -1
- package/lib/hooks/useWindowSize.js +10 -6
- package/lib/hooks/useWindowSize.js.map +1 -1
- package/lib/utils/codeBlockUtils.d.ts.map +1 -1
- package/lib/utils/codeBlockUtils.js +31 -3
- package/lib/utils/codeBlockUtils.js.map +1 -1
- package/package.json +11 -11
- package/src/hooks/useWindowSize.ts +15 -6
- package/src/utils/codeBlockUtils.ts +42 -10
|
@@ -20,6 +20,8 @@ type WindowSize = keyof typeof windowSizes;
|
|
|
20
20
|
* with mediaquery). We don't return `undefined` on purpose, to make it more
|
|
21
21
|
* explicit.
|
|
22
22
|
*/
|
|
23
|
-
export declare function useWindowSize(
|
|
23
|
+
export declare function useWindowSize({ desktopBreakpoint, }?: {
|
|
24
|
+
desktopBreakpoint?: number;
|
|
25
|
+
}): WindowSize;
|
|
24
26
|
export {};
|
|
25
27
|
//# sourceMappingURL=useWindowSize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWindowSize.d.ts","sourceRoot":"","sources":["../../src/hooks/useWindowSize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,QAAA,MAAM,WAAW;;;;CAIP,CAAC;AAEX,KAAK,UAAU,GAAG,MAAM,OAAO,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"useWindowSize.d.ts","sourceRoot":"","sources":["../../src/hooks/useWindowSize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,QAAA,MAAM,WAAW;;;;CAIP,CAAC;AAEX,KAAK,UAAU,GAAG,MAAM,OAAO,WAAW,CAAC;AAoB3C;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAC5B,iBAAqC,GACtC,GAAE;IACD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,UAAU,CAuBlB"}
|
|
@@ -11,12 +11,16 @@ const windowSizes = {
|
|
|
11
11
|
mobile: 'mobile',
|
|
12
12
|
ssr: 'ssr',
|
|
13
13
|
};
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
// Note: this value is also hardcoded in Infima
|
|
15
|
+
// Both JS and CSS must have the same value
|
|
16
|
+
// Updating this JS value alone is not enough
|
|
17
|
+
// See https://github.com/facebook/docusaurus/issues/9603
|
|
18
|
+
const DesktopBreakpoint = 996;
|
|
19
|
+
function getWindowSize(desktopBreakpoint) {
|
|
16
20
|
if (!ExecutionEnvironment.canUseDOM) {
|
|
17
21
|
throw new Error('getWindowSize() should only be called after React hydration');
|
|
18
22
|
}
|
|
19
|
-
return window.innerWidth >
|
|
23
|
+
return window.innerWidth > desktopBreakpoint
|
|
20
24
|
? windowSizes.desktop
|
|
21
25
|
: windowSizes.mobile;
|
|
22
26
|
}
|
|
@@ -30,21 +34,21 @@ function getWindowSize() {
|
|
|
30
34
|
* with mediaquery). We don't return `undefined` on purpose, to make it more
|
|
31
35
|
* explicit.
|
|
32
36
|
*/
|
|
33
|
-
export function useWindowSize() {
|
|
37
|
+
export function useWindowSize({ desktopBreakpoint = DesktopBreakpoint, } = {}) {
|
|
34
38
|
const [windowSize, setWindowSize] = useState(() =>
|
|
35
39
|
// super important to return a constant value to avoid hydration mismatch
|
|
36
40
|
// see https://github.com/facebook/docusaurus/issues/9379
|
|
37
41
|
'ssr');
|
|
38
42
|
useEffect(() => {
|
|
39
43
|
function updateWindowSize() {
|
|
40
|
-
setWindowSize(getWindowSize());
|
|
44
|
+
setWindowSize(getWindowSize(desktopBreakpoint));
|
|
41
45
|
}
|
|
42
46
|
updateWindowSize();
|
|
43
47
|
window.addEventListener('resize', updateWindowSize);
|
|
44
48
|
return () => {
|
|
45
49
|
window.removeEventListener('resize', updateWindowSize);
|
|
46
50
|
};
|
|
47
|
-
}, []);
|
|
51
|
+
}, [desktopBreakpoint]);
|
|
48
52
|
return windowSize;
|
|
49
53
|
}
|
|
50
54
|
//# sourceMappingURL=useWindowSize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWindowSize.js","sourceRoot":"","sources":["../../src/hooks/useWindowSize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAE1C,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AAEpE,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,MAAM,
|
|
1
|
+
{"version":3,"file":"useWindowSize.js","sourceRoot":"","sources":["../../src/hooks/useWindowSize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAE1C,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AAEpE,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,+CAA+C;AAC/C,2CAA2C;AAC3C,6CAA6C;AAC7C,yDAAyD;AACzD,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,SAAS,aAAa,CAAC,iBAAyB;IAC9C,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE;QACnC,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;KACH;IAED,OAAO,MAAM,CAAC,UAAU,GAAG,iBAAiB;QAC1C,CAAC,CAAC,WAAW,CAAC,OAAO;QACrB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;AACzB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,iBAAiB,GAAG,iBAAiB,MAGnC,EAAE;IACJ,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAC1C,GAAG,EAAE;IACH,yEAAyE;IACzE,yDAAyD;IACzD,KAAK,CACR,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,gBAAgB;YACvB,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,gBAAgB,EAAE,CAAC;QAEnB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAEpD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeBlockUtils.d.ts","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AAEzC,OAAO,KAAK,EAAC,UAAU,EAAkB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"codeBlockUtils.d.ts","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AAEzC,OAAO,KAAK,EAAC,UAAU,EAAkB,MAAM,sBAAsB,CAAC;AAgCtE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CAAC;CACtC,CAAC;AAoGF,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,aAAa,EAAE,kBAAkB,EAAE,CAAC;CACrC,GACA;IACD;;;OAGG;IACH,cAAc,EAAE;QAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAC,CAAC;IAChD;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;CACd,CA4EA;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,CAc1E"}
|
|
@@ -8,16 +8,26 @@ import rangeParser from 'parse-numeric-range';
|
|
|
8
8
|
const codeBlockTitleRegex = /title=(?<quote>["'])(?<title>.*?)\1/;
|
|
9
9
|
const metastringLinesRangeRegex = /\{(?<range>[\d,-]+)\}/;
|
|
10
10
|
// Supported types of highlight comments
|
|
11
|
-
const
|
|
11
|
+
const popularCommentPatterns = {
|
|
12
12
|
js: { start: '\\/\\/', end: '' },
|
|
13
13
|
jsBlock: { start: '\\/\\*', end: '\\*\\/' },
|
|
14
14
|
jsx: { start: '\\{\\s*\\/\\*', end: '\\*\\/\\s*\\}' },
|
|
15
15
|
bash: { start: '#', end: '' },
|
|
16
16
|
html: { start: '<!--', end: '-->' },
|
|
17
|
+
};
|
|
18
|
+
const commentPatterns = {
|
|
19
|
+
...popularCommentPatterns,
|
|
20
|
+
// minor comment styles
|
|
17
21
|
lua: { start: '--', end: '' },
|
|
18
22
|
wasm: { start: '\\;\\;', end: '' },
|
|
19
23
|
tex: { start: '%', end: '' },
|
|
24
|
+
vb: { start: "['‘’]", end: '' },
|
|
25
|
+
rem: { start: '[Rr][Ee][Mm]\\b', end: '' },
|
|
26
|
+
f90: { start: '!', end: '' },
|
|
27
|
+
ml: { start: '\\(\\*', end: '\\*\\)' },
|
|
28
|
+
cobol: { start: '\\*>', end: '' }, // Free format only
|
|
20
29
|
};
|
|
30
|
+
const popularCommentTypes = Object.keys(popularCommentPatterns);
|
|
21
31
|
function getCommentPattern(languages, magicCommentDirectives) {
|
|
22
32
|
// To be more reliable, the opening and closing comment must match
|
|
23
33
|
const commentPattern = languages
|
|
@@ -64,9 +74,27 @@ function getAllMagicCommentDirectiveStyles(lang, magicCommentDirectives) {
|
|
|
64
74
|
return getCommentPattern(['lua'], magicCommentDirectives);
|
|
65
75
|
case 'wasm':
|
|
66
76
|
return getCommentPattern(['wasm'], magicCommentDirectives);
|
|
77
|
+
case 'vb':
|
|
78
|
+
case 'vbnet':
|
|
79
|
+
case 'vba':
|
|
80
|
+
case 'visual-basic':
|
|
81
|
+
return getCommentPattern(['vb', 'rem'], magicCommentDirectives);
|
|
82
|
+
case 'batch':
|
|
83
|
+
return getCommentPattern(['rem'], magicCommentDirectives);
|
|
84
|
+
case 'basic': // https://github.com/PrismJS/prism/blob/master/components/prism-basic.js#L3
|
|
85
|
+
return getCommentPattern(['rem', 'f90'], magicCommentDirectives);
|
|
86
|
+
case 'fsharp':
|
|
87
|
+
return getCommentPattern(['js', 'ml'], magicCommentDirectives);
|
|
88
|
+
case 'ocaml':
|
|
89
|
+
case 'sml':
|
|
90
|
+
return getCommentPattern(['ml'], magicCommentDirectives);
|
|
91
|
+
case 'fortran':
|
|
92
|
+
return getCommentPattern(['f90'], magicCommentDirectives);
|
|
93
|
+
case 'cobol':
|
|
94
|
+
return getCommentPattern(['cobol'], magicCommentDirectives);
|
|
67
95
|
default:
|
|
68
|
-
// All comment types
|
|
69
|
-
return getCommentPattern(
|
|
96
|
+
// All popular comment types
|
|
97
|
+
return getCommentPattern(popularCommentTypes, magicCommentDirectives);
|
|
70
98
|
}
|
|
71
99
|
}
|
|
72
100
|
export function parseCodeBlockTitle(metastring) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeBlockUtils.js","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAG9C,MAAM,mBAAmB,GAAG,qCAAqC,CAAC;AAClE,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AAE1D,wCAAwC;AACxC,MAAM,
|
|
1
|
+
{"version":3,"file":"codeBlockUtils.js","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/theme-common",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Common code for Docusaurus themes.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
},
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@docusaurus/mdx-loader": "3.0
|
|
34
|
-
"@docusaurus/module-type-aliases": "3.0
|
|
35
|
-
"@docusaurus/plugin-content-blog": "3.0
|
|
36
|
-
"@docusaurus/plugin-content-docs": "3.0
|
|
37
|
-
"@docusaurus/plugin-content-pages": "3.0
|
|
38
|
-
"@docusaurus/utils": "3.0
|
|
39
|
-
"@docusaurus/utils-common": "3.0
|
|
33
|
+
"@docusaurus/mdx-loader": "3.1.0",
|
|
34
|
+
"@docusaurus/module-type-aliases": "3.1.0",
|
|
35
|
+
"@docusaurus/plugin-content-blog": "3.1.0",
|
|
36
|
+
"@docusaurus/plugin-content-docs": "3.1.0",
|
|
37
|
+
"@docusaurus/plugin-content-pages": "3.1.0",
|
|
38
|
+
"@docusaurus/utils": "3.1.0",
|
|
39
|
+
"@docusaurus/utils-common": "3.1.0",
|
|
40
40
|
"@types/history": "^4.7.11",
|
|
41
41
|
"@types/react": "*",
|
|
42
42
|
"@types/react-router-config": "*",
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
"utility-types": "^3.10.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@docusaurus/core": "3.0
|
|
51
|
-
"@docusaurus/types": "3.0
|
|
50
|
+
"@docusaurus/core": "3.1.0",
|
|
51
|
+
"@docusaurus/types": "3.1.0",
|
|
52
52
|
"fs-extra": "^11.1.1",
|
|
53
53
|
"lodash": "^4.17.21"
|
|
54
54
|
},
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"engines": {
|
|
60
60
|
"node": ">=18.0"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "a5e675821f0e8b70b591fcebf19fd60a70d55548"
|
|
63
63
|
}
|
|
@@ -17,15 +17,20 @@ const windowSizes = {
|
|
|
17
17
|
|
|
18
18
|
type WindowSize = keyof typeof windowSizes;
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
// Note: this value is also hardcoded in Infima
|
|
21
|
+
// Both JS and CSS must have the same value
|
|
22
|
+
// Updating this JS value alone is not enough
|
|
23
|
+
// See https://github.com/facebook/docusaurus/issues/9603
|
|
24
|
+
const DesktopBreakpoint = 996;
|
|
21
25
|
|
|
22
|
-
function getWindowSize() {
|
|
26
|
+
function getWindowSize(desktopBreakpoint: number): WindowSize {
|
|
23
27
|
if (!ExecutionEnvironment.canUseDOM) {
|
|
24
28
|
throw new Error(
|
|
25
29
|
'getWindowSize() should only be called after React hydration',
|
|
26
30
|
);
|
|
27
31
|
}
|
|
28
|
-
|
|
32
|
+
|
|
33
|
+
return window.innerWidth > desktopBreakpoint
|
|
29
34
|
? windowSizes.desktop
|
|
30
35
|
: windowSizes.mobile;
|
|
31
36
|
}
|
|
@@ -40,7 +45,11 @@ function getWindowSize() {
|
|
|
40
45
|
* with mediaquery). We don't return `undefined` on purpose, to make it more
|
|
41
46
|
* explicit.
|
|
42
47
|
*/
|
|
43
|
-
export function useWindowSize(
|
|
48
|
+
export function useWindowSize({
|
|
49
|
+
desktopBreakpoint = DesktopBreakpoint,
|
|
50
|
+
}: {
|
|
51
|
+
desktopBreakpoint?: number;
|
|
52
|
+
} = {}): WindowSize {
|
|
44
53
|
const [windowSize, setWindowSize] = useState<WindowSize>(
|
|
45
54
|
() =>
|
|
46
55
|
// super important to return a constant value to avoid hydration mismatch
|
|
@@ -50,7 +59,7 @@ export function useWindowSize(): WindowSize {
|
|
|
50
59
|
|
|
51
60
|
useEffect(() => {
|
|
52
61
|
function updateWindowSize() {
|
|
53
|
-
setWindowSize(getWindowSize());
|
|
62
|
+
setWindowSize(getWindowSize(desktopBreakpoint));
|
|
54
63
|
}
|
|
55
64
|
|
|
56
65
|
updateWindowSize();
|
|
@@ -60,7 +69,7 @@ export function useWindowSize(): WindowSize {
|
|
|
60
69
|
return () => {
|
|
61
70
|
window.removeEventListener('resize', updateWindowSize);
|
|
62
71
|
};
|
|
63
|
-
}, []);
|
|
72
|
+
}, [desktopBreakpoint]);
|
|
64
73
|
|
|
65
74
|
return windowSize;
|
|
66
75
|
}
|
|
@@ -13,18 +13,31 @@ const codeBlockTitleRegex = /title=(?<quote>["'])(?<title>.*?)\1/;
|
|
|
13
13
|
const metastringLinesRangeRegex = /\{(?<range>[\d,-]+)\}/;
|
|
14
14
|
|
|
15
15
|
// Supported types of highlight comments
|
|
16
|
-
const
|
|
16
|
+
const popularCommentPatterns = {
|
|
17
17
|
js: {start: '\\/\\/', end: ''},
|
|
18
18
|
jsBlock: {start: '\\/\\*', end: '\\*\\/'},
|
|
19
19
|
jsx: {start: '\\{\\s*\\/\\*', end: '\\*\\/\\s*\\}'},
|
|
20
20
|
bash: {start: '#', end: ''},
|
|
21
21
|
html: {start: '<!--', end: '-->'},
|
|
22
|
+
} as const;
|
|
23
|
+
|
|
24
|
+
const commentPatterns = {
|
|
25
|
+
...popularCommentPatterns, // shallow copy is sufficient
|
|
26
|
+
// minor comment styles
|
|
22
27
|
lua: {start: '--', end: ''},
|
|
23
28
|
wasm: {start: '\\;\\;', end: ''},
|
|
24
29
|
tex: {start: '%', end: ''},
|
|
25
|
-
}
|
|
30
|
+
vb: {start: "['‘’]", end: ''},
|
|
31
|
+
rem: {start: '[Rr][Ee][Mm]\\b', end: ''},
|
|
32
|
+
f90: {start: '!', end: ''}, // Free format only
|
|
33
|
+
ml: {start: '\\(\\*', end: '\\*\\)'},
|
|
34
|
+
cobol: {start: '\\*>', end: ''}, // Free format only
|
|
35
|
+
} as const;
|
|
26
36
|
|
|
27
37
|
type CommentType = keyof typeof commentPatterns;
|
|
38
|
+
const popularCommentTypes = Object.keys(
|
|
39
|
+
popularCommentPatterns,
|
|
40
|
+
) as CommentType[];
|
|
28
41
|
|
|
29
42
|
export type MagicCommentConfig = {
|
|
30
43
|
className: string;
|
|
@@ -99,15 +112,34 @@ function getAllMagicCommentDirectiveStyles(
|
|
|
99
112
|
case 'wasm':
|
|
100
113
|
return getCommentPattern(['wasm'], magicCommentDirectives);
|
|
101
114
|
|
|
115
|
+
case 'vb':
|
|
116
|
+
case 'vbnet':
|
|
117
|
+
case 'vba':
|
|
118
|
+
case 'visual-basic':
|
|
119
|
+
return getCommentPattern(['vb', 'rem'], magicCommentDirectives);
|
|
120
|
+
|
|
121
|
+
case 'batch':
|
|
122
|
+
return getCommentPattern(['rem'], magicCommentDirectives);
|
|
123
|
+
|
|
124
|
+
case 'basic': // https://github.com/PrismJS/prism/blob/master/components/prism-basic.js#L3
|
|
125
|
+
return getCommentPattern(['rem', 'f90'], magicCommentDirectives);
|
|
126
|
+
|
|
127
|
+
case 'fsharp':
|
|
128
|
+
return getCommentPattern(['js', 'ml'], magicCommentDirectives);
|
|
129
|
+
|
|
130
|
+
case 'ocaml':
|
|
131
|
+
case 'sml':
|
|
132
|
+
return getCommentPattern(['ml'], magicCommentDirectives);
|
|
133
|
+
|
|
134
|
+
case 'fortran':
|
|
135
|
+
return getCommentPattern(['f90'], magicCommentDirectives);
|
|
136
|
+
|
|
137
|
+
case 'cobol':
|
|
138
|
+
return getCommentPattern(['cobol'], magicCommentDirectives);
|
|
139
|
+
|
|
102
140
|
default:
|
|
103
|
-
// All comment types
|
|
104
|
-
return getCommentPattern(
|
|
105
|
-
Object.keys(commentPatterns).filter(
|
|
106
|
-
(pattern) =>
|
|
107
|
-
!['lua', 'wasm', 'tex', 'latex', 'matlab'].includes(pattern),
|
|
108
|
-
) as CommentType[],
|
|
109
|
-
magicCommentDirectives,
|
|
110
|
-
);
|
|
141
|
+
// All popular comment types
|
|
142
|
+
return getCommentPattern(popularCommentTypes, magicCommentDirectives);
|
|
111
143
|
}
|
|
112
144
|
}
|
|
113
145
|
|