prettier-plugin-embed 0.0.6 → 0.2.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.
Files changed (62) hide show
  1. package/README.bak +211 -0
  2. package/README.md +208 -3
  3. package/dist/embedded/css/embedded-language.d.ts +6 -0
  4. package/dist/embedded/css/embedder.d.ts +9 -0
  5. package/dist/embedded/css/index.d.ts +3 -0
  6. package/dist/embedded/css/options.d.ts +37 -0
  7. package/dist/embedded/es/embedded-language.d.ts +6 -0
  8. package/dist/embedded/es/embedder.d.ts +9 -0
  9. package/dist/embedded/es/index.d.ts +3 -0
  10. package/dist/embedded/es/options.d.ts +48 -0
  11. package/dist/embedded/glsl/embedded-language.d.ts +6 -0
  12. package/dist/embedded/glsl/embedder.d.ts +9 -0
  13. package/dist/embedded/glsl/index.d.ts +3 -0
  14. package/dist/embedded/glsl/options.d.ts +37 -0
  15. package/dist/embedded/html/embedded-language.d.ts +6 -0
  16. package/dist/embedded/html/embedder.d.ts +9 -0
  17. package/dist/embedded/html/index.d.ts +3 -0
  18. package/dist/embedded/html/options.d.ts +37 -0
  19. package/dist/embedded/index.d.ts +2 -1
  20. package/dist/embedded/markdown/embedded-language.d.ts +6 -0
  21. package/dist/embedded/markdown/embedder.d.ts +9 -0
  22. package/dist/embedded/markdown/index.d.ts +3 -0
  23. package/dist/embedded/markdown/options.d.ts +38 -0
  24. package/dist/embedded/noop/embedded-language.d.ts +6 -0
  25. package/dist/embedded/noop/index.d.ts +2 -2
  26. package/dist/embedded/noop/options.d.ts +24 -0
  27. package/dist/embedded/php/embedded-language.d.ts +6 -0
  28. package/dist/embedded/php/embedder.d.ts +2 -2
  29. package/dist/embedded/php/index.d.ts +2 -2
  30. package/dist/embedded/php/options.d.ts +40 -0
  31. package/dist/embedded/register.d.ts +13 -6
  32. package/dist/embedded/ruby/embedded-language.d.ts +6 -0
  33. package/dist/embedded/ruby/embedder.d.ts +9 -0
  34. package/dist/embedded/ruby/index.d.ts +3 -0
  35. package/dist/embedded/ruby/options.d.ts +60 -0
  36. package/dist/embedded/sql/embedded-language.d.ts +6 -0
  37. package/dist/embedded/sql/embedder.d.ts +2 -2
  38. package/dist/embedded/sql/index.d.ts +2 -2
  39. package/dist/embedded/sql/options.d.ts +38 -0
  40. package/dist/embedded/ts/embedded-language.d.ts +6 -0
  41. package/dist/embedded/ts/embedder.d.ts +9 -0
  42. package/dist/embedded/ts/index.d.ts +3 -0
  43. package/dist/embedded/ts/options.d.ts +48 -0
  44. package/dist/embedded/types.d.ts +10 -9
  45. package/dist/embedded/utils.d.ts +17 -4
  46. package/dist/embedded/xml/embedded-language.d.ts +6 -0
  47. package/dist/embedded/xml/embedder.d.ts +3 -3
  48. package/dist/embedded/xml/index.d.ts +2 -2
  49. package/dist/embedded/xml/options.d.ts +51 -0
  50. package/dist/embedded/xml/parser.d.ts +3 -5
  51. package/dist/index.js +1191 -338
  52. package/dist/options.d.ts +178 -5
  53. package/dist/types.d.ts +1 -1
  54. package/package.json +28 -17
  55. package/dist/embedded/noop/name.d.ts +0 -6
  56. package/dist/embedded/noop/option.d.ts +0 -11
  57. package/dist/embedded/php/name.d.ts +0 -6
  58. package/dist/embedded/php/option.d.ts +0 -20
  59. package/dist/embedded/sql/name.d.ts +0 -6
  60. package/dist/embedded/sql/option.d.ts +0 -21
  61. package/dist/embedded/xml/name.d.ts +0 -6
  62. package/dist/embedded/xml/option.d.ts +0 -21
@@ -0,0 +1,9 @@
1
+ import { type Options } from "prettier";
2
+ import type { Embedder } from "../../types.js";
3
+ import { embeddedLanguage } from "./embedded-language.js";
4
+ export declare const embedder: Embedder<Options>;
5
+ declare module "../types.js" {
6
+ interface EmbeddedEmbedders {
7
+ [embeddedLanguage]: typeof embedder;
8
+ }
9
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./embedded-language.js";
2
+ export * from "./embedder.js";
3
+ export * from "./options.js";
@@ -0,0 +1,37 @@
1
+ import { type AutocompleteStringList, type StringListToInterfaceKey } from "../utils.js";
2
+ /** References
3
+ * - https://github.com/microsoft/vscode/blob/de0121cf0e05d1673903551b6dbb2871556bfae9/extensions/html/package.json#L18
4
+ * - https://github.com/github-linguist/linguist/blob/7ca3799b8b5f1acde1dd7a8dfb7ae849d3dfb4cd/lib/linguist/languages.yml#L2684
5
+ */
6
+ declare const DEFAULT_IDENTIFIERS: readonly ["html", "htm", "shtml", "xhtml", "xht", "mdoc", "jsp", "asp", "aspx", "jshtm", "volt", "rhtml"];
7
+ type Identifiers = AutocompleteStringList<typeof DEFAULT_IDENTIFIERS>;
8
+ type DefaultIdentifiersHolder = StringListToInterfaceKey<typeof DEFAULT_IDENTIFIERS>;
9
+ declare const embeddedLanguageIdentifiers: "embeddedHtmlIdentifiers";
10
+ export interface PrettierPluginDepsOptions {
11
+ }
12
+ export declare const options: {
13
+ embeddedHtmlIdentifiers: {
14
+ category: "Global";
15
+ type: "string";
16
+ array: true;
17
+ default: {
18
+ value: ("html" | "htm" | "shtml" | "xhtml" | "xht" | "mdoc" | "jsp" | "asp" | "aspx" | "jshtm" | "volt" | "rhtml")[];
19
+ }[];
20
+ description: string;
21
+ };
22
+ };
23
+ type Options = typeof options;
24
+ declare module "../types.js" {
25
+ interface EmbeddedOptions extends Options {
26
+ }
27
+ interface EmbeddedDefaultIdentifiersHolder extends DefaultIdentifiersHolder {
28
+ }
29
+ interface PrettierPluginEmbedOptions {
30
+ [embeddedLanguageIdentifiers]?: Identifiers;
31
+ }
32
+ }
33
+ declare module "prettier" {
34
+ interface Options extends PrettierPluginDepsOptions {
35
+ }
36
+ }
37
+ export {};
@@ -1,2 +1,3 @@
1
1
  export * from "./register.js";
2
- export type { EmbeddedName, EmbeddedParsers, EmbeddedEmbedders, EmbeddedOptions, PrettierPluginEmbedOptions, } from "./types.js";
2
+ export type { EmbeddedLanguage, EmbeddedParsers, EmbeddedEmbedders, EmbeddedOptions, EmbeddedDefaultIdentifier, PrettierPluginEmbedOptions, } from "./types.js";
3
+ export { makeIdentifiersOptionName as makeIdentifiersName, type AutocompleteStringList, } from "./utils.js";
@@ -0,0 +1,6 @@
1
+ export declare const embeddedLanguage = "embeddedMarkdown";
2
+ declare module "../types.js" {
3
+ interface EmbeddedLanguagesHolder {
4
+ [embeddedLanguage]: void;
5
+ }
6
+ }
@@ -0,0 +1,9 @@
1
+ import { type Options } from "prettier";
2
+ import type { Embedder } from "../../types.js";
3
+ import { embeddedLanguage } from "./embedded-language.js";
4
+ export declare const embedder: Embedder<Options>;
5
+ declare module "../types.js" {
6
+ interface EmbeddedEmbedders {
7
+ [embeddedLanguage]: typeof embedder;
8
+ }
9
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./embedded-language.js";
2
+ export * from "./embedder.js";
3
+ export * from "./options.js";
@@ -0,0 +1,38 @@
1
+ import { type AutocompleteStringList, type StringListToInterfaceKey } from "../utils.js";
2
+ /** References:
3
+ * - https://github.com/microsoft/vscode/blob/de0121cf0e05d1673903551b6dbb2871556bfae9/extensions/markdown-basics/package.json#L19
4
+ * - https://github.com/github-linguist/linguist/blob/7ca3799b8b5f1acde1dd7a8dfb7ae849d3dfb4cd/lib/linguist/languages.yml#L4060
5
+ */
6
+ declare const DEFAULT_IDENTIFIERS: readonly ["md", "livemd", "markdown", "mdown", "mdwn", "mkd", "mkdn", "mkdown", "ronn", "scd", "workbook"];
7
+ type Identifiers = AutocompleteStringList<typeof DEFAULT_IDENTIFIERS>;
8
+ type DefaultIdentifiersHolder = StringListToInterfaceKey<typeof DEFAULT_IDENTIFIERS>;
9
+ declare const embeddedLanguageIdentifiersOptionName: "embeddedMarkdownIdentifiers";
10
+ export interface PrettierPluginDepsOptions {
11
+ __inJsTemplate?: boolean;
12
+ }
13
+ export declare const options: {
14
+ embeddedMarkdownIdentifiers: {
15
+ category: "Global";
16
+ type: "string";
17
+ array: true;
18
+ default: {
19
+ value: ("md" | "livemd" | "markdown" | "mdown" | "mdwn" | "mkd" | "mkdn" | "mkdown" | "ronn" | "scd" | "workbook")[];
20
+ }[];
21
+ description: string;
22
+ };
23
+ };
24
+ type Options = typeof options;
25
+ declare module "../types.js" {
26
+ interface EmbeddedOptions extends Options {
27
+ }
28
+ interface EmbeddedDefaultIdentifiersHolder extends DefaultIdentifiersHolder {
29
+ }
30
+ interface PrettierPluginEmbedOptions {
31
+ [embeddedLanguageIdentifiersOptionName]?: Identifiers;
32
+ }
33
+ }
34
+ declare module "prettier" {
35
+ interface Options extends PrettierPluginDepsOptions {
36
+ }
37
+ }
38
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare const embeddedLanguage = "embeddedNoop";
2
+ declare module "../types.js" {
3
+ interface EmbeddedLanguagesHolder {
4
+ [embeddedLanguage]: void;
5
+ }
6
+ }
@@ -1,2 +1,2 @@
1
- export * from "./name.js";
2
- export * from "./option.js";
1
+ export * from "./embedded-language.js";
2
+ export * from "./options.js";
@@ -0,0 +1,24 @@
1
+ import { type AutocompleteStringList } from "../utils.js";
2
+ import type { EmbeddedDefaultIdentifier } from "../types.js";
3
+ type EmbeddedIdentifiers = AutocompleteStringList<EmbeddedDefaultIdentifier[]>;
4
+ declare const embeddedLanguageIdentifiers: "embeddedNoopIdentifiers";
5
+ export declare const options: {
6
+ embeddedNoopIdentifiers: {
7
+ category: "Global";
8
+ type: "string";
9
+ array: true;
10
+ default: {
11
+ value: never[];
12
+ }[];
13
+ description: string;
14
+ };
15
+ };
16
+ type Options = typeof options;
17
+ declare module "../types.js" {
18
+ interface EmbeddedOptions extends Options {
19
+ }
20
+ interface PrettierPluginEmbedOptions {
21
+ [embeddedLanguageIdentifiers]?: EmbeddedIdentifiers;
22
+ }
23
+ }
24
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare const embeddedLanguage = "embeddedPhp";
2
+ declare module "../types.js" {
3
+ interface EmbeddedLanguagesHolder {
4
+ [embeddedLanguage]: void;
5
+ }
6
+ }
@@ -1,9 +1,9 @@
1
1
  import type { Options } from "prettier";
2
2
  import type { Embedder } from "../../types.js";
3
- import { name } from "./name.js";
3
+ import { embeddedLanguage } from "./embedded-language.js";
4
4
  export declare const embedder: Embedder<Options>;
5
5
  declare module "../types.js" {
6
6
  interface EmbeddedEmbedders {
7
- [name]: typeof embedder;
7
+ [embeddedLanguage]: typeof embedder;
8
8
  }
9
9
  }
@@ -1,3 +1,3 @@
1
- export * from "./name.js";
1
+ export * from "./embedded-language.js";
2
2
  export * from "./embedder.js";
3
- export * from "./option.js";
3
+ export * from "./options.js";
@@ -0,0 +1,40 @@
1
+ import { type AutocompleteStringList, type StringListToInterfaceKey } from "../utils.js";
2
+ /** References
3
+ * - https://github.com/microsoft/vscode/blob/de0121cf0e05d1673903551b6dbb2871556bfae9/extensions/php/package.json#L15
4
+ * - https://github.com/github-linguist/linguist/blob/7ca3799b8b5f1acde1dd7a8dfb7ae849d3dfb4cd/lib/linguist/languages.yml#L4971
5
+ */
6
+ declare const DEFAULT_IDENTIFIERS: readonly ["php", "php5", "phtml", "ctp"];
7
+ type Identifiers = AutocompleteStringList<typeof DEFAULT_IDENTIFIERS>;
8
+ type DefaultIdentifiersHolder = StringListToInterfaceKey<typeof DEFAULT_IDENTIFIERS>;
9
+ declare const embeddedLanguageIdentifiers: "embeddedPhpIdentifiers";
10
+ export interface PrettierPluginDepsOptions {
11
+ phpVersion?: "5.0" | "5.1" | "5.2" | "5.3" | "5.4" | "5.5" | "5.6" | "7.0" | "7.1" | "7.2" | "7.3" | "7.4" | "8.0" | "8.1" | "8.2";
12
+ trailingCommaPHP?: boolean;
13
+ braceStyle?: "psr-2" | "per-cs" | "1tbs";
14
+ }
15
+ export declare const options: {
16
+ embeddedPhpIdentifiers: {
17
+ category: "Global";
18
+ type: "string";
19
+ array: true;
20
+ default: {
21
+ value: ("php" | "php5" | "phtml" | "ctp")[];
22
+ }[];
23
+ description: string;
24
+ };
25
+ };
26
+ type Options = typeof options;
27
+ declare module "../types.js" {
28
+ interface EmbeddedOptions extends Options {
29
+ }
30
+ interface EmbeddedDefaultIdentifiersHolder extends DefaultIdentifiersHolder {
31
+ }
32
+ interface PrettierPluginEmbedOptions {
33
+ [embeddedLanguageIdentifiers]?: Identifiers;
34
+ }
35
+ }
36
+ declare module "prettier" {
37
+ interface Options extends PrettierPluginDepsOptions {
38
+ }
39
+ }
40
+ export {};
@@ -1,9 +1,16 @@
1
- import type { EmbeddedEmbedders, EmbeddedName, EmbeddedParsers, EmbeddedOptions } from "./types.js";
2
- export declare const embeddedNames: EmbeddedName[];
1
+ import type { EmbeddedEmbedders, EmbeddedLanguage, EmbeddedParsers, EmbeddedOptions } from "./types.js";
2
+ export declare const embeddedLanguages: EmbeddedLanguage[];
3
3
  export declare const embeddedParsers: EmbeddedParsers;
4
4
  export declare const embeddedEmbedders: EmbeddedEmbedders;
5
5
  export declare const embeddedOptions: EmbeddedOptions;
6
- import * as __glob__0_0 from "./noop/index.js";
7
- import * as __glob__0_1 from "./php/index.js";
8
- import * as __glob__0_2 from "./sql/index.js";
9
- import * as __glob__0_3 from "./xml/index.js";
6
+ import * as __glob__0_0 from "./css/index.js";
7
+ import * as __glob__0_1 from "./es/index.js";
8
+ import * as __glob__0_2 from "./glsl/index.js";
9
+ import * as __glob__0_3 from "./html/index.js";
10
+ import * as __glob__0_4 from "./markdown/index.js";
11
+ import * as __glob__0_5 from "./noop/index.js";
12
+ import * as __glob__0_6 from "./php/index.js";
13
+ import * as __glob__0_7 from "./ruby/index.js";
14
+ import * as __glob__0_8 from "./sql/index.js";
15
+ import * as __glob__0_9 from "./ts/index.js";
16
+ import * as __glob__0_10 from "./xml/index.js";
@@ -0,0 +1,6 @@
1
+ export declare const embeddedLanguage = "embeddedRuby";
2
+ declare module "../types.js" {
3
+ interface EmbeddedLanguagesHolder {
4
+ [embeddedLanguage]: void;
5
+ }
6
+ }
@@ -0,0 +1,9 @@
1
+ import type { Options } from "prettier";
2
+ import type { Embedder } from "../../types.js";
3
+ import { embeddedLanguage } from "./embedded-language.js";
4
+ export declare const embedder: Embedder<Options>;
5
+ declare module "../types.js" {
6
+ interface EmbeddedEmbedders {
7
+ [embeddedLanguage]: typeof embedder;
8
+ }
9
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./embedded-language.js";
2
+ export * from "./embedder.js";
3
+ export * from "./options.js";
@@ -0,0 +1,60 @@
1
+ import { type AutocompleteStringList, type StringListToInterfaceKey } from "../utils.js";
2
+ declare const RUBY_PARSERS: readonly ["ruby", "rbs", "haml"];
3
+ export type RubyParser = (typeof RUBY_PARSERS)[number];
4
+ /** References
5
+ * - https://github.com/prettier/plugin-ruby/blob/0a2100ca3b8b53d9491270ece64806d95da181a6/src/plugin.js#L194
6
+ */
7
+ export declare const RUBY_PARSER_IDENTIFIERS: readonly ["ruby", "arb", "axlsx", "builder", "eye", "fcgi", "gemfile", "gemspec", "god", "jb", "jbuilder", "mspec", "opal", "pluginspec", "podspec", "rabl", "rake", "rb", "rbi", "rbuild", "rbw", "rbx", "ru", "thor", "watchr"];
8
+ export type RubyParserIdentifier = (typeof RUBY_PARSER_IDENTIFIERS)[number];
9
+ export declare const RBS_PARSER_IDENTIFIERS: readonly ["rbs"];
10
+ export type RbsParserIdentifier = (typeof RBS_PARSER_IDENTIFIERS)[number];
11
+ export declare const HAML_PARSER_IDENTIFIERS: readonly ["haml"];
12
+ export type HamlParserIdentifier = (typeof HAML_PARSER_IDENTIFIERS)[number];
13
+ declare const DEFAULT_IDENTIFIERS: readonly ["ruby", "arb", "axlsx", "builder", "eye", "fcgi", "gemfile", "gemspec", "god", "jb", "jbuilder", "mspec", "opal", "pluginspec", "podspec", "rabl", "rake", "rb", "rbi", "rbuild", "rbw", "rbx", "ru", "thor", "watchr", "rbs", "haml"];
14
+ type Identifiers = AutocompleteStringList<typeof DEFAULT_IDENTIFIERS>;
15
+ type DefaultIdentifiersHolder = StringListToInterfaceKey<typeof DEFAULT_IDENTIFIERS>;
16
+ declare const EMBEDDED_LANGUAGE_PARSER = "embeddedRubyParser";
17
+ declare const embeddedLanguageIdentifiers: "embeddedRubyIdentifiers";
18
+ export interface PrettierPluginDepsOptions {
19
+ rubyPlugins?: AutocompleteStringList<[
20
+ "plugin/single_quotes",
21
+ "plugin/trailing_comma",
22
+ "plugin/disable_auto_ternary"
23
+ ]>;
24
+ rubySingleQuote?: boolean;
25
+ rubyExecutablePath?: string;
26
+ }
27
+ export declare const options: {
28
+ embeddedRubyIdentifiers: {
29
+ category: "Global";
30
+ type: "string";
31
+ array: true;
32
+ default: {
33
+ value: ("ruby" | "rbs" | "haml" | "arb" | "axlsx" | "builder" | "eye" | "fcgi" | "gemfile" | "gemspec" | "god" | "jb" | "jbuilder" | "mspec" | "opal" | "pluginspec" | "podspec" | "rabl" | "rake" | "rb" | "rbi" | "rbuild" | "rbw" | "rbx" | "ru" | "thor" | "watchr")[];
34
+ }[];
35
+ description: string;
36
+ };
37
+ embeddedRubyParser: {
38
+ category: "Global";
39
+ type: "string";
40
+ array: false;
41
+ default: undefined;
42
+ description: string;
43
+ };
44
+ };
45
+ type Options = typeof options;
46
+ declare module "../types.js" {
47
+ interface EmbeddedOptions extends Options {
48
+ }
49
+ interface EmbeddedDefaultIdentifiersHolder extends DefaultIdentifiersHolder {
50
+ }
51
+ interface PrettierPluginEmbedOptions {
52
+ [embeddedLanguageIdentifiers]?: Identifiers;
53
+ [EMBEDDED_LANGUAGE_PARSER]?: RubyParser;
54
+ }
55
+ }
56
+ declare module "prettier" {
57
+ interface Options extends PrettierPluginDepsOptions {
58
+ }
59
+ }
60
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare const embeddedLanguage = "embeddedSql";
2
+ declare module "../types.js" {
3
+ interface EmbeddedLanguagesHolder {
4
+ [embeddedLanguage]: void;
5
+ }
6
+ }
@@ -1,9 +1,9 @@
1
1
  import type { Options } from "prettier";
2
2
  import type { Embedder } from "../../types.js";
3
- import { name } from "./name.js";
3
+ import { embeddedLanguage } from "./embedded-language.js";
4
4
  export declare const embedder: Embedder<Options>;
5
5
  declare module "../types.js" {
6
6
  interface EmbeddedEmbedders {
7
- [name]: typeof embedder;
7
+ [embeddedLanguage]: typeof embedder;
8
8
  }
9
9
  }
@@ -1,3 +1,3 @@
1
- export * from "./name.js";
1
+ export * from "./embedded-language.js";
2
2
  export * from "./embedder.js";
3
- export * from "./option.js";
3
+ export * from "./options.js";
@@ -0,0 +1,38 @@
1
+ import type { SqlBaseOptions as PrettierPluginDepsOptions } from "prettier-plugin-sql";
2
+ import { type AutocompleteStringList, type StringListToInterfaceKey } from "../utils.js";
3
+ /** References
4
+ * - https://github.com/un-ts/prettier/blob/214a5ff53c2485aabc6e78e1c346b69b712bee42/packages/sql/src/index.ts
5
+ */
6
+ export declare const SQL_FORMATTER_LANGUAGES: readonly ["sql", "bigquery", "hive", "mariadb", "mysql", "postgresql", "db2", "plsql", "n1ql", "redshift", "singlestoredb", "spark", "sqlite", "transactsql", "tsql", "trino"];
7
+ export declare const NODE_SQL_PARSER_DATABASES: readonly ["bigquery", "db2", "hive", "mariadb", "mysql", "postgresql", "transactsql", "flinksql"];
8
+ type Identifiers = AutocompleteStringList<typeof SQL_FORMATTER_LANGUAGES | typeof NODE_SQL_PARSER_DATABASES>;
9
+ type DefaultIdentifiersHolder = StringListToInterfaceKey<typeof SQL_FORMATTER_LANGUAGES | typeof NODE_SQL_PARSER_DATABASES>;
10
+ export type SqlFormatterLanguage = (typeof SQL_FORMATTER_LANGUAGES)[number];
11
+ export type NodeSqlParserDataBase = (typeof NODE_SQL_PARSER_DATABASES)[number];
12
+ declare const embeddedLanguageIdentifiers: "embeddedSqlIdentifiers";
13
+ export { PrettierPluginDepsOptions };
14
+ export declare const options: {
15
+ embeddedSqlIdentifiers: {
16
+ category: "Global";
17
+ type: "string";
18
+ array: true;
19
+ default: {
20
+ value: ("sql" | "bigquery" | "hive" | "mariadb" | "mysql" | "postgresql" | "db2" | "plsql" | "n1ql" | "redshift" | "singlestoredb" | "spark" | "sqlite" | "transactsql" | "tsql" | "trino")[];
21
+ }[];
22
+ description: string;
23
+ };
24
+ };
25
+ type Options = typeof options;
26
+ declare module "../types.js" {
27
+ interface EmbeddedOptions extends Options {
28
+ }
29
+ interface EmbeddedDefaultIdentifiersHolder extends DefaultIdentifiersHolder {
30
+ }
31
+ interface PrettierPluginEmbedOptions {
32
+ [embeddedLanguageIdentifiers]?: Identifiers;
33
+ }
34
+ }
35
+ declare module "prettier" {
36
+ interface Options extends PrettierPluginDepsOptions {
37
+ }
38
+ }
@@ -0,0 +1,6 @@
1
+ export declare const embeddedLanguage = "embeddedTs";
2
+ declare module "../types.js" {
3
+ interface EmbeddedLanguagesHolder {
4
+ [embeddedLanguage]: void;
5
+ }
6
+ }
@@ -0,0 +1,9 @@
1
+ import { type Options } from "prettier";
2
+ import type { Embedder } from "../../types.js";
3
+ import { embeddedLanguage } from "./embedded-language.js";
4
+ export declare const embedder: Embedder<Options>;
5
+ declare module "../types.js" {
6
+ interface EmbeddedEmbedders {
7
+ [embeddedLanguage]: typeof embedder;
8
+ }
9
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./embedded-language.js";
2
+ export * from "./embedder.js";
3
+ export * from "./options.js";
@@ -0,0 +1,48 @@
1
+ import { type AutocompleteStringList, type StringListToInterfaceKey } from "../utils.js";
2
+ /** References:
3
+ * - https://github.com/microsoft/vscode/blob/de0121cf0e05d1673903551b6dbb2871556bfae9/extensions/typescript-basics/package.json#L24
4
+ * - https://github.com/github-linguist/linguist/blob/7ca3799b8b5f1acde1dd7a8dfb7ae849d3dfb4cd/lib/linguist/languages.yml#L7158
5
+ */
6
+ declare const DEFAULT_IDENTIFIERS: readonly ["ts", "cts", "mts", "typescript"];
7
+ type Identifiers = AutocompleteStringList<typeof DEFAULT_IDENTIFIERS>;
8
+ type DefaultIdentifiersHolder = StringListToInterfaceKey<typeof DEFAULT_IDENTIFIERS>;
9
+ declare const DEFAULT_TS_PARSERS: readonly ["typescript", "babel-ts"];
10
+ type TsParser = (typeof DEFAULT_TS_PARSERS)[number];
11
+ declare const EMBEDDED_LANGUAGE_PARSER = "embeddedTsParser";
12
+ declare const embeddedLanguageIdentifiers: "embeddedTsIdentifiers";
13
+ export interface PrettierPluginDepsOptions {
14
+ }
15
+ export declare const options: {
16
+ embeddedTsIdentifiers: {
17
+ category: "Global";
18
+ type: "string";
19
+ array: true;
20
+ default: {
21
+ value: ("ts" | "cts" | "mts" | "typescript")[];
22
+ }[];
23
+ description: string;
24
+ };
25
+ embeddedTsParser: {
26
+ category: "Global";
27
+ type: "string";
28
+ array: false;
29
+ default: string;
30
+ description: string;
31
+ };
32
+ };
33
+ type Options = typeof options;
34
+ declare module "../types.js" {
35
+ interface EmbeddedOptions extends Options {
36
+ }
37
+ interface EmbeddedDefaultIdentifiersHolder extends DefaultIdentifiersHolder {
38
+ }
39
+ interface PrettierPluginEmbedOptions {
40
+ [embeddedLanguageIdentifiers]?: Identifiers;
41
+ [EMBEDDED_LANGUAGE_PARSER]?: TsParser;
42
+ }
43
+ }
44
+ declare module "prettier" {
45
+ interface Options extends PrettierPluginDepsOptions {
46
+ }
47
+ }
48
+ export {};
@@ -1,18 +1,19 @@
1
1
  import type { Parser, SupportOption, Options } from "prettier";
2
2
  import type { Embedder } from "../types.js";
3
- type EmbeddedNameConvention = `embedded${string}`;
4
- export interface EmbeddedParsers {
5
- [name: EmbeddedNameConvention]: Parser | undefined;
3
+ import type { Satisfies } from "./utils.js";
4
+ type EmbeddedLanguageNamingConvention = `embedded${Capitalize<string>}`;
5
+ export interface EmbeddedParsers extends Record<EmbeddedLanguageNamingConvention, Parser | undefined> {
6
6
  }
7
- export interface EmbeddedEmbedders {
8
- [name: EmbeddedNameConvention]: Embedder<Options> | undefined;
7
+ export interface EmbeddedEmbedders extends Record<EmbeddedLanguageNamingConvention, Embedder<Options> | undefined> {
9
8
  }
10
- export interface EmbeddedOptions {
11
- [name: EmbeddedNameConvention]: SupportOption | undefined;
9
+ export interface EmbeddedOptions extends Record<EmbeddedLanguageNamingConvention, SupportOption | undefined> {
12
10
  }
13
- export interface EmbeddedNamesHolder {
11
+ export interface EmbeddedLanguagesHolder {
14
12
  }
15
- export type EmbeddedName = keyof EmbeddedNamesHolder;
13
+ export type EmbeddedLanguage = Satisfies<EmbeddedLanguageNamingConvention, keyof EmbeddedLanguagesHolder>;
14
+ export interface EmbeddedDefaultIdentifiersHolder {
15
+ }
16
+ export type EmbeddedDefaultIdentifier = keyof EmbeddedDefaultIdentifiersHolder;
16
17
  export interface PrettierPluginEmbedOptions {
17
18
  }
18
19
  declare module "prettier" {
@@ -1,11 +1,24 @@
1
1
  import type { Expression, Comment, TemplateLiteral } from "estree";
2
- import type { AstPath, Options } from "prettier";
2
+ import type { AstPath, Options, Doc } from "prettier";
3
3
  import { builders } from "prettier/doc";
4
4
  import type { InternalPrintFun } from "../types.js";
5
5
  export declare function printTemplateExpression(path: AstPath<Expression & {
6
6
  comments?: Comment[];
7
7
  }>, print: InternalPrintFun): builders.Doc[];
8
8
  export declare function printTemplateExpressions(path: AstPath<TemplateLiteral>, print: InternalPrintFun): builders.Doc[][];
9
- export declare function throwIfPluginIsNotFound(pluginName: string, options: Options, lang: string): void;
10
- export declare function insertEmbeddedLanguageName(names: string[], name: string, headName: string): void;
11
- export declare function uuidV4(): string;
9
+ export declare function simpleRehydrateDoc(doc: Doc, placeholderRegex: RegExp, expressionDocs: Doc[]): builders.Doc[] | builders.DocCommand;
10
+ export declare function throwIfPluginIsNotFound(pluginName: string, options: Options, identifier: string): void;
11
+ export declare function insertEmbeddedLanguage(embeddedLanguages: string[], embeddedLanguage: string, firstEmbeddedLanguage: string): void;
12
+ export declare const randomUUID: (uuidLength?: number | undefined) => string;
13
+ export declare function preparePlaceholder(leading?: string, trailing?: string): {
14
+ createPlaceholder: (index: number) => string;
15
+ placeholderRegex: RegExp;
16
+ };
17
+ export declare function escapeRegExp(text: string): string;
18
+ export declare function makeIdentifiersOptionName<T extends string>(language: T): `${T}Identifiers`;
19
+ export declare function makeParserOptionName<T extends string>(language: T): `${T}Parser`;
20
+ export type AutocompleteStringList<T extends readonly string[]> = (T[number][] & string[]) | string[];
21
+ export type StringListToInterfaceKey<T extends readonly string[]> = {
22
+ [key in T[number]]: void;
23
+ };
24
+ export type Satisfies<U, T extends U> = T;
@@ -0,0 +1,6 @@
1
+ export declare const embeddedLanguage = "embeddedXml";
2
+ declare module "../types.js" {
3
+ interface EmbeddedLanguagesHolder {
4
+ [embeddedLanguage]: void;
5
+ }
6
+ }
@@ -1,9 +1,9 @@
1
- import type { Options } from "prettier";
1
+ import { type Options } from "prettier";
2
2
  import type { Embedder } from "../../types.js";
3
- import { name } from "./name.js";
3
+ import { embeddedLanguage } from "./embedded-language.js";
4
4
  export declare const embedder: Embedder<Options>;
5
5
  declare module "../types.js" {
6
6
  interface EmbeddedEmbedders {
7
- [name]: typeof embedder;
7
+ [embeddedLanguage]: typeof embedder;
8
8
  }
9
9
  }
@@ -1,4 +1,4 @@
1
- export * from "./name.js";
1
+ export * from "./embedded-language.js";
2
2
  export * from "./parser.js";
3
3
  export * from "./embedder.js";
4
- export * from "./option.js";
4
+ export * from "./options.js";
@@ -0,0 +1,51 @@
1
+ import { type AutocompleteStringList, type StringListToInterfaceKey } from "../utils.js";
2
+ /** References:
3
+ * - https://github.com/microsoft/vscode/blob/de0121cf0e05d1673903551b6dbb2871556bfae9/extensions/xml/package.json#L15
4
+ * - https://github.com/github-linguist/linguist/blob/7ca3799b8b5f1acde1dd7a8dfb7ae849d3dfb4cd/lib/linguist/languages.yml#L7712
5
+ */
6
+ declare const DEFAULT_IDENTIFIERS: readonly ["xml", "xsd", "ascx", "atom", "axml", "axaml", "bpmn", "cpt", "csl", "csproj", "dita", "ditamap", "dtd", "ent", "mod", "dtml", "fsproj", "fxml", "iml", "isml", "jmx", "launch", "menu", "nuspec", "opml", "owl", "proj", "props", "pt", "publishsettings", "pubxml", "rbxlx", "rbxmx", "rdf", "rng", "rss", "shproj", "storyboard", "svg", "targets", "tld", "tmx", "vbproj", "vcxproj", "wsdl", "wxi", "wxl", "wxs", "xaml", "xbl", "xib", "xlf", "xliff", "xpdl", "xul", "xoml"];
7
+ type Identifiers = AutocompleteStringList<typeof DEFAULT_IDENTIFIERS>;
8
+ type DefaultIdentifiersHolder = StringListToInterfaceKey<typeof DEFAULT_IDENTIFIERS>;
9
+ declare const embeddedLanguageIdentifiers: "embeddedXmlIdentifiers";
10
+ export interface PrettierPluginDepsOptions {
11
+ xmlSelfClosingSpace?: boolean;
12
+ xmlWhitespaceSensitivity?: "strict" | "preserve" | "ignore";
13
+ xmlSortAttributesByKey?: boolean;
14
+ xmlQuoteAttributes?: "preserve" | "single" | "double";
15
+ }
16
+ export declare const options: {
17
+ embeddedXmlIdentifiers: {
18
+ category: "Global";
19
+ type: "string";
20
+ array: true;
21
+ default: {
22
+ value: ("xml" | "xsd" | "ascx" | "atom" | "axml" | "axaml" | "bpmn" | "cpt" | "csl" | "csproj" | "dita" | "ditamap" | "dtd" | "ent" | "mod" | "dtml" | "fsproj" | "fxml" | "iml" | "isml" | "jmx" | "launch" | "menu" | "nuspec" | "opml" | "owl" | "proj" | "props" | "pt" | "publishsettings" | "pubxml" | "rbxlx" | "rbxmx" | "rdf" | "rng" | "rss" | "shproj" | "storyboard" | "svg" | "targets" | "tld" | "tmx" | "vbproj" | "vcxproj" | "wsdl" | "wxi" | "wxl" | "wxs" | "xaml" | "xbl" | "xib" | "xlf" | "xliff" | "xpdl" | "xul" | "xoml")[];
23
+ }[];
24
+ description: string;
25
+ };
26
+ /** @internal */
27
+ __embeddedXmlFragmentRecoverIndex: {
28
+ category: "Global";
29
+ type: "int";
30
+ array: true;
31
+ default: {
32
+ value: never[];
33
+ }[];
34
+ description: string;
35
+ };
36
+ };
37
+ type Options = typeof options;
38
+ declare module "../types.js" {
39
+ interface EmbeddedOptions extends Options {
40
+ }
41
+ interface EmbeddedDefaultIdentifiersHolder extends DefaultIdentifiersHolder {
42
+ }
43
+ interface PrettierPluginEmbedOptions {
44
+ [embeddedLanguageIdentifiers]?: Identifiers;
45
+ }
46
+ }
47
+ declare module "prettier" {
48
+ interface Options extends PrettierPluginDepsOptions {
49
+ }
50
+ }
51
+ export {};