kopytko-formatter 1.0.9 → 1.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.
Files changed (129) hide show
  1. package/dist/src/config.d.ts +4 -0
  2. package/dist/src/config.d.ts.map +1 -1
  3. package/dist/src/config.js +3 -0
  4. package/dist/src/config.js.map +1 -1
  5. package/dist/src/cst-passes/aaThreshold.d.ts +4 -0
  6. package/dist/src/cst-passes/aaThreshold.d.ts.map +1 -0
  7. package/dist/src/cst-passes/aaThreshold.js +11 -0
  8. package/dist/src/cst-passes/aaThreshold.js.map +1 -0
  9. package/dist/src/cst-passes/alignAssignments.d.ts +4 -0
  10. package/dist/src/cst-passes/alignAssignments.d.ts.map +1 -0
  11. package/dist/src/cst-passes/alignAssignments.js +11 -0
  12. package/dist/src/cst-passes/alignAssignments.js.map +1 -0
  13. package/dist/src/cst-passes/blankLines.d.ts +19 -0
  14. package/dist/src/cst-passes/blankLines.d.ts.map +1 -0
  15. package/dist/src/cst-passes/blankLines.js +40 -0
  16. package/dist/src/cst-passes/blankLines.js.map +1 -0
  17. package/dist/src/cst-passes/casingPass.d.ts +12 -0
  18. package/dist/src/cst-passes/casingPass.d.ts.map +1 -0
  19. package/dist/src/cst-passes/casingPass.js +214 -0
  20. package/dist/src/cst-passes/casingPass.js.map +1 -0
  21. package/dist/src/cst-passes/commentNormalization.d.ts +24 -0
  22. package/dist/src/cst-passes/commentNormalization.d.ts.map +1 -0
  23. package/dist/src/cst-passes/commentNormalization.js +76 -0
  24. package/dist/src/cst-passes/commentNormalization.js.map +1 -0
  25. package/dist/src/cst-passes/commentWidth.d.ts +4 -0
  26. package/dist/src/cst-passes/commentWidth.d.ts.map +1 -0
  27. package/dist/src/cst-passes/commentWidth.js +50 -0
  28. package/dist/src/cst-passes/commentWidth.js.map +1 -0
  29. package/dist/src/cst-passes/elseOnNewLine.d.ts +4 -0
  30. package/dist/src/cst-passes/elseOnNewLine.d.ts.map +1 -0
  31. package/dist/src/cst-passes/elseOnNewLine.js +11 -0
  32. package/dist/src/cst-passes/elseOnNewLine.js.map +1 -0
  33. package/dist/src/cst-passes/emptyLinesBetweenMethods.d.ts +4 -0
  34. package/dist/src/cst-passes/emptyLinesBetweenMethods.d.ts.map +1 -0
  35. package/dist/src/cst-passes/emptyLinesBetweenMethods.js +11 -0
  36. package/dist/src/cst-passes/emptyLinesBetweenMethods.js.map +1 -0
  37. package/dist/src/cst-passes/endKeywordStyle.d.ts +21 -0
  38. package/dist/src/cst-passes/endKeywordStyle.d.ts.map +1 -0
  39. package/dist/src/cst-passes/endKeywordStyle.js +95 -0
  40. package/dist/src/cst-passes/endKeywordStyle.js.map +1 -0
  41. package/dist/src/cst-passes/fieldAccessConsistency.d.ts +4 -0
  42. package/dist/src/cst-passes/fieldAccessConsistency.d.ts.map +1 -0
  43. package/dist/src/cst-passes/fieldAccessConsistency.js +11 -0
  44. package/dist/src/cst-passes/fieldAccessConsistency.js.map +1 -0
  45. package/dist/src/cst-passes/functionVsSub.d.ts +13 -0
  46. package/dist/src/cst-passes/functionVsSub.d.ts.map +1 -0
  47. package/dist/src/cst-passes/functionVsSub.js +112 -0
  48. package/dist/src/cst-passes/functionVsSub.js.map +1 -0
  49. package/dist/src/cst-passes/importSorting.d.ts +25 -0
  50. package/dist/src/cst-passes/importSorting.d.ts.map +1 -0
  51. package/dist/src/cst-passes/importSorting.js +126 -0
  52. package/dist/src/cst-passes/importSorting.js.map +1 -0
  53. package/dist/src/cst-passes/indentation.d.ts +21 -0
  54. package/dist/src/cst-passes/indentation.d.ts.map +1 -0
  55. package/dist/src/cst-passes/indentation.js +115 -0
  56. package/dist/src/cst-passes/indentation.js.map +1 -0
  57. package/dist/src/cst-passes/index.d.ts +45 -0
  58. package/dist/src/cst-passes/index.d.ts.map +1 -0
  59. package/dist/src/cst-passes/index.js +77 -0
  60. package/dist/src/cst-passes/index.js.map +1 -0
  61. package/dist/src/cst-passes/infrastructure.d.ts +39 -0
  62. package/dist/src/cst-passes/infrastructure.d.ts.map +1 -0
  63. package/dist/src/cst-passes/infrastructure.js +63 -0
  64. package/dist/src/cst-passes/infrastructure.js.map +1 -0
  65. package/dist/src/cst-passes/lineCommentPosition.d.ts +4 -0
  66. package/dist/src/cst-passes/lineCommentPosition.d.ts.map +1 -0
  67. package/dist/src/cst-passes/lineCommentPosition.js +42 -0
  68. package/dist/src/cst-passes/lineCommentPosition.js.map +1 -0
  69. package/dist/src/cst-passes/mPrefixStyle.d.ts +4 -0
  70. package/dist/src/cst-passes/mPrefixStyle.d.ts.map +1 -0
  71. package/dist/src/cst-passes/mPrefixStyle.js +11 -0
  72. package/dist/src/cst-passes/mPrefixStyle.js.map +1 -0
  73. package/dist/src/cst-passes/observeFieldStyle.d.ts +6 -0
  74. package/dist/src/cst-passes/observeFieldStyle.d.ts.map +1 -0
  75. package/dist/src/cst-passes/observeFieldStyle.js +21 -0
  76. package/dist/src/cst-passes/observeFieldStyle.js.map +1 -0
  77. package/dist/src/cst-passes/paramAlignment.d.ts +4 -0
  78. package/dist/src/cst-passes/paramAlignment.d.ts.map +1 -0
  79. package/dist/src/cst-passes/paramAlignment.js +11 -0
  80. package/dist/src/cst-passes/paramAlignment.js.map +1 -0
  81. package/dist/src/cst-passes/parenthesisIfCase.d.ts +6 -0
  82. package/dist/src/cst-passes/parenthesisIfCase.d.ts.map +1 -0
  83. package/dist/src/cst-passes/parenthesisIfCase.js +42 -0
  84. package/dist/src/cst-passes/parenthesisIfCase.js.map +1 -0
  85. package/dist/src/cst-passes/printStatementRemoval.d.ts +20 -0
  86. package/dist/src/cst-passes/printStatementRemoval.d.ts.map +1 -0
  87. package/dist/src/cst-passes/printStatementRemoval.js +67 -0
  88. package/dist/src/cst-passes/printStatementRemoval.js.map +1 -0
  89. package/dist/src/cst-passes/spacing.d.ts +19 -0
  90. package/dist/src/cst-passes/spacing.d.ts.map +1 -0
  91. package/dist/src/cst-passes/spacing.js +81 -0
  92. package/dist/src/cst-passes/spacing.js.map +1 -0
  93. package/dist/src/cst-passes/splitArrayOpenBracket.d.ts +4 -0
  94. package/dist/src/cst-passes/splitArrayOpenBracket.d.ts.map +1 -0
  95. package/dist/src/cst-passes/splitArrayOpenBracket.js +11 -0
  96. package/dist/src/cst-passes/splitArrayOpenBracket.js.map +1 -0
  97. package/dist/src/cst-passes/stringConcatStyle.d.ts +4 -0
  98. package/dist/src/cst-passes/stringConcatStyle.d.ts.map +1 -0
  99. package/dist/src/cst-passes/stringConcatStyle.js +11 -0
  100. package/dist/src/cst-passes/stringConcatStyle.js.map +1 -0
  101. package/dist/src/cst-passes/stripCatchParens.d.ts +4 -0
  102. package/dist/src/cst-passes/stripCatchParens.d.ts.map +1 -0
  103. package/dist/src/cst-passes/stripCatchParens.js +29 -0
  104. package/dist/src/cst-passes/stripCatchParens.js.map +1 -0
  105. package/dist/src/cst-passes/thenStyle.d.ts +15 -0
  106. package/dist/src/cst-passes/thenStyle.d.ts.map +1 -0
  107. package/dist/src/cst-passes/thenStyle.js +140 -0
  108. package/dist/src/cst-passes/thenStyle.js.map +1 -0
  109. package/dist/src/cst-passes/trailingCommas.d.ts +13 -0
  110. package/dist/src/cst-passes/trailingCommas.d.ts.map +1 -0
  111. package/dist/src/cst-passes/trailingCommas.js +56 -0
  112. package/dist/src/cst-passes/trailingCommas.js.map +1 -0
  113. package/dist/src/cst-passes/trailingWhitespace.d.ts +13 -0
  114. package/dist/src/cst-passes/trailingWhitespace.d.ts.map +1 -0
  115. package/dist/src/cst-passes/trailingWhitespace.js +26 -0
  116. package/dist/src/cst-passes/trailingWhitespace.js.map +1 -0
  117. package/dist/src/cst-passes/wrapLongStrings.d.ts +4 -0
  118. package/dist/src/cst-passes/wrapLongStrings.d.ts.map +1 -0
  119. package/dist/src/cst-passes/wrapLongStrings.js +11 -0
  120. package/dist/src/cst-passes/wrapLongStrings.js.map +1 -0
  121. package/dist/src/formatter.d.ts +2 -1
  122. package/dist/src/formatter.d.ts.map +1 -1
  123. package/dist/src/formatter.js +74 -333
  124. package/dist/src/formatter.js.map +1 -1
  125. package/dist/src/index.d.ts +3 -2
  126. package/dist/src/index.d.ts.map +1 -1
  127. package/dist/src/index.js +11 -10
  128. package/dist/src/index.js.map +1 -1
  129. package/package.json +5 -2
@@ -103,6 +103,10 @@ export interface FormattingConfig {
103
103
  alignAssignments: boolean;
104
104
  /** Field access consistency on known objects. 'dot' prefers m.top.field, 'method' prefers m.top.getField("field"), 'preserve' leaves as-is. */
105
105
  fieldAccessConsistency: 'dot' | 'method' | 'preserve';
106
+ /** Parse the formatted output to verify it's still valid BrightScript.
107
+ * If syntax errors are detected, the original source is returned unchanged.
108
+ * Default: true. */
109
+ verifySyntax: boolean;
106
110
  }
107
111
  /** Default formatting config — all rules set to preserve existing code style. */
108
112
  export declare const DEFAULT_FORMATTING_CONFIG: FormattingConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,8 @@ exports.DEFAULT_FORMATTING_CONFIG = {
64
64
  mPrefixStyle: 'preserve',
65
65
  alignAssignments: false,
66
66
  fieldAccessConsistency: 'preserve',
67
+ // Safety
68
+ verifySyntax: true,
67
69
  };
68
70
  /** Reads a FormattingConfig from a raw VS Code settings object. */
69
71
  function parseFormattingConfig(cfg) {
@@ -138,6 +140,7 @@ function parseFormattingConfig(cfg) {
138
140
  mPrefixStyle: str('mPrefixStyle', d.mPrefixStyle),
139
141
  alignAssignments: bool('alignAssignments', d.alignAssignments),
140
142
  fieldAccessConsistency: str('fieldAccessConsistency', d.fieldAccessConsistency),
143
+ verifySyntax: bool('verifySyntax', d.verifySyntax),
141
144
  };
142
145
  }
143
146
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { SyntaxNode } from 'kopytko-brightscript-parser';
2
+ import { TextEdit } from './infrastructure';
3
+ export declare function aaThresholdPass(threshold: number): (root: SyntaxNode, source: string) => TextEdit[];
4
+ //# sourceMappingURL=aaThreshold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aaThreshold.d.ts","sourceRoot":"","sources":["../../../src/cst-passes/aaThreshold.ts"],"names":[],"mappings":"AAAsD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACpH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,QAAQ,EAAE,CAKnG"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aaThresholdPass = aaThresholdPass;
4
+ function aaThresholdPass(threshold) {
5
+ if (threshold <= 0)
6
+ return () => [];
7
+ return (_root, _source) => {
8
+ return [];
9
+ };
10
+ }
11
+ //# sourceMappingURL=aaThreshold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aaThreshold.js","sourceRoot":"","sources":["../../../src/cst-passes/aaThreshold.ts"],"names":[],"mappings":";;AAGA,0CAKC;AALD,SAAgB,eAAe,CAAC,SAAiB;IAC/C,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC;IACpC,OAAO,CAAC,KAAiB,EAAE,OAAe,EAAc,EAAE;QACxD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SyntaxNode } from 'kopytko-brightscript-parser';
2
+ import { TextEdit } from './infrastructure';
3
+ export declare function alignAssignmentsPass(enabled: boolean): (root: SyntaxNode, source: string) => TextEdit[];
4
+ //# sourceMappingURL=alignAssignments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alignAssignments.d.ts","sourceRoot":"","sources":["../../../src/cst-passes/alignAssignments.ts"],"names":[],"mappings":"AAAsD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACpH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,QAAQ,EAAE,CAKvG"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.alignAssignmentsPass = alignAssignmentsPass;
4
+ function alignAssignmentsPass(enabled) {
5
+ if (!enabled)
6
+ return () => [];
7
+ return (_root, _source) => {
8
+ return [];
9
+ };
10
+ }
11
+ //# sourceMappingURL=alignAssignments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alignAssignments.js","sourceRoot":"","sources":["../../../src/cst-passes/alignAssignments.ts"],"names":[],"mappings":";;AAGA,oDAKC;AALD,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC;IAC9B,OAAO,CAAC,KAAiB,EAAE,OAAe,EAAc,EAAE;QACxD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * CST Pass: Blank line normalization.
3
+ *
4
+ * Controls maximum consecutive blank lines and blank lines between functions.
5
+ * Works by finding sequences of LineBreak trivia and trimming excess.
6
+ */
7
+ import { SyntaxNode } from 'kopytko-brightscript-parser';
8
+ import { TextEdit } from './infrastructure';
9
+ interface BlankLineConfig {
10
+ maxEmptyLines: number;
11
+ emptyLinesBetweenFunctions: number;
12
+ }
13
+ /**
14
+ * Creates a blank-line-normalization pass.
15
+ * Removes excess blank lines based on maxEmptyLines setting.
16
+ */
17
+ export declare function blankLinePass(config: BlankLineConfig): (root: SyntaxNode, source: string) => TextEdit[];
18
+ export {};
19
+ //# sourceMappingURL=blankLines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blankLines.d.ts","sourceRoot":"","sources":["../../../src/cst-passes/blankLines.ts"],"names":[],"mappings":"CAAsD;;;;;GAKnD;AAEH,OAAO,EAAE,UAAU,EAA2C,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,UAAU,eAAe;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B,EAAE,MAAM,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,QAAQ,EAAE,CA6BvG"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-unused-vars */ /**
3
+ * CST Pass: Blank line normalization.
4
+ *
5
+ * Controls maximum consecutive blank lines and blank lines between functions.
6
+ * Works by finding sequences of LineBreak trivia and trimming excess.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.blankLinePass = blankLinePass;
10
+ /**
11
+ * Creates a blank-line-normalization pass.
12
+ * Removes excess blank lines based on maxEmptyLines setting.
13
+ */
14
+ function blankLinePass(config) {
15
+ if (config.maxEmptyLines === 0 && config.emptyLinesBetweenFunctions === 0)
16
+ return () => [];
17
+ return (_root, source) => {
18
+ if (config.maxEmptyLines === 0)
19
+ return [];
20
+ const edits = [];
21
+ const maxAllowed = config.maxEmptyLines;
22
+ // Find runs of blank lines (3+ consecutive newlines = 2+ blank lines)
23
+ // A "blank line" is a newline followed by optional whitespace and another newline
24
+ const blankRunRe = /(\r?\n)((?:[ \t]*\r?\n){2,})/g;
25
+ let match;
26
+ while ((match = blankRunRe.exec(source)) !== null) {
27
+ const fullRun = match[2];
28
+ const lineBreaks = fullRun.split(/\r?\n/).length - 1;
29
+ if (lineBreaks > maxAllowed) {
30
+ // Keep only maxAllowed blank lines
31
+ const lineEnding = source.includes('\r\n') ? '\r\n' : '\n';
32
+ const replacement = (lineEnding).repeat(maxAllowed);
33
+ const startPos = match.index + match[1].length;
34
+ edits.push({ pos: startPos, end: startPos + fullRun.length, newText: replacement });
35
+ }
36
+ }
37
+ return edits;
38
+ };
39
+ }
40
+ //# sourceMappingURL=blankLines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blankLines.js","sourceRoot":"","sources":["../../../src/cst-passes/blankLines.ts"],"names":[],"mappings":";AAAA,sDAAsD,CAAA;;;;;GAKnD;;AAcH,sCA6BC;AAjCD;;;GAGG;AACH,SAAgB,aAAa,CAAC,MAAuB;IACnD,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,MAAM,CAAC,0BAA0B,KAAK,CAAC;QAAE,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC;IAE3F,OAAO,CAAC,KAAiB,EAAE,MAAc,EAAc,EAAE;QACvD,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE1C,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC;QAExC,sEAAsE;QACtE,kFAAkF;QAClF,MAAM,UAAU,GAAG,+BAA+B,CAAC;QACnD,IAAI,KAA6B,CAAC;QAElC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAErD,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;gBAC5B,mCAAmC;gBACnC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3D,MAAM,WAAW,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * CST Pass: Keyword and identifier casing.
3
+ *
4
+ * Applies casing normalization to keywords, builtins, and user functions.
5
+ * Handles edge cases: callable keywords (CreateObject), dot access exclusion,
6
+ * type annotation keywords, and AA keys.
7
+ */
8
+ import { SyntaxNode } from 'kopytko-brightscript-parser';
9
+ import { TextEdit } from './infrastructure';
10
+ import { CasingConfig } from 'kopytko-brightscript-parser';
11
+ export declare function casingPass(casingConfig: CasingConfig, userFunctions?: Map<string, string>): (root: SyntaxNode, source: string) => TextEdit[];
12
+ //# sourceMappingURL=casingPass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"casingPass.d.ts","sourceRoot":"","sources":["../../../src/cst-passes/casingPass.ts"],"names":[],"mappings":"CAAsD;;;;;;GAMnD;AAEH,OAAO,EAAE,UAAU,EAAqD,MAAM,6BAA6B,CAAC;AAE5G,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAEL,YAAY,EACb,MAAM,6BAA6B,CAAC;AAarC,wBAAgB,UAAU,CACxB,YAAY,EAAE,YAAY,EAC1B,aAAa,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,GAC7C,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,QAAQ,EAAE,CA8BlD"}
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-unused-vars */ /**
3
+ * CST Pass: Keyword and identifier casing.
4
+ *
5
+ * Applies casing normalization to keywords, builtins, and user functions.
6
+ * Handles edge cases: callable keywords (CreateObject), dot access exclusion,
7
+ * type annotation keywords, and AA keys.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.casingPass = casingPass;
11
+ const kopytko_brightscript_parser_1 = require("kopytko-brightscript-parser");
12
+ const kopytko_brightscript_parser_2 = require("kopytko-brightscript-parser");
13
+ const builtinMap = new Map(kopytko_brightscript_parser_2.BRIGHTSCRIPT_BUILTINS.map(b => [b.name.toLowerCase(), b.name]));
14
+ // Keywords that are also callable as functions — apply builtin casing to these
15
+ const CALLABLE_KEYWORDS = new Set([
16
+ kopytko_brightscript_parser_1.TokenKind.CreateObject, kopytko_brightscript_parser_1.TokenKind.Type, kopytko_brightscript_parser_1.TokenKind.GetGlobalAA,
17
+ kopytko_brightscript_parser_1.TokenKind.Box, kopytko_brightscript_parser_1.TokenKind.Eval, kopytko_brightscript_parser_1.TokenKind.Run,
18
+ kopytko_brightscript_parser_1.TokenKind.GetLastRunCompileError, kopytko_brightscript_parser_1.TokenKind.GetLastRunRunTimeError,
19
+ ]);
20
+ function casingPass(casingConfig, userFunctions = new Map()) {
21
+ return (root, _source) => {
22
+ const edits = [];
23
+ function visit(node, afterDot) {
24
+ let afterAs = false;
25
+ for (let i = 0; i < node.children.length; i++) {
26
+ const child = node.children[i];
27
+ if ((0, kopytko_brightscript_parser_1.isToken)(child)) {
28
+ processToken(child, afterDot, afterAs, node, edits, casingConfig, userFunctions);
29
+ // Track context for next token
30
+ afterDot = child.kind === kopytko_brightscript_parser_1.TokenKind.Dot;
31
+ afterAs = child.kind === kopytko_brightscript_parser_1.TokenKind.As;
32
+ }
33
+ else if ((0, kopytko_brightscript_parser_1.isNode)(child)) {
34
+ // Don't apply user function casing inside AA field keys
35
+ if (child.kind === kopytko_brightscript_parser_1.SyntaxKind.AAField) {
36
+ visitAAField(child, edits, casingConfig);
37
+ }
38
+ else {
39
+ // Pass afterDot=true if this node follows a dot token
40
+ visit(child, afterDot);
41
+ }
42
+ afterDot = false;
43
+ }
44
+ }
45
+ }
46
+ visit(root, false);
47
+ return edits;
48
+ };
49
+ }
50
+ function processToken(token, afterDot, afterAs, parent, edits, config, userFunctions) {
51
+ if (token.kind === kopytko_brightscript_parser_1.TokenKind.StringLiteral || token.kind === kopytko_brightscript_parser_1.TokenKind.Eof)
52
+ return;
53
+ const lower = token.text.toLowerCase();
54
+ // Exact overrides
55
+ if (config.exact && config.exact[lower]) {
56
+ const desired = config.exact[lower];
57
+ if (desired !== token.text) {
58
+ edits.push({ pos: token.pos, end: token.end, newText: desired });
59
+ }
60
+ return;
61
+ }
62
+ // Callable keywords (CreateObject, Type, etc.) — always normalize to catalog casing
63
+ // BUT skip if after dot (it's a property name, not a function call)
64
+ if (CALLABLE_KEYWORDS.has(token.kind)) {
65
+ if (afterDot)
66
+ return; // e.g., m.input.type — 'type' is just a field name
67
+ const canonical = builtinMap.get(lower) ?? token.text;
68
+ const newText = config.builtin && config.builtin !== 'preserve'
69
+ ? (0, kopytko_brightscript_parser_2.applyCasing)(canonical, config.builtin)
70
+ : canonical; // preserve = use catalog casing
71
+ if (newText !== token.text) {
72
+ edits.push({ pos: token.pos, end: token.end, newText });
73
+ }
74
+ return;
75
+ }
76
+ // Regular keywords — skip if after dot (field name)
77
+ if ((0, kopytko_brightscript_parser_1.isKeyword)(token.kind)) {
78
+ if (afterDot)
79
+ return; // e.g., obj.end, node.next — keywords used as field names
80
+ if (afterAs) {
81
+ // 'as Function', 'as Sub' etc. — use type casing
82
+ const typeOption = (0, kopytko_brightscript_parser_2.resolveKeywordCasing)('type', config);
83
+ if (typeOption && typeOption !== 'preserve') {
84
+ const newText = (0, kopytko_brightscript_parser_2.applyCasing)(token.text, typeOption);
85
+ if (newText !== token.text) {
86
+ edits.push({ pos: token.pos, end: token.end, newText });
87
+ }
88
+ }
89
+ }
90
+ else {
91
+ const category = (0, kopytko_brightscript_parser_2.getKeywordCategory)(lower);
92
+ const option = (0, kopytko_brightscript_parser_2.resolveKeywordCasing)(category, config);
93
+ if (option && option !== 'preserve') {
94
+ const newText = (0, kopytko_brightscript_parser_2.applyCasing)(token.text, option);
95
+ if (newText !== token.text) {
96
+ edits.push({ pos: token.pos, end: token.end, newText });
97
+ }
98
+ }
99
+ }
100
+ return;
101
+ }
102
+ // Identifiers
103
+ if (token.kind === kopytko_brightscript_parser_1.TokenKind.Identifier) {
104
+ // After dot — don't apply user function casing (it's a property access)
105
+ if (afterDot)
106
+ return;
107
+ // After 'as' — this is a type name, apply type casing
108
+ if (afterAs) {
109
+ const typeOption = (0, kopytko_brightscript_parser_2.resolveKeywordCasing)('type', config);
110
+ if (typeOption && typeOption !== 'preserve') {
111
+ const newText = (0, kopytko_brightscript_parser_2.applyCasing)(token.text, typeOption);
112
+ if (newText !== token.text) {
113
+ edits.push({ pos: token.pos, end: token.end, newText });
114
+ }
115
+ }
116
+ return;
117
+ }
118
+ // Builtin functions — only normalize when used as a call (followed by `(`)
119
+ // Don't normalize parameters/variables that share a builtin name
120
+ const canonical = builtinMap.get(lower);
121
+ if (canonical) {
122
+ // Check if this is being used as a function call by looking ahead
123
+ // in the parent node for a LeftParen or being inside a CallExpression
124
+ const isCall = isBuiltinCall(token, parent);
125
+ if (isCall) {
126
+ const newText = config.builtin && config.builtin !== 'preserve'
127
+ ? (0, kopytko_brightscript_parser_2.applyCasing)(canonical, config.builtin)
128
+ : canonical;
129
+ if (newText !== token.text) {
130
+ edits.push({ pos: token.pos, end: token.end, newText });
131
+ }
132
+ }
133
+ return;
134
+ }
135
+ // User-defined functions (only for standalone calls, not after dot)
136
+ // Always normalize to canonical casing from the definition
137
+ const userCanonical = userFunctions.get(lower);
138
+ if (userCanonical) {
139
+ const newText = config.userFunction && config.userFunction !== 'preserve'
140
+ ? (0, kopytko_brightscript_parser_2.applyCasing)(userCanonical, config.userFunction)
141
+ : userCanonical; // preserve = use definition casing
142
+ if (newText !== token.text) {
143
+ edits.push({ pos: token.pos, end: token.end, newText });
144
+ }
145
+ }
146
+ }
147
+ }
148
+ /** Don't apply casing to AA field key names. */
149
+ function visitAAField(node, edits, config) {
150
+ let isKey = true;
151
+ for (const child of node.children) {
152
+ if ((0, kopytko_brightscript_parser_1.isToken)(child) && child.kind === kopytko_brightscript_parser_1.TokenKind.Colon) {
153
+ isKey = false;
154
+ continue;
155
+ }
156
+ if (isKey)
157
+ continue; // skip the key
158
+ if ((0, kopytko_brightscript_parser_1.isNode)(child)) {
159
+ // Process value side normally
160
+ visitNormal(child, edits, config, new Map());
161
+ }
162
+ }
163
+ }
164
+ /** For DotExpression: apply casing to the object but not the member after dot. */
165
+ function visitDotExpression(node, edits, config, userFunctions) {
166
+ let afterDot = false;
167
+ for (const child of node.children) {
168
+ if ((0, kopytko_brightscript_parser_1.isToken)(child)) {
169
+ if (!afterDot) {
170
+ processToken(child, false, false, node, edits, config, userFunctions);
171
+ }
172
+ afterDot = child.kind === kopytko_brightscript_parser_1.TokenKind.Dot;
173
+ }
174
+ else if ((0, kopytko_brightscript_parser_1.isNode)(child)) {
175
+ if (!afterDot) {
176
+ visitNormal(child, edits, config, userFunctions);
177
+ }
178
+ afterDot = false;
179
+ }
180
+ }
181
+ }
182
+ function visitNormal(node, edits, config, userFunctions) {
183
+ let afterDot = false;
184
+ let afterAs = false;
185
+ for (const child of node.children) {
186
+ if ((0, kopytko_brightscript_parser_1.isToken)(child)) {
187
+ processToken(child, afterDot, afterAs, node, edits, config, userFunctions);
188
+ afterDot = child.kind === kopytko_brightscript_parser_1.TokenKind.Dot;
189
+ afterAs = child.kind === kopytko_brightscript_parser_1.TokenKind.As;
190
+ }
191
+ else if ((0, kopytko_brightscript_parser_1.isNode)(child)) {
192
+ if (child.kind === kopytko_brightscript_parser_1.SyntaxKind.AAField) {
193
+ visitAAField(child, edits, config);
194
+ }
195
+ else {
196
+ visitNormal(child, edits, config, userFunctions);
197
+ }
198
+ afterDot = false;
199
+ afterAs = false;
200
+ }
201
+ }
202
+ }
203
+ /** Checks if a builtin-named token is used as a function call (parent is CallExpression or IdentifierExpression inside CallExpression). */
204
+ function isBuiltinCall(token, parent) {
205
+ // If the parent is an IdentifierExpression inside a CallExpression, it's a call
206
+ if (parent.kind === kopytko_brightscript_parser_1.SyntaxKind.CallExpression)
207
+ return true;
208
+ // If the parent is an IdentifierExpression, check its parent
209
+ if (parent.kind === kopytko_brightscript_parser_1.SyntaxKind.IdentifierExpression && parent.parent?.kind === kopytko_brightscript_parser_1.SyntaxKind.CallExpression)
210
+ return true;
211
+ // Check if token is directly inside an expression that's the callee of a call
212
+ return false;
213
+ }
214
+ //# sourceMappingURL=casingPass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"casingPass.js","sourceRoot":"","sources":["../../../src/cst-passes/casingPass.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * CST Pass: Comment normalization.
3
+ *
4
+ * - Convert between `'` and `rem` comment styles
5
+ * - Ensure a space after the comment marker
6
+ *
7
+ * Unlike the regex version, this pass operates on trivia (comments are trivia
8
+ * in the CST, not tokens), so it cannot accidentally modify code that looks
9
+ * like a comment inside a string literal.
10
+ */
11
+ import { SyntaxNode } from 'kopytko-brightscript-parser';
12
+ import { TextEdit } from './infrastructure';
13
+ type CommentStyle = "'" | 'rem' | 'preserve';
14
+ interface CommentNormConfig {
15
+ commentStyle: CommentStyle;
16
+ spaceAfterCommentMarker: boolean;
17
+ }
18
+ /**
19
+ * Creates a comment normalization CST pass.
20
+ * Works on trivia attached to tokens — never touches code or string content.
21
+ */
22
+ export declare function commentNormalizationPass(config: CommentNormConfig): (root: SyntaxNode, source: string) => TextEdit[];
23
+ export {};
24
+ //# sourceMappingURL=commentNormalization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commentNormalization.d.ts","sourceRoot":"","sources":["../../../src/cst-passes/commentNormalization.ts"],"names":[],"mappings":"CAAsD;;;;;;;;;GASnD;AAEH,OAAO,EAAE,UAAU,EAA+B,MAAM,6BAA6B,CAAC;AAEtF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,KAAK,YAAY,GAAG,GAAG,GAAG,KAAK,GAAG,UAAU,CAAC;AAE7C,UAAU,iBAAiB;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,QAAQ,EAAE,CA6DpH"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-unused-vars */ /**
3
+ * CST Pass: Comment normalization.
4
+ *
5
+ * - Convert between `'` and `rem` comment styles
6
+ * - Ensure a space after the comment marker
7
+ *
8
+ * Unlike the regex version, this pass operates on trivia (comments are trivia
9
+ * in the CST, not tokens), so it cannot accidentally modify code that looks
10
+ * like a comment inside a string literal.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.commentNormalizationPass = commentNormalizationPass;
14
+ const kopytko_brightscript_parser_1 = require("kopytko-brightscript-parser");
15
+ /**
16
+ * Creates a comment normalization CST pass.
17
+ * Works on trivia attached to tokens — never touches code or string content.
18
+ */
19
+ function commentNormalizationPass(config) {
20
+ if (config.commentStyle === 'preserve' && !config.spaceAfterCommentMarker) {
21
+ return () => [];
22
+ }
23
+ return (root, _source) => {
24
+ const edits = [];
25
+ function processTrivia(trivia) {
26
+ if (trivia.kind !== kopytko_brightscript_parser_1.TriviaKind.Comment && trivia.kind !== kopytko_brightscript_parser_1.TriviaKind.RemComment)
27
+ return;
28
+ // Skip @import / @mock annotations
29
+ if (/^\s*'\s*@(?:import|mock)\s+/.test(trivia.text))
30
+ return;
31
+ const isTickComment = trivia.kind === kopytko_brightscript_parser_1.TriviaKind.Comment;
32
+ const originalText = trivia.text;
33
+ let marker;
34
+ let content;
35
+ if (isTickComment) {
36
+ marker = "'";
37
+ content = originalText.slice(1); // after '
38
+ }
39
+ else {
40
+ marker = originalText.slice(0, 3); // 'rem' or 'REM' etc.
41
+ content = originalText.slice(3);
42
+ }
43
+ // Determine target marker
44
+ let targetMarker = marker;
45
+ if (config.commentStyle !== 'preserve') {
46
+ targetMarker = config.commentStyle === "'" ? "'" : 'rem';
47
+ }
48
+ // Determine target content (space after marker)
49
+ let targetContent = content;
50
+ if (config.spaceAfterCommentMarker && targetContent.length > 0 && !targetContent.startsWith(' ')) {
51
+ targetContent = ' ' + targetContent;
52
+ }
53
+ const newText = targetMarker + targetContent;
54
+ if (newText !== originalText) {
55
+ edits.push({ pos: trivia.pos, end: trivia.end, newText });
56
+ }
57
+ }
58
+ // Walk all tokens and process their trivia
59
+ function walkAllTrivia(node) {
60
+ for (const child of node.children) {
61
+ if ((0, kopytko_brightscript_parser_1.isToken)(child)) {
62
+ for (const t of child.leadingTrivia)
63
+ processTrivia(t);
64
+ for (const t of child.trailingTrivia)
65
+ processTrivia(t);
66
+ }
67
+ else if ((0, kopytko_brightscript_parser_1.isNode)(child)) {
68
+ walkAllTrivia(child);
69
+ }
70
+ }
71
+ }
72
+ walkAllTrivia(root);
73
+ return edits;
74
+ };
75
+ }
76
+ //# sourceMappingURL=commentNormalization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commentNormalization.js","sourceRoot":"","sources":["../../../src/cst-passes/commentNormalization.ts"],"names":[],"mappings":";AAAA,sDAAsD,CAAA;;;;;;;;;GASnD;;AAiBH,4DA6DC;AA5ED,6EAAsF;AAWtF;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,MAAyB;IAChE,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAC1E,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,IAAgB,EAAE,OAAe,EAAc,EAAE;QACvD,MAAM,KAAK,GAAe,EAAE,CAAC;QAE7B,SAAS,aAAa,CAAC,MAAc;YACnC,IAAI,MAAM,CAAC,IAAI,KAAK,wCAAU,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,wCAAU,CAAC,UAAU;gBAAE,OAAO;YAExF,mCAAmC;YACnC,IAAI,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO;YAE5D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,KAAK,wCAAU,CAAC,OAAO,CAAC;YACzD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YAEjC,IAAI,MAAc,CAAC;YACnB,IAAI,OAAe,CAAC;YAEpB,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,GAAG,GAAG,CAAC;gBACb,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;YAC7C,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,sBAAsB;gBACzD,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;YAED,0BAA0B;YAC1B,IAAI,YAAY,GAAG,MAAM,CAAC;YAC1B,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBACvC,YAAY,GAAG,MAAM,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3D,CAAC;YAED,gDAAgD;YAChD,IAAI,aAAa,GAAG,OAAO,CAAC;YAC5B,IAAI,MAAM,CAAC,uBAAuB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjG,aAAa,GAAG,GAAG,GAAG,aAAa,CAAC;YACtC,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC;YAC7C,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,SAAS,aAAa,CAAC,IAAgB;YACrC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,IAAA,qCAAO,EAAC,KAAK,CAAC,EAAE,CAAC;oBACnB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa;wBAAE,aAAa,CAAC,CAAC,CAAC,CAAC;oBACtD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc;wBAAE,aAAa,CAAC,CAAC,CAAC,CAAC;gBACzD,CAAC;qBAAM,IAAI,IAAA,oCAAM,EAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,aAAa,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { SyntaxNode } from 'kopytko-brightscript-parser';
2
+ import { TextEdit } from './infrastructure';
3
+ export declare function commentWidthPass(maxWidth: number): (root: SyntaxNode, source: string) => TextEdit[];
4
+ //# sourceMappingURL=commentWidth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commentWidth.d.ts","sourceRoot":"","sources":["../../../src/cst-passes/commentWidth.ts"],"names":[],"mappings":"AAAsD,OAAO,EAAE,UAAU,EAA+B,MAAM,6BAA6B,CAAC;AAE5I,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,QAAQ,EAAE,CAenG"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commentWidthPass = commentWidthPass;
4
+ /* eslint-disable @typescript-eslint/no-unused-vars */ const kopytko_brightscript_parser_1 = require("kopytko-brightscript-parser");
5
+ function commentWidthPass(maxWidth) {
6
+ if (maxWidth <= 0)
7
+ return () => [];
8
+ return (root, _source) => {
9
+ const edits = [];
10
+ function walkTrivia(node) {
11
+ for (const child of node.children) {
12
+ if ((0, kopytko_brightscript_parser_1.isToken)(child)) {
13
+ for (const t of child.leadingTrivia)
14
+ processComment(t, edits, maxWidth);
15
+ for (const t of child.trailingTrivia)
16
+ processComment(t, edits, maxWidth);
17
+ }
18
+ else if ((0, kopytko_brightscript_parser_1.isNode)(child)) {
19
+ walkTrivia(child);
20
+ }
21
+ }
22
+ }
23
+ walkTrivia(root);
24
+ return edits;
25
+ };
26
+ }
27
+ function processComment(trivia, edits, maxWidth) {
28
+ if (trivia.kind !== kopytko_brightscript_parser_1.TriviaKind.Comment)
29
+ return;
30
+ if (trivia.text.length <= maxWidth)
31
+ return;
32
+ const content = trivia.text.slice(2);
33
+ const words = content.split(/\s+/);
34
+ const lines = [];
35
+ let current = "'";
36
+ for (const word of words) {
37
+ if (current.length + 1 + word.length > maxWidth && current !== "'") {
38
+ lines.push(current);
39
+ current = "' " + word;
40
+ }
41
+ else {
42
+ current += (current === "'" ? ' ' : ' ') + word;
43
+ }
44
+ }
45
+ lines.push(current);
46
+ if (lines.length > 1) {
47
+ edits.push({ pos: trivia.pos, end: trivia.end, newText: lines.join('\n') });
48
+ }
49
+ }
50
+ //# sourceMappingURL=commentWidth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commentWidth.js","sourceRoot":"","sources":["../../../src/cst-passes/commentWidth.ts"],"names":[],"mappings":";;AAIA,4CAeC;AAnBD,sDAAsD,CAAA,6EAAsF;AAI5I,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC;IACnC,OAAO,CAAC,IAAgB,EAAE,OAAe,EAAc,EAAE;QACvD,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,SAAS,UAAU,CAAC,IAAgB;YAClC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,IAAA,qCAAO,EAAC,KAAK,CAAC,EAAE,CAAC;oBACnB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa;wBAAE,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;oBACxE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc;wBAAE,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC3E,CAAC;qBAAM,IAAI,IAAA,oCAAM,EAAC,KAAK,CAAC,EAAE,CAAC;oBAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AACD,SAAS,cAAc,CAAC,MAAc,EAAE,KAAiB,EAAE,QAAgB;IACzE,IAAI,MAAM,CAAC,IAAI,KAAK,wCAAU,CAAC,OAAO;QAAE,OAAO;IAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAClD,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SyntaxNode } from 'kopytko-brightscript-parser';
2
+ import { TextEdit } from './infrastructure';
3
+ export declare function elseOnNewLinePass(keepOnNewLine: boolean): (root: SyntaxNode, source: string) => TextEdit[];
4
+ //# sourceMappingURL=elseOnNewLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elseOnNewLine.d.ts","sourceRoot":"","sources":["../../../src/cst-passes/elseOnNewLine.ts"],"names":[],"mappings":"AAAsD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACpH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,QAAQ,EAAE,CAK1G"}