kopytko-formatter 0.1.9 → 1.0.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/README.md CHANGED
@@ -62,9 +62,9 @@ The formatter reads config from (in priority order):
62
62
 
63
63
  1. `--config <file>` CLI flag
64
64
  2. `kopytko-formatter.json` in the current directory
65
- 3. `.vscode/settings.json` — reads `kopytko.format.*` keys automatically (supports JSONC: inline `//` comments, block `/* */` comments, and trailing commas)
65
+ 3. `.vscode/settings.json` — reads `kopytko.format.*` and `kopytko.casing.*` keys automatically (supports JSONC: inline `//` comments, block `/* */` comments, and trailing commas)
66
66
 
67
- Config keys match the VS Code extension settings without the `kopytko.format.` prefix.
67
+ Config keys match the VS Code extension settings without the `kopytko.format.` prefix (for formatting rules) or `kopytko.casing.` prefix (for casing settings).
68
68
 
69
69
  ### Example `kopytko-formatter.json`
70
70
 
@@ -82,11 +82,11 @@ The config file can contain both formatting rules and casing settings:
82
82
  "emptyLineAfterImports": true,
83
83
  "maxEmptyLines": 1,
84
84
  "emptyLinesBetweenFunctions": 1,
85
- "keywordCasing": "LowerCase",
86
- "builtinCasing": "PascalCase",
87
- "typeCasing": "PascalCase",
88
- "literalCasing": "LowerCase",
89
- "logicOperatorCasing": "UpperCase",
85
+ "keywordCasing": "lower-case",
86
+ "builtinCasing": "pascal-case",
87
+ "typeCasing": "pascal-case",
88
+ "literalCasing": "lower-case",
89
+ "logicOperatorCasing": "upper-case",
90
90
  "ignore": [
91
91
  "**/node_modules/**",
92
92
  "**/dist/**",
@@ -95,7 +95,7 @@ The config file can contain both formatting rules and casing settings:
95
95
  }
96
96
  ```
97
97
 
98
- > **Note:** `keywordCasing`, `builtinCasing`, `typeCasing`, `literalCasing`, and `logicOperatorCasing` are casing settings (see `CasingConfig`). All other keys are formatting rules (see `FormattingConfig`).
98
+ > **Note:** `keywordCasing`, `builtinCasing`, `typeCasing`, `literalCasing`, and `logicOperatorCasing` are casing settings (see `CasingConfig`). All other keys are formatting rules (see `FormattingConfig`). Casing values use kebab-case: `preserve`, `upper-case`, `lower-case`, `capitalize`, `pascal-case`, `camel-case`.
99
99
 
100
100
  If your project already has formatting settings in `.vscode/settings.json`, no extra config file is needed — the CLI reads them directly.
101
101
 
@@ -164,36 +164,6 @@ jobs:
164
164
 
165
165
  > This assumes `format:check` is defined in your `package.json` scripts (see [Recommended npm Scripts](#recommended-npm-scripts) above).
166
166
 
167
- ## Planned Features (Not Yet Implemented)
168
-
169
- The following `FormattingConfig` fields are defined and accepted in config files but
170
- **do not affect formatting output yet**. They are reserved for future implementation:
171
-
172
- | Category | Field | Description |
173
- |---|---|---|
174
- | Whitespace | `emptyLinesBetweenMethods` | Blank lines between AA method definitions |
175
- | Functions | `returnTypeAnnotations` | Enforce/remove `as Type` return annotations |
176
- | Functions | `paramTypeAnnotations` | Enforce/remove `as Type` param annotations |
177
- | Functions | `paramAlignmentStyle` | Multi-line parameter alignment style |
178
- | Functions | `wrapParamsThreshold` | Line length to trigger parameter wrapping |
179
- | Line Length | `printWidth` | Maximum desired line length |
180
- | Line Length | `wrapLongStrings` | Long string handling strategy |
181
- | Line Length | `stringConcatStyle` | String concatenation normalization |
182
- | Line Length | `wrapLongChains` | Break long method/field chains |
183
- | Line Length | `wrapArrays` | Multi-line array literals |
184
- | Line Length | `wrapAssocArrays` | Multi-line AA literals |
185
- | Arrays & AAs | `arrayItemAlignment` | Align values in multi-line AAs |
186
- | Arrays & AAs | `singleLineObjectThreshold` | Max keys before forcing multi-line |
187
- | Operators | `operatorLineBreakStyle` | Operator placement on wrapped lines |
188
- | Blank Lines | `separateLogicBlocks` | Blank lines between logic groups |
189
- | Control Flow | `inlineIfThreshold` | Max length for single-line if/then |
190
- | Control Flow | `elseOnNewLine` | Else on its own line |
191
- | Miscellaneous | `lineCommentPosition` | Move trailing comments above |
192
- | BrightScript | `observeFieldStyle` | Enforce observeFieldScoped |
193
- | BrightScript | `mPrefixStyle` | m-prefix field access style |
194
- | BrightScript | `alignAssignments` | Align = signs in assignments |
195
- | BrightScript | `fieldAccessConsistency` | Dot vs method field access |
196
-
197
167
  ## License
198
168
 
199
169
  MIT
@@ -66,17 +66,17 @@ CONFIG
66
66
  The formatter reads config from (in priority order):
67
67
  1. --config <file> explicit path
68
68
  2. kopytko-formatter.json in the current directory
69
- 3. .vscode/settings.json "kopytko.format.*" keys
69
+ 3. .vscode/settings.json "kopytko.format.*" + "kopytko.casing.*" keys
70
70
 
71
- Config keys match VS Code settings without the "kopytko.format." prefix.
71
+ Config keys match VS Code settings without the prefix.
72
72
  Example kopytko-formatter.json:
73
73
  {
74
74
  "indentSize": 2,
75
75
  "endKeywordStyle": "spaced",
76
76
  "trimTrailingWhitespace": true,
77
77
  "insertFinalNewline": true,
78
- "keywordCasing": "LowerCase",
79
- "builtinCasing": "PascalCase",
78
+ "keyword": "lower-case",
79
+ "builtin": "pascal-case",
80
80
  "ignore": [
81
81
  "**/node_modules/**",
82
82
  "**/dist/**",
@@ -152,17 +152,17 @@ function findRawConfig(configPath) {
152
152
  return null;
153
153
  }
154
154
  /**
155
- * Extracts kopytko.format.* keys from a VS Code settings.json object.
156
- * Strips the "kopytko.format." prefix from each key.
155
+ * Extracts kopytko.format.* and kopytko.casing.* keys from a VS Code settings.json object.
156
+ * Strips the "kopytko.format." / "kopytko.casing." prefix from each key.
157
157
  *
158
- * Also extracts kopytko.readOnlyPaths it lives under "kopytko.*" (not
159
- * "kopytko.format.*") but the CLI must respect it the same way the extension
160
- * does: files matching any readOnlyPaths pattern are skipped entirely.
158
+ * Also extracts kopytko.readOnlyPaths and kopytko.format.readOnlyPaths the CLI
159
+ * skips files matching any readOnlyPaths pattern (format-specific takes priority).
161
160
  *
162
161
  * Returns null if no relevant kopytko keys are found.
163
162
  */
164
163
  function extractVscodeSettings(raw) {
165
164
  const FORMAT_PREFIX = 'kopytko.format.';
165
+ const CASING_PREFIX = 'kopytko.casing.';
166
166
  const result = {};
167
167
  let found = false;
168
168
  for (const [key, value] of Object.entries(raw)) {
@@ -170,26 +170,35 @@ function extractVscodeSettings(raw) {
170
170
  result[key.slice(FORMAT_PREFIX.length)] = value;
171
171
  found = true;
172
172
  }
173
+ else if (key.startsWith(CASING_PREFIX)) {
174
+ // Store casing keys under their direct name (builtin, keyword, etc.)
175
+ result[key.slice(CASING_PREFIX.length)] = value;
176
+ found = true;
177
+ }
178
+ }
179
+ // readOnlyPaths: format-specific > shared fallback
180
+ if ('kopytko.format.readOnlyPaths' in raw) {
181
+ result['readOnlyPaths'] = raw['kopytko.format.readOnlyPaths'];
182
+ found = true;
173
183
  }
174
- // readOnlyPaths is under "kopytko.*", not "kopytko.format.*"
175
- if ('kopytko.readOnlyPaths' in raw) {
184
+ else if ('kopytko.readOnlyPaths' in raw) {
176
185
  result['readOnlyPaths'] = raw['kopytko.readOnlyPaths'];
177
186
  found = true;
178
187
  }
179
188
  return found ? result : null;
180
189
  }
181
- /** Maps VS Code casing key names to CasingConfig field names. */
190
+ /** Maps config key names to CasingConfig field names. */
182
191
  const CASING_KEY_MAP = {
183
- 'keywordCasing': 'keywords',
184
- 'builtinCasing': 'builtins',
185
- 'methodCasing': 'methods',
186
- 'typeCasing': 'types',
187
- 'literalCasing': 'literals',
188
- 'logicOperatorCasing': 'logicOperators',
189
- 'mathOperatorCasing': 'mathOperators',
190
- 'userFunctionCasing': 'userFunctions',
191
- 'userMethodCasing': 'userMethods',
192
- 'exactCasing': 'exactCasing',
192
+ 'keyword': 'keyword',
193
+ 'builtin': 'builtin',
194
+ 'method': 'method',
195
+ 'type': 'type',
196
+ 'literal': 'literal',
197
+ 'logicOperator': 'logicOperator',
198
+ 'mathOperator': 'mathOperator',
199
+ 'userFunction': 'userFunction',
200
+ 'userMethod': 'userMethod',
201
+ 'exact': 'exact',
193
202
  };
194
203
  function loadConfig(configPath) {
195
204
  const raw = findRawConfig(configPath);
@@ -253,23 +262,22 @@ function loadCasingConfig(configPath) {
253
262
  const s = raw.settings;
254
263
  const result = {};
255
264
  for (const [srcKey, destKey] of Object.entries(CASING_KEY_MAP)) {
256
- // Support both VS Code key names (keywordCasing) and direct names (keywords)
257
265
  if (s[srcKey] !== undefined)
258
266
  result[destKey] = s[srcKey];
259
267
  else if (s[destKey] !== undefined)
260
268
  result[destKey] = s[destKey];
261
269
  }
262
270
  return {
263
- builtins: result.builtins ?? 'NoChange',
264
- keywords: result.keywords ?? 'NoChange',
265
- methods: result.methods ?? 'NoChange',
266
- types: result.types,
267
- literals: result.literals,
268
- logicOperators: result.logicOperators,
269
- mathOperators: result.mathOperators,
270
- userFunctions: result.userFunctions,
271
- userMethods: result.userMethods,
272
- exactCasing: normalizeExactCasing(result.exactCasing),
271
+ builtin: result.builtin ?? 'preserve',
272
+ keyword: result.keyword ?? 'preserve',
273
+ method: result.method ?? 'preserve',
274
+ type: result.type,
275
+ literal: result.literal,
276
+ logicOperator: result.logicOperator,
277
+ mathOperator: result.mathOperator,
278
+ userFunction: result.userFunction,
279
+ userMethod: result.userMethod,
280
+ exact: normalizeExactCasing(result.exact),
273
281
  };
274
282
  }
275
283
  function collectFiles(patterns) {
@@ -320,7 +328,7 @@ function resolveGlob(pattern) {
320
328
  }
321
329
  return [];
322
330
  }
323
- /** Normalizes exactCasing keys to lowercase so lookups are case-insensitive (matches VS Code extension behaviour). */
331
+ /** Normalizes exact casing keys to lowercase so lookups are case-insensitive (matches VS Code extension behaviour). */
324
332
  function normalizeExactCasing(raw) {
325
333
  if (!raw || typeof raw !== 'object' || Array.isArray(raw))
326
334
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"kopytko-format.js","sourceRoot":"","sources":["../../bin/kopytko-format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kopytko-format.js","sourceRoot":"","sources":["../../bin/kopytko-format.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,29 @@
1
1
  import { KeywordCategory } from './builtins';
2
- export type CasingOption = 'NoChange' | 'UpperCase' | 'LowerCase' | 'Capitalize' | 'CamelCase' | 'PascalCase';
2
+ export type CasingOption = 'preserve' | 'upper-case' | 'lower-case' | 'capitalize' | 'camel-case' | 'pascal-case';
3
3
  export interface CasingConfig {
4
4
  /** Casing for BrightScript built-in global functions (Abs, CreateObject, …). */
5
- builtins: CasingOption;
5
+ builtin: CasingOption;
6
6
  /** Casing for BrightScript language keywords (function, sub, if, …). Falls back for all sub-categories when their specific setting is not defined. */
7
- keywords: CasingOption;
7
+ keyword: CasingOption;
8
8
  /** Casing for ro* component interface methods (Push, SetUrl, …). */
9
- methods: CasingOption;
10
- /** Casing for type names (boolean, integer, string, …). Falls back to `keywords`. */
11
- types?: CasingOption;
12
- /** Casing for literal values (true, false, invalid). Falls back to `keywords`. */
13
- literals?: CasingOption;
14
- /** Casing for logic operators (and, or, not). Falls back to `keywords`. */
15
- logicOperators?: CasingOption;
16
- /** Casing for math operators (mod). Falls back to `keywords`. */
17
- mathOperators?: CasingOption;
9
+ method: CasingOption;
10
+ /** Casing for type names (boolean, integer, string, …). Falls back to `keyword`. */
11
+ type?: CasingOption;
12
+ /** Casing for literal values (true, false, invalid). Falls back to `keyword`. */
13
+ literal?: CasingOption;
14
+ /** Casing for logic operators (and, or, not). Falls back to `keyword`. */
15
+ logicOperator?: CasingOption;
16
+ /** Casing for math operators (mod). Falls back to `keyword`. */
17
+ mathOperator?: CasingOption;
18
18
  /** Casing for user-defined top-level function/sub names. */
19
- userFunctions?: CasingOption;
19
+ userFunction?: CasingOption;
20
20
  /** Casing for user-defined AA methods (this.doWork = function …). */
21
- userMethods?: CasingOption;
21
+ userMethod?: CasingOption;
22
22
  /** Per-identifier overrides applied after all other rules. Key = lowercase name, value = exact output. */
23
- exactCasing?: Record<string, string>;
23
+ exact?: Record<string, string>;
24
24
  }
25
25
  export declare const DEFAULT_CASING_CONFIG: CasingConfig;
26
26
  export declare function applyCasing(name: string, option: CasingOption): string;
27
- export declare function applyCasingWithOverrides(name: string, option: CasingOption, exactCasing?: Record<string, string>): string;
27
+ export declare function applyCasingWithOverrides(name: string, option: CasingOption, exact?: Record<string, string>): string;
28
28
  export declare function resolveKeywordCasing(category: KeywordCategory, config: CasingConfig): CasingOption;
29
29
  //# sourceMappingURL=casing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"casing.d.ts","sourceRoot":"","sources":["../../src/casing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,WAAW,GACX,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,CAAC;AAEjB,MAAM,WAAW,YAAY;IAC3B,gFAAgF;IAChF,QAAQ,EAAE,YAAY,CAAC;IACvB,sJAAsJ;IACtJ,QAAQ,EAAE,YAAY,CAAC;IACvB,oEAAoE;IACpE,OAAO,EAAE,YAAY,CAAC;IACtB,qFAAqF;IACrF,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,iEAAiE;IACjE,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,4DAA4D;IAC5D,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,qEAAqE;IACrE,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,0GAA0G;IAC1G,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,eAAO,MAAM,qBAAqB,EAAE,YAInC,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAatE;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,CAQR;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,GAAG,YAAY,CAQlG"}
1
+ {"version":3,"file":"casing.d.ts","sourceRoot":"","sources":["../../src/casing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,aAAa,CAAC;AAElB,MAAM,WAAW,YAAY;IAC3B,gFAAgF;IAChF,OAAO,EAAE,YAAY,CAAC;IACtB,sJAAsJ;IACtJ,OAAO,EAAE,YAAY,CAAC;IACtB,oEAAoE;IACpE,MAAM,EAAE,YAAY,CAAC;IACrB,oFAAoF;IACpF,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,iFAAiF;IACjF,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,gEAAgE;IAChE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,4DAA4D;IAC5D,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qEAAqE;IACrE,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0GAA0G;IAC1G,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,eAAO,MAAM,qBAAqB,EAAE,YAInC,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAatE;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAQR;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,GAAG,YAAY,CAQlG"}
@@ -5,40 +5,40 @@ exports.applyCasing = applyCasing;
5
5
  exports.applyCasingWithOverrides = applyCasingWithOverrides;
6
6
  exports.resolveKeywordCasing = resolveKeywordCasing;
7
7
  exports.DEFAULT_CASING_CONFIG = {
8
- builtins: 'NoChange',
9
- keywords: 'NoChange',
10
- methods: 'NoChange',
8
+ builtin: 'preserve',
9
+ keyword: 'preserve',
10
+ method: 'preserve',
11
11
  };
12
12
  function applyCasing(name, option) {
13
13
  switch (option) {
14
- case 'UpperCase': return name.toUpperCase();
15
- case 'LowerCase': return name.toLowerCase();
16
- case 'Capitalize': return name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();
17
- case 'PascalCase': return splitWords(name).map(capitalizeWord).join('');
18
- case 'CamelCase': {
14
+ case 'upper-case': return name.toUpperCase();
15
+ case 'lower-case': return name.toLowerCase();
16
+ case 'capitalize': return name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();
17
+ case 'pascal-case': return splitWords(name).map(capitalizeWord).join('');
18
+ case 'camel-case': {
19
19
  const words = splitWords(name);
20
20
  return words.map((w, i) => i === 0 ? w.toLowerCase() : capitalizeWord(w)).join('');
21
21
  }
22
- case 'NoChange':
22
+ case 'preserve':
23
23
  default: return name;
24
24
  }
25
25
  }
26
- function applyCasingWithOverrides(name, option, exactCasing) {
27
- if (exactCasing) {
26
+ function applyCasingWithOverrides(name, option, exact) {
27
+ if (exact) {
28
28
  const lower = name.toLowerCase();
29
- if (Object.prototype.hasOwnProperty.call(exactCasing, lower)) {
30
- return exactCasing[lower];
29
+ if (Object.prototype.hasOwnProperty.call(exact, lower)) {
30
+ return exact[lower];
31
31
  }
32
32
  }
33
33
  return applyCasing(name, option);
34
34
  }
35
35
  function resolveKeywordCasing(category, config) {
36
36
  switch (category) {
37
- case 'type': return config.types ?? config.keywords;
38
- case 'literal': return config.literals ?? config.keywords;
39
- case 'logicOperator': return config.logicOperators ?? config.keywords;
40
- case 'mathOperator': return config.mathOperators ?? config.keywords;
41
- case 'keyword': return config.keywords;
37
+ case 'type': return config.type ?? config.keyword;
38
+ case 'literal': return config.literal ?? config.keyword;
39
+ case 'logicOperator': return config.logicOperator ?? config.keyword;
40
+ case 'mathOperator': return config.mathOperator ?? config.keyword;
41
+ case 'keyword': return config.keyword;
42
42
  }
43
43
  }
44
44
  function splitWords(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"casing.js","sourceRoot":"","sources":["../../src/casing.ts"],"names":[],"mappings":";;;AAuCA,kCAaC;AAED,4DAYC;AAED,oDAQC;AA3CY,QAAA,qBAAqB,GAAiB;IACjD,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAG,UAAU;CACrB,CAAC;AAEF,SAAgB,WAAW,CAAC,IAAY,EAAE,MAAoB;IAC5D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW,CAAC,CAAG,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9C,KAAK,WAAW,CAAC,CAAG,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9C,KAAK,YAAY,CAAC,CAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtF,KAAK,YAAY,CAAC,CAAE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzE,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,KAAK,UAAU,CAAC;QAChB,OAAO,CAAC,CAAY,OAAO,IAAI,CAAC;IAClC,CAAC;AACH,CAAC;AAED,SAAgB,wBAAwB,CACtC,IAAY,EACZ,MAAoB,EACpB,WAAoC;IAEpC,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7D,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,oBAAoB,CAAC,QAAyB,EAAE,MAAoB;IAClF,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC;QACpD,KAAK,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;QAC1D,KAAK,eAAe,CAAC,CAAC,OAAO,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,CAAC;QACtE,KAAK,cAAc,CAAC,CAAC,OAAO,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAC;QACpE,KAAK,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"casing.js","sourceRoot":"","sources":["../../src/casing.ts"],"names":[],"mappings":";;;AAuCA,kCAaC;AAED,4DAYC;AAED,oDAQC;AA3CY,QAAA,qBAAqB,GAAiB;IACjD,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,MAAM,EAAG,UAAU;CACpB,CAAC;AAEF,SAAgB,WAAW,CAAC,IAAY,EAAE,MAAoB;IAC5D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,YAAY,CAAC,CAAE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9C,KAAK,YAAY,CAAC,CAAE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9C,KAAK,YAAY,CAAC,CAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtF,KAAK,aAAa,CAAC,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzE,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,KAAK,UAAU,CAAC;QAChB,OAAO,CAAC,CAAY,OAAO,IAAI,CAAC;IAClC,CAAC;AACH,CAAC;AAED,SAAgB,wBAAwB,CACtC,IAAY,EACZ,MAAoB,EACpB,KAA8B;IAE9B,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,oBAAoB,CAAC,QAAyB,EAAE,MAAoB;IAClF,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC;QAClD,KAAK,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;QACxD,KAAK,eAAe,CAAC,CAAC,OAAO,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC;QACpE,KAAK,cAAc,CAAC,CAAC,OAAO,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC;QAClE,KAAK,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC;IACxC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACpE,CAAC"}
@@ -42,46 +42,32 @@ export interface FormattingConfig {
42
42
  returnTypeAnnotations: 'always' | 'never' | 'preserve';
43
43
  /** Enforce or remove `as Type` param annotations. */
44
44
  paramTypeAnnotations: 'always' | 'never' | 'preserve';
45
- /** Multi-line parameter alignment: 'indent' uses one level, 'align-to-paren' aligns to opening paren. */
46
- paramAlignmentStyle: 'indent' | 'align-to-paren';
47
- /** Line length at which to wrap parameters to multiple lines. 0 = never wrap. */
48
- wrapParamsThreshold: number;
49
- /** Maximum desired line length. */
50
- printWidth: number;
45
+ /** Multi-line parameter alignment: 'indent' uses one level, 'align-to-paren' aligns to opening paren, 'preserve' leaves as-is. */
46
+ paramAlignmentStyle: 'indent' | 'align-to-paren' | 'preserve';
51
47
  /** Long string handling: 'plus' breaks with + concatenation, 'array-join' breaks with [...].join(""), 'preserve' leaves as-is. */
52
48
  wrapLongStrings: 'preserve' | 'plus' | 'array-join';
53
49
  /** String concatenation style normalization: 'plus' enforces +, 'array-join' enforces [...].join(""), 'preserve' leaves as-is. */
54
50
  stringConcatStyle: 'preserve' | 'plus' | 'array-join';
55
- /** Break long method/field chains onto new lines. */
56
- wrapLongChains: boolean;
57
- /** Multi-line array literals. 'auto' = multi-line when exceeding printWidth. */
58
- wrapArrays: 'auto' | 'always' | 'never';
59
- /** Multi-line AA literals {}. 'auto' = multi-line when exceeding printWidth. */
60
- wrapAssocArrays: 'auto' | 'always' | 'never';
61
51
  /** Spaces inside `{}`: `{ key: value }` vs `{key: value}`. */
62
- bracketSpacing: boolean;
52
+ associativeArrayBracketSpacing: boolean;
63
53
  /** Spaces around commas separating key-value pairs inside inline `{}`. 'after' = `{a: 1, b: 2}`, 'before' = `{a: 1 ,b: 2}`, 'both' = `{a: 1 , b: 2}`, 'none' = `{a: 1,b: 2}`. Only applied to commas inside `{}` on the same line (not multi-line AAs). */
64
- aaCommaSpacing: 'after' | 'before' | 'both' | 'none' | 'preserve';
54
+ associativeArrayCommaSpacing: 'after' | 'before' | 'both' | 'none' | 'preserve';
65
55
  /** Trailing comma after the last item in multi-line arrays/AAs. */
66
56
  trailingComma: 'never' | 'always' | 'multiline';
67
57
  /** Comma separators between items in multi-line arrays. BrightScript allows omitting commas when items are on separate lines. */
68
58
  arrayCommaStyle: 'always' | 'never' | 'preserve';
69
59
  /** Comma separators between entries in multi-line AAs. BrightScript allows omitting commas when entries are on separate lines. */
70
- assocArrayCommaStyle: 'always' | 'never' | 'preserve';
60
+ associativeArrayCommaStyle: 'always' | 'never' | 'preserve';
71
61
  /** When true, splits `[{` onto separate lines in multi-item arrays (improves readability). */
72
- splitArrayOpenBracket: boolean;
73
- /** Align values in multi-line AAs. */
74
- arrayItemAlignment: 'off' | 'align';
62
+ arraySplitOpenBracket: boolean;
75
63
  /** Max number of keys before forcing an AA to multi-line. 0 = no limit. */
76
- singleLineObjectThreshold: number;
64
+ associativeArraySingleLineThreshold: number;
77
65
  /** Spaces around binary operators (+, -, *, /, <>, <, >, and, or, mod). */
78
66
  spaceAroundOperators: boolean;
79
67
  /** Spaces around = in assignments. */
80
68
  spaceAroundAssignment: boolean;
81
69
  /** Space after unary `not`. */
82
70
  unarySpacing: boolean;
83
- /** Where to put operators on wrapped lines: 'before' or 'after' the break. */
84
- operatorLineBreakStyle: 'before' | 'after';
85
71
  /** Normalize comment markers: `'` or `rem`, or preserve. */
86
72
  commentStyle: "'" | 'rem' | 'preserve';
87
73
  /** Enforce space after `'` or `rem`: `' comment` vs `'comment`. */
@@ -93,18 +79,14 @@ export interface FormattingConfig {
93
79
  /** Insert blank line between module imports and local imports. */
94
80
  /** Insert blank line after the last @import line (before code starts). */
95
81
  emptyLineAfterImports: boolean;
96
- /** Insert blank line after function/sub opening line. */
97
- blankLineAfterFunctionOpen: boolean;
98
- /** Insert blank line before end function/sub. */
99
- blankLineBeforeFunctionClose: boolean;
100
- /** Blank line before return: 'always', 'not-alone' (skip when return is only statement in block), or false. */
101
- blankLineBeforeReturn: 'always' | 'not-alone' | false;
102
- /** Enforce blank line before stand-alone comment blocks. */
103
- blankLineBeforeComment: boolean;
104
- /** Insert blank lines between visually distinct statement groups. */
105
- separateLogicBlocks: boolean;
106
- /** Max expression length for single-line if/then. 0 = never inline. */
107
- inlineIfThreshold: number;
82
+ /** Insert empty line after function/sub opening line. */
83
+ emptyLineAfterFunctionOpen: boolean;
84
+ /** Insert empty line before end function/sub. */
85
+ emptyLineBeforeFunctionClose: boolean;
86
+ /** Empty line before return: 'always', 'not-alone' (skip when return is only statement in block), or false. */
87
+ emptyLineBeforeReturn: 'always' | 'not-alone' | false;
88
+ /** Enforce empty line before stand-alone comment blocks. */
89
+ emptyLineBeforeComment: boolean;
108
90
  /** 'always' wraps if condition in parens, 'never' removes them. */
109
91
  parenthesisIfCase: 'preserve' | 'always' | 'never';
110
92
  /** Controls parentheses around the catch variable: `catch e` vs `catch (e)`. */
@@ -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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"}
@@ -25,29 +25,22 @@ exports.DEFAULT_FORMATTING_CONFIG = {
25
25
  spaceInsideParens: 'never',
26
26
  returnTypeAnnotations: 'preserve',
27
27
  paramTypeAnnotations: 'preserve',
28
- paramAlignmentStyle: 'indent',
29
- wrapParamsThreshold: 0,
28
+ paramAlignmentStyle: 'preserve',
30
29
  // Line Length & Wrapping
31
- printWidth: 160,
32
30
  wrapLongStrings: 'preserve',
33
31
  stringConcatStyle: 'preserve',
34
- wrapLongChains: false,
35
- wrapArrays: 'never',
36
- wrapAssocArrays: 'never',
37
32
  // Arrays & AAs
38
- bracketSpacing: true,
39
- aaCommaSpacing: 'preserve',
33
+ associativeArrayBracketSpacing: true,
34
+ associativeArrayCommaSpacing: 'preserve',
40
35
  trailingComma: 'never',
41
36
  arrayCommaStyle: 'preserve',
42
- assocArrayCommaStyle: 'preserve',
43
- splitArrayOpenBracket: false,
44
- arrayItemAlignment: 'off',
45
- singleLineObjectThreshold: 0,
37
+ associativeArrayCommaStyle: 'preserve',
38
+ arraySplitOpenBracket: false,
39
+ associativeArraySingleLineThreshold: 0,
46
40
  // Operators & Expressions
47
41
  spaceAroundOperators: true,
48
42
  spaceAroundAssignment: true,
49
43
  unarySpacing: true,
50
- operatorLineBreakStyle: 'before',
51
44
  // Comments
52
45
  commentStyle: 'preserve',
53
46
  spaceAfterCommentMarker: true,
@@ -55,14 +48,12 @@ exports.DEFAULT_FORMATTING_CONFIG = {
55
48
  // Imports
56
49
  sortImports: false,
57
50
  emptyLineAfterImports: false,
58
- // Blank Lines
59
- blankLineAfterFunctionOpen: false,
60
- blankLineBeforeFunctionClose: false,
61
- blankLineBeforeReturn: false,
62
- blankLineBeforeComment: false,
63
- separateLogicBlocks: false,
51
+ // Empty Lines
52
+ emptyLineAfterFunctionOpen: false,
53
+ emptyLineBeforeFunctionClose: false,
54
+ emptyLineBeforeReturn: false,
55
+ emptyLineBeforeComment: false,
64
56
  // Control Flow
65
- inlineIfThreshold: 0,
66
57
  parenthesisIfCase: 'preserve',
67
58
  catchParenStyle: 'preserve',
68
59
  elseOnNewLine: true,
@@ -113,43 +104,34 @@ function parseFormattingConfig(cfg) {
113
104
  returnTypeAnnotations: str('returnTypeAnnotations', d.returnTypeAnnotations),
114
105
  paramTypeAnnotations: str('paramTypeAnnotations', d.paramTypeAnnotations),
115
106
  paramAlignmentStyle: str('paramAlignmentStyle', d.paramAlignmentStyle),
116
- wrapParamsThreshold: num('wrapParamsThreshold', d.wrapParamsThreshold),
117
- printWidth: num('printWidth', d.printWidth),
118
107
  wrapLongStrings: str('wrapLongStrings', d.wrapLongStrings),
119
108
  stringConcatStyle: str('stringConcatStyle', d.stringConcatStyle),
120
- wrapLongChains: bool('wrapLongChains', d.wrapLongChains),
121
- wrapArrays: str('wrapArrays', d.wrapArrays),
122
- wrapAssocArrays: str('wrapAssocArrays', d.wrapAssocArrays),
123
- bracketSpacing: bool('bracketSpacing', d.bracketSpacing),
124
- aaCommaSpacing: str('aaCommaSpacing', d.aaCommaSpacing),
109
+ associativeArrayBracketSpacing: bool('associativeArrayBracketSpacing', d.associativeArrayBracketSpacing),
110
+ associativeArrayCommaSpacing: str('associativeArrayCommaSpacing', d.associativeArrayCommaSpacing),
125
111
  trailingComma: str('trailingComma', d.trailingComma),
126
112
  arrayCommaStyle: str('arrayCommaStyle', d.arrayCommaStyle),
127
- assocArrayCommaStyle: str('assocArrayCommaStyle', d.assocArrayCommaStyle),
128
- splitArrayOpenBracket: bool('splitArrayOpenBracket', d.splitArrayOpenBracket),
129
- arrayItemAlignment: str('arrayItemAlignment', d.arrayItemAlignment),
130
- singleLineObjectThreshold: num('singleLineObjectThreshold', d.singleLineObjectThreshold),
113
+ associativeArrayCommaStyle: str('associativeArrayCommaStyle', d.associativeArrayCommaStyle),
114
+ arraySplitOpenBracket: bool('arraySplitOpenBracket', d.arraySplitOpenBracket),
115
+ associativeArraySingleLineThreshold: num('associativeArraySingleLineThreshold', d.associativeArraySingleLineThreshold),
131
116
  spaceAroundOperators: bool('spaceAroundOperators', d.spaceAroundOperators),
132
117
  spaceAroundAssignment: bool('spaceAroundAssignment', d.spaceAroundAssignment),
133
118
  unarySpacing: bool('unarySpacing', d.unarySpacing),
134
- operatorLineBreakStyle: str('operatorLineBreakStyle', d.operatorLineBreakStyle),
135
119
  commentStyle: str('commentStyle', d.commentStyle),
136
120
  spaceAfterCommentMarker: bool('spaceAfterCommentMarker', d.spaceAfterCommentMarker),
137
121
  commentWidth: num('commentWidth', d.commentWidth),
138
122
  sortImports: bool('sortImports', d.sortImports),
139
123
  emptyLineAfterImports: bool('emptyLineAfterImports', d.emptyLineAfterImports),
140
- blankLineAfterFunctionOpen: bool('blankLineAfterFunctionOpen', d.blankLineAfterFunctionOpen),
141
- blankLineBeforeFunctionClose: bool('blankLineBeforeFunctionClose', d.blankLineBeforeFunctionClose),
142
- blankLineBeforeReturn: (() => {
143
- const v = cfg['blankLineBeforeReturn'];
124
+ emptyLineAfterFunctionOpen: bool('emptyLineAfterFunctionOpen', d.emptyLineAfterFunctionOpen),
125
+ emptyLineBeforeFunctionClose: bool('emptyLineBeforeFunctionClose', d.emptyLineBeforeFunctionClose),
126
+ emptyLineBeforeReturn: (() => {
127
+ const v = cfg['emptyLineBeforeReturn'];
144
128
  if (v === 'always' || v === 'not-alone')
145
129
  return v;
146
130
  if (v === true)
147
131
  return 'always';
148
132
  return false;
149
133
  })(),
150
- blankLineBeforeComment: bool('blankLineBeforeComment', d.blankLineBeforeComment),
151
- separateLogicBlocks: bool('separateLogicBlocks', d.separateLogicBlocks),
152
- inlineIfThreshold: num('inlineIfThreshold', d.inlineIfThreshold),
134
+ emptyLineBeforeComment: bool('emptyLineBeforeComment', d.emptyLineBeforeComment),
153
135
  parenthesisIfCase: str('parenthesisIfCase', d.parenthesisIfCase),
154
136
  catchParenStyle: str('catchParenStyle', d.catchParenStyle),
155
137
  elseOnNewLine: bool('elseOnNewLine', d.elseOnNewLine),