dot-language-support 4.1.1 → 4.1.3

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 (2) hide show
  1. package/dist/index.mjs +6 -35
  2. package/package.json +25 -23
package/dist/index.mjs CHANGED
@@ -1,13 +1,11 @@
1
1
  import * as lst from "vscode-languageserver-types";
2
2
  import { Range, TextEdit } from "vscode-languageserver-types";
3
-
4
3
  //#region src/core.ts
5
4
  function createMapFromTemplate(template) {
6
5
  const map = /* @__PURE__ */ new Map();
7
6
  for (const key in template) if (key in template) map.set(key, template[key]);
8
7
  return map;
9
8
  }
10
-
11
9
  //#endregion
12
10
  //#region src/types.ts
13
11
  const errorSource = {
@@ -295,7 +293,6 @@ const characterCodes = {
295
293
  tab: 9,
296
294
  verticalTab: 11
297
295
  };
298
-
299
296
  //#endregion
300
297
  //#region src/service/util.ts
301
298
  function getStart(sourceFile, node) {
@@ -328,7 +325,6 @@ const quote = (s) => `"${s}"`;
328
325
  function assertNever(v) {
329
326
  throw new Error(`Should not have reached this. Value: ${v ?? ""}`);
330
327
  }
331
-
332
328
  //#endregion
333
329
  //#region src/scanner.ts
334
330
  const textToToken = createMapFromTemplate({
@@ -787,7 +783,6 @@ function skipTrivia(text, pos) {
787
783
  function isLineBreak(ch) {
788
784
  return ch === characterCodes.lineFeed || ch === characterCodes.carriageReturn;
789
785
  }
790
-
791
786
  //#endregion
792
787
  //#region src/parser.ts
793
788
  const parsingContext = {
@@ -1374,7 +1369,6 @@ function isIdentifier(kind) {
1374
1369
  function isIdentifierNode(node) {
1375
1370
  return isIdentifier(node.kind);
1376
1371
  }
1377
-
1378
1372
  //#endregion
1379
1373
  //#region src/service/languageFacts.ts
1380
1374
  const shapes = Object.freeze([
@@ -2377,7 +2371,6 @@ const colors = Object.freeze({
2377
2371
  yellow4: "#8b8b00",
2378
2372
  yellowgreen: "#9acd32"
2379
2373
  });
2380
-
2381
2374
  //#endregion
2382
2375
  //#region src/visitor.ts
2383
2376
  function visitNode(cbNode, node) {
@@ -2413,7 +2406,6 @@ function forEachChild(node, cbNode, cbNodes) {
2413
2406
  default: return;
2414
2407
  }
2415
2408
  }
2416
-
2417
2409
  //#endregion
2418
2410
  //#region src/checker.ts
2419
2411
  const validShapesLowerCase = new Set(shapes.map((s) => s.toLowerCase()));
@@ -2554,7 +2546,6 @@ function createCheckerError(sub) {
2554
2546
  function nodeContainsErrors(node) {
2555
2547
  return (node.flags & syntaxNodeFlags.ContainsErrors) === syntaxNodeFlags.ContainsErrors;
2556
2548
  }
2557
-
2558
2549
  //#endregion
2559
2550
  //#region src/binder.ts
2560
2551
  const binder = createBinder();
@@ -2784,7 +2775,6 @@ function createBinder() {
2784
2775
  file.colors = colorTable;
2785
2776
  } };
2786
2777
  }
2787
-
2788
2778
  //#endregion
2789
2779
  //#region src/service/command/common.ts
2790
2780
  function createChangeToEdit(start, end, changeTo) {
@@ -2805,7 +2795,6 @@ function getOppositeEdgeOp(g) {
2805
2795
  function getAllowedOp(g) {
2806
2796
  return g === syntaxKind.DigraphKeyword ? syntaxKind.DirectedEdgeOp : syntaxKind.UndirectedEdgeOp;
2807
2797
  }
2808
-
2809
2798
  //#endregion
2810
2799
  //#region src/service/command/ChangeAllOtherEdgeOpsAndFixGraphCommand.ts
2811
2800
  function create$3(edgeOffsets, changeEdgesTo, graphOffset, changeFromGraph, changeGraphTo) {
@@ -2840,7 +2829,6 @@ function execute$3(doc, _sourceFile, cmd) {
2840
2829
  function isChangeAllOtherEdgeOpsAndFixGraphCommand(cmd) {
2841
2830
  return cmd.command === commandIds.ConvertGraphType && !!cmd.arguments && cmd.arguments.length === 4;
2842
2831
  }
2843
-
2844
2832
  //#endregion
2845
2833
  //#region src/service/command/ChangeEdgeOpCommand.ts
2846
2834
  function create$2(startOffset, endOffset, changeTo, changeFrom) {
@@ -2869,7 +2857,6 @@ function execute$2(doc, _sourceFile, cmd) {
2869
2857
  function isChangeEdgeOpCommand(cmd) {
2870
2858
  return cmd.command === commandIds.ChangeEdgeOp && !!cmd.arguments && cmd.arguments.length === 3;
2871
2859
  }
2872
-
2873
2860
  //#endregion
2874
2861
  //#region src/service/command/ConsolidateDescendantsCommand.ts
2875
2862
  function create$1(statements, below) {
@@ -2937,7 +2924,6 @@ function execute$1(doc, sourceFile, cmd) {
2937
2924
  function isConsolidateDescendantsCommand(cmd) {
2938
2925
  return cmd.command === commandIds.ConsolidateDescendants && !!cmd.arguments && cmd.arguments.length > 1;
2939
2926
  }
2940
-
2941
2927
  //#endregion
2942
2928
  //#region src/service/command/RemoveSemicolons.ts
2943
2929
  function create() {
@@ -2964,7 +2950,6 @@ function execute(doc, sourceFile, cmd) {
2964
2950
  function isRemoveSemicolonsCommand(cmd) {
2965
2951
  return cmd.command === commandIds.RemoveSemicolons && (!cmd.arguments || cmd.arguments.length === 0 || cmd.arguments.every((e) => e === void 0));
2966
2952
  }
2967
-
2968
2953
  //#endregion
2969
2954
  //#region src/service/codeAction.ts
2970
2955
  function getCodeActions(doc, sourceFile, range, _context) {
@@ -3085,15 +3070,13 @@ function getCheckerErrorCommand(_doc, file, d, code) {
3085
3070
  }
3086
3071
  function convertGraphTypeCommand(file, graph, changeToGraphType) {
3087
3072
  const changeToEdgeOp = getAllowedOp(changeToGraphType);
3088
- const edgeOffsets = findAllEdges(graph).filter((e) => e.operation.kind !== changeToEdgeOp).map((e) => ({
3073
+ return create$3(findAllEdges(graph).filter((e) => e.operation.kind !== changeToEdgeOp).map((e) => ({
3089
3074
  start: getStart(file, e.operation),
3090
3075
  end: e.operation.end
3091
- }));
3092
- const graphTypeOffset = {
3076
+ })), changeToEdgeOp, {
3093
3077
  start: getStart(file, graph.keyword),
3094
3078
  end: graph.keyword.end
3095
- };
3096
- return create$3(edgeOffsets, changeToEdgeOp, graphTypeOffset, graph.keyword.kind, changeToGraphType);
3079
+ }, graph.keyword.kind, changeToGraphType);
3097
3080
  }
3098
3081
  function isInRange(rangeStartOffset, rangeEndOffset, startOffset, endOffset) {
3099
3082
  if (rangeStartOffset === rangeEndOffset) return startOffset <= rangeStartOffset && rangeEndOffset <= endOffset;
@@ -3128,7 +3111,6 @@ function subtreeContainsErrors(node) {
3128
3111
  });
3129
3112
  return hasError;
3130
3113
  }
3131
-
3132
3114
  //#endregion
3133
3115
  //#region src/service/colorProvider.ts
3134
3116
  const colorMap = colors;
@@ -3177,7 +3159,6 @@ function numberToPaddedString(n) {
3177
3159
  const s = n.toString(16);
3178
3160
  return (s.length === 1 ? `0${s}` : s).toLowerCase();
3179
3161
  }
3180
-
3181
3162
  //#endregion
3182
3163
  //#region src/service/completion.ts
3183
3164
  function getCompletions(doc, sourceFile, position) {
@@ -3274,7 +3255,6 @@ function getNodeCompletions(symbols, exlucdedSymbols) {
3274
3255
  }
3275
3256
  return res;
3276
3257
  }
3277
-
3278
3258
  //#endregion
3279
3259
  //#region src/service/hover.ts
3280
3260
  function hover(doc, sourceFile, position) {
@@ -3370,7 +3350,6 @@ function getEdgeHover(n) {
3370
3350
  function getEdgeSourceOrTargetText(n) {
3371
3351
  return n.kind === syntaxKind.NodeId ? getIdentifierText(n.id) : n.id !== void 0 ? `${getIdentifierText(n.id)}` : "sub graph";
3372
3352
  }
3373
-
3374
3353
  //#endregion
3375
3354
  //#region src/service/reference.ts
3376
3355
  function findReferences(doc, sourceFile, position, context) {
@@ -3418,7 +3397,6 @@ function findDefinition(doc, sourceFile, position) {
3418
3397
  }
3419
3398
  debugger;
3420
3399
  }
3421
-
3422
3400
  //#endregion
3423
3401
  //#region src/service/rename.ts
3424
3402
  function renameSymbol(doc, sourceFile, position, newName) {
@@ -3444,16 +3422,11 @@ function isRenameableNode(node) {
3444
3422
  function isRenamableIdentifier(node) {
3445
3423
  return node.kind !== syntaxKind.QuotedTextIdentifier;
3446
3424
  }
3447
-
3448
- //#endregion
3449
- //#region src/error.ts
3450
- const diagnosicSource = "DOT";
3451
3425
  const subErrorCodeLength = 3;
3452
3426
  function formatError(error) {
3453
3427
  const subCode = (error.sub | 0).toString().padStart(subErrorCodeLength, "0");
3454
- return diagnosicSource + error.source + subCode;
3428
+ return "DOT" + error.source + subCode;
3455
3429
  }
3456
-
3457
3430
  //#endregion
3458
3431
  //#region src/service/validation.ts
3459
3432
  function convertDiagnostic(document, source) {
@@ -3464,7 +3437,7 @@ function convertDiagnostic(document, source) {
3464
3437
  },
3465
3438
  severity: source.category,
3466
3439
  code: formatError(source.code),
3467
- source: diagnosicSource,
3440
+ source: "DOT",
3468
3441
  message: source.message
3469
3442
  };
3470
3443
  }
@@ -3473,7 +3446,6 @@ function validateDocument(doc, sourceFile) {
3473
3446
  if (!diagnostics || diagnostics.length <= 0) return [];
3474
3447
  return diagnostics.map((d) => convertDiagnostic(doc, d));
3475
3448
  }
3476
-
3477
3449
  //#endregion
3478
3450
  //#region src/service/service.ts
3479
3451
  function parseDocument(doc) {
@@ -3500,6 +3472,5 @@ function createService() {
3500
3472
  getAvailableCommands
3501
3473
  };
3502
3474
  }
3503
-
3504
3475
  //#endregion
3505
- export { DefaultScanner, Parser, characterCodes, checkError, createService, diagnosticCategory, errorSource, forEachChild, getTextAsToken, getTokenAsText, graphContext, isIdentifier, isIdentifierNode, isIdentifierStart, isLineBreak, parseError, parsingContext, scanError, skipTrivia, syntaxKind, syntaxKindNames, syntaxNodeFlags, tokenFlags };
3476
+ export { DefaultScanner, Parser, characterCodes, checkError, createService, diagnosticCategory, errorSource, forEachChild, getTextAsToken, getTokenAsText, graphContext, isIdentifier, isIdentifierNode, isIdentifierStart, isLineBreak, parseError, parsingContext, scanError, skipTrivia, syntaxKind, syntaxKindNames, syntaxNodeFlags, tokenFlags };
package/package.json CHANGED
@@ -1,44 +1,46 @@
1
1
  {
2
2
  "name": "dot-language-support",
3
- "version": "4.1.1",
3
+ "version": "4.1.3",
4
4
  "description": "Parser and language service for graphviz (dot) files",
5
- "author": "Niklas Mollenhauer",
6
- "license": "MIT",
7
- "main": "./dist/index.mjs",
8
- "module": "./dist/index.mjs",
9
- "types": "./dist/index.d.mts",
10
- "type": "module",
11
- "scripts": {
12
- "ci": "biome ci ./src",
13
- "test": "tsc && node --test '**/*.spec.ts'",
14
- "test:coverage": "node --test --experimental-test-coverage '**/*.spec.ts'",
15
- "format": "biome format --write ./src",
16
- "lint": "biome lint ./src",
17
- "lint:fix": "biome lint --write ./src",
18
- "build": "tsdown",
19
- "prepare": "npm run build"
20
- },
21
5
  "keywords": [
22
- "graphviz",
23
6
  "dot",
7
+ "graphviz",
24
8
  "gv",
25
- "parser",
26
9
  "language",
10
+ "parser",
27
11
  "service"
28
12
  ],
13
+ "license": "MIT",
14
+ "author": "Niklas Mollenhauer",
29
15
  "repository": {
30
16
  "type": "git",
31
17
  "url": "https://github.com/nikeee/dot-language-support.git"
32
18
  },
19
+ "type": "module",
20
+ "main": "./dist/index.mjs",
21
+ "module": "./dist/index.mjs",
22
+ "types": "./dist/index.d.mts",
23
+ "scripts": {
24
+ "ci": "oxlint -f github",
25
+ "test": "tsc && node --test '**/*.spec.ts'",
26
+ "test:coverage": "node --test --experimental-test-coverage '**/*.spec.ts'",
27
+ "format": "oxfmt",
28
+ "lint": "oxlint --type-aware",
29
+ "lint:fix": "oxlint --type-aware --fix",
30
+ "build": "tsdown",
31
+ "prepare": "npm run build"
32
+ },
33
33
  "dependencies": {
34
34
  "vscode-languageserver-textdocument": "^1.0.12",
35
35
  "vscode-languageserver-types": "^3.17.5"
36
36
  },
37
37
  "devDependencies": {
38
- "@biomejs/biome": "^2.3.12",
39
- "expect": "^30.2.0",
40
- "tsdown": "^0.20.1",
41
- "typescript": "^5.9.3"
38
+ "expect": "^30.3.0",
39
+ "oxfmt": "^0.43.0",
40
+ "oxlint": "^1.58.0",
41
+ "oxlint-tsgolint": "^0.19.0",
42
+ "tsdown": "^0.21.7",
43
+ "typescript": "^6.0.2"
42
44
  },
43
45
  "engines": {
44
46
  "node": ">=22"