-
Notifications
You must be signed in to change notification settings - Fork 2
/
options.ts
61 lines (55 loc) · 2.08 KB
/
options.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import type { SupportOptions } from "prettier";
import type { EmbeddedDefaultComment, EmbeddedDefaultTag } from "../types.js";
import {
type AutocompleteStringList,
fallbackIndicator,
makeCommentsOptionName,
makeIdentifiersOptionName,
makeTagsOptionName,
} from "../utils.js";
import { language } from "./language.js";
type EmbeddedCommentsOrTags = AutocompleteStringList<
EmbeddedDefaultComment | EmbeddedDefaultTag
>;
const EMBEDDED_LANGUAGE_IDENTIFIERS = makeIdentifiersOptionName(language);
const EMBEDDED_LANGUAGE_COMMENTS = makeCommentsOptionName(language);
const EMBEDDED_LANGUAGE_TAGS = makeTagsOptionName(language);
export const options = {
[EMBEDDED_LANGUAGE_IDENTIFIERS]: {
category: "Embed",
type: "string",
array: true,
default: [{ value: [] }],
description:
"Tag or comment identifiers that prevent their subsequent template literals from being identified as embedded languages and thus from being formatted.",
deprecated: `Please use \`${EMBEDDED_LANGUAGE_COMMENTS}\` or \`${EMBEDDED_LANGUAGE_TAGS}\`.`,
},
[EMBEDDED_LANGUAGE_COMMENTS]: {
category: "Embed",
type: "string",
array: true,
default: [{ value: [fallbackIndicator] }],
description:
"Block comments that prevent their subsequent template literals from being identified as embedded languages and thus from being formatted.",
},
[EMBEDDED_LANGUAGE_TAGS]: {
category: "Embed",
type: "string",
array: true,
default: [{ value: [fallbackIndicator] }],
description:
"Tags that prevent their subsequent template literals from being identified as embedded languages and thus from being formatted.",
},
} as const satisfies SupportOptions;
type Options = typeof options;
declare module "../types.js" {
interface EmbeddedOptions extends Options {}
interface PluginEmbedOptions {
/**
* @deprecated Please use `embeddedNoopComments` or `embeddedNoopTags`.
*/
[EMBEDDED_LANGUAGE_IDENTIFIERS]?: EmbeddedCommentsOrTags;
[EMBEDDED_LANGUAGE_COMMENTS]?: EmbeddedCommentsOrTags;
[EMBEDDED_LANGUAGE_TAGS]?: EmbeddedCommentsOrTags;
}
}