qsharp-lang 1.0.16-dev → 1.0.18-dev

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.
@@ -1,4 +1,4 @@
1
- import type { IDiagnostic, ICompletionList, IHover, IDefinition, ISignatureHelp, IWorkspaceConfiguration, IWorkspaceEdit, ITextEdit } from "../../lib/node/qsc_wasm.cjs";
1
+ import type { ICompletionList, IHover, IDefinition, ISignatureHelp, IWorkspaceConfiguration, IWorkspaceEdit, ITextEdit } from "../../lib/node/qsc_wasm.cjs";
2
2
  import { VSDiagnostic } from "../vsdiagnostic.js";
3
3
  import { IServiceProxy } from "../worker-proxy.js";
4
4
  type QscWasm = typeof import("../../lib/node/qsc_wasm.cjs");
@@ -51,6 +51,6 @@ export declare class QSharpLanguageService implements ILanguageService {
51
51
  removeEventListener<T extends LanguageServiceEvent["type"]>(type: T, listener: (event: Extract<LanguageServiceEvent, {
52
52
  type: T;
53
53
  }>) => void): void;
54
- onDiagnostics(uri: string, version: number, diagnostics: IDiagnostic[]): void;
54
+ onDiagnostics(uri: string, version: number, diagnostics: VSDiagnostic[]): void;
55
55
  }
56
56
  export {};
@@ -1,13 +1,5 @@
1
- export interface VSDiagnostic {
2
- start_pos: number;
3
- end_pos: number;
4
- message: string;
5
- severity: "error" | "warning" | "info";
6
- code?: {
7
- value: string;
8
- target: string;
9
- };
10
- }
1
+ import { type VSDiagnostic } from "../lib/web/qsc_wasm.js";
2
+ export { type VSDiagnostic } from "../lib/web/qsc_wasm.js";
11
3
  /**
12
4
  * @param positions - An array of utf-8 code unit indexes to map to utf-16 code unit indexes
13
5
  * @param source - The source code to do the mapping on
@@ -104,6 +104,10 @@ export function mapDiagnostics(diags, code) {
104
104
  diags.forEach((diag) => {
105
105
  positions.push(diag.start_pos);
106
106
  positions.push(diag.end_pos);
107
+ diag.related?.forEach((related) => {
108
+ positions.push(related.start_pos);
109
+ positions.push(related.end_pos);
110
+ });
107
111
  });
108
112
  const positionMap = mapUtf8UnitsToUtf16Units(positions, code);
109
113
  // Return the diagnostics with the positions mapped (or EOF if couldn't resolve)
@@ -112,6 +116,11 @@ export function mapDiagnostics(diags, code) {
112
116
  // The mapped position may well be 0, so need to use ?? rather than ||
113
117
  start_pos: positionMap[diag.start_pos] ?? code.length,
114
118
  end_pos: positionMap[diag.end_pos] ?? code.length,
119
+ related: diag.related?.map((related) => ({
120
+ ...related,
121
+ start_pos: positionMap[related.start_pos] ?? code.length,
122
+ end_pos: positionMap[related.end_pos] ?? code.length,
123
+ })),
115
124
  }));
116
125
  return results;
117
126
  }
@@ -327,6 +327,21 @@ module.exports.check_exercise_solution = function(solution_code, exercise_source
327
327
  }
328
328
  };
329
329
 
330
+ let cachedUint32Memory0 = null;
331
+
332
+ function getUint32Memory0() {
333
+ if (cachedUint32Memory0 === null || cachedUint32Memory0.byteLength === 0) {
334
+ cachedUint32Memory0 = new Uint32Array(wasm.memory.buffer);
335
+ }
336
+ return cachedUint32Memory0;
337
+ }
338
+
339
+ function passArray32ToWasm0(arg, malloc) {
340
+ const ptr = malloc(arg.length * 4);
341
+ getUint32Memory0().set(arg, ptr / 4);
342
+ WASM_VECTOR_LEN = arg.length;
343
+ return ptr;
344
+ }
330
345
  /**
331
346
  * @param {any} callback
332
347
  * @param {number} level
@@ -352,22 +367,6 @@ module.exports.setLogLevel = function(level) {
352
367
  wasm.setLogLevel(level);
353
368
  };
354
369
 
355
- let cachedUint32Memory0 = null;
356
-
357
- function getUint32Memory0() {
358
- if (cachedUint32Memory0 === null || cachedUint32Memory0.byteLength === 0) {
359
- cachedUint32Memory0 = new Uint32Array(wasm.memory.buffer);
360
- }
361
- return cachedUint32Memory0;
362
- }
363
-
364
- function passArray32ToWasm0(arg, malloc) {
365
- const ptr = malloc(arg.length * 4);
366
- getUint32Memory0().set(arg, ptr / 4);
367
- WASM_VECTOR_LEN = arg.length;
368
- return ptr;
369
- }
370
-
371
370
  function handleError(f, args) {
372
371
  try {
373
372
  return f.apply(this, args);
@@ -744,6 +743,11 @@ module.exports.__wbindgen_object_clone_ref = function(arg0) {
744
743
  return addHeapObject(ret);
745
744
  };
746
745
 
746
+ module.exports.__wbindgen_number_new = function(arg0) {
747
+ const ret = arg0;
748
+ return addHeapObject(ret);
749
+ };
750
+
747
751
  module.exports.__wbg_new_0232637a3cb0b1a7 = function() {
748
752
  const ret = new Error();
749
753
  return addHeapObject(ret);
@@ -757,11 +761,6 @@ module.exports.__wbg_stack_3090cd8fd3702c6e = function(arg0, arg1) {
757
761
  getInt32Memory0()[arg0 / 4 + 0] = ptr0;
758
762
  };
759
763
 
760
- module.exports.__wbindgen_number_new = function(arg0) {
761
- const ret = arg0;
762
- return addHeapObject(ret);
763
- };
764
-
765
764
  module.exports.__wbindgen_jsval_loose_eq = function(arg0, arg1) {
766
765
  const ret = getObject(arg0) == getObject(arg1);
767
766
  return ret;
@@ -52,73 +52,20 @@ export enum StepResultId {
52
52
  StepOut = 3,
53
53
  Return = 4,
54
54
  }
55
- export interface IWorkspaceConfiguration {
56
- targetProfile?: "full" | "base";
57
- packageType?: "exe" | "lib";
58
- }
59
-
60
- export interface ICompletionList {
61
- items: ICompletionItem[]
62
- }
63
-
64
- export interface ICompletionItem {
65
- label: string;
66
- kind: "function" | "interface" | "keyword" | "module";
67
- sortText?: string;
68
- detail?: string;
69
- additionalTextEdits?: ITextEdit[];
70
- }
71
-
72
- export interface ITextEdit {
73
- range: ISpan;
74
- newText: string;
75
- }
76
-
77
- export interface IHover {
78
- contents: string;
79
- span: ISpan
55
+ export interface VSDiagnostic {
56
+ start_pos: number;
57
+ end_pos: number;
58
+ message: string;
59
+ severity: "error" | "warning" | "info"
60
+ code?: string;
61
+ related?: IRelatedInformation[];
80
62
  }
81
63
 
82
- export interface IDefinition {
64
+ export interface IRelatedInformation {
83
65
  source: string;
84
- offset: number;
85
- }
86
-
87
- export interface ISignatureHelp {
88
- signatures: ISignatureInformation[];
89
- activeSignature: number;
90
- activeParameter: number;
91
- }
92
-
93
- export interface ISignatureInformation {
94
- label: string;
95
- documentation?: string;
96
- parameters: IParameterInformation[];
97
- }
98
-
99
- export interface IParameterInformation {
100
- label: ISpan;
101
- documentation?: string;
102
- }
103
-
104
- export interface IWorkspaceEdit {
105
- changes: [string, ITextEdit[]][];
106
- }
107
-
108
- export interface ISpan {
109
- start: number;
110
- end: number;
111
- }
112
-
113
- export interface IDiagnostic {
114
66
  start_pos: number;
115
67
  end_pos: number;
116
68
  message: string;
117
- severity: "error" | "warning" | "info"
118
- code?: {
119
- value: string;
120
- target: string;
121
- }
122
69
  }
123
70
 
124
71
  export interface IStructStepResult {
@@ -180,6 +127,64 @@ export interface IQuantumState {
180
127
  value: string;
181
128
  }
182
129
 
130
+ export interface IWorkspaceConfiguration {
131
+ targetProfile?: "full" | "base";
132
+ packageType?: "exe" | "lib";
133
+ }
134
+
135
+ export interface ICompletionList {
136
+ items: ICompletionItem[]
137
+ }
138
+
139
+ export interface ICompletionItem {
140
+ label: string;
141
+ kind: "function" | "interface" | "keyword" | "module" | "property";
142
+ sortText?: string;
143
+ detail?: string;
144
+ additionalTextEdits?: ITextEdit[];
145
+ }
146
+
147
+ export interface ITextEdit {
148
+ range: ISpan;
149
+ newText: string;
150
+ }
151
+
152
+ export interface IHover {
153
+ contents: string;
154
+ span: ISpan
155
+ }
156
+
157
+ export interface IDefinition {
158
+ source: string;
159
+ offset: number;
160
+ }
161
+
162
+ export interface ISignatureHelp {
163
+ signatures: ISignatureInformation[];
164
+ activeSignature: number;
165
+ activeParameter: number;
166
+ }
167
+
168
+ export interface ISignatureInformation {
169
+ label: string;
170
+ documentation?: string;
171
+ parameters: IParameterInformation[];
172
+ }
173
+
174
+ export interface IParameterInformation {
175
+ label: ISpan;
176
+ documentation?: string;
177
+ }
178
+
179
+ export interface IWorkspaceEdit {
180
+ changes: [string, ITextEdit[]][];
181
+ }
182
+
183
+ export interface ISpan {
184
+ start: number;
185
+ end: number;
186
+ }
187
+
183
188
  /**
184
189
  */
185
190
  export class DebugService {
Binary file
@@ -52,73 +52,20 @@ export enum StepResultId {
52
52
  StepOut = 3,
53
53
  Return = 4,
54
54
  }
55
- export interface IWorkspaceConfiguration {
56
- targetProfile?: "full" | "base";
57
- packageType?: "exe" | "lib";
58
- }
59
-
60
- export interface ICompletionList {
61
- items: ICompletionItem[]
62
- }
63
-
64
- export interface ICompletionItem {
65
- label: string;
66
- kind: "function" | "interface" | "keyword" | "module";
67
- sortText?: string;
68
- detail?: string;
69
- additionalTextEdits?: ITextEdit[];
70
- }
71
-
72
- export interface ITextEdit {
73
- range: ISpan;
74
- newText: string;
75
- }
76
-
77
- export interface IHover {
78
- contents: string;
79
- span: ISpan
55
+ export interface VSDiagnostic {
56
+ start_pos: number;
57
+ end_pos: number;
58
+ message: string;
59
+ severity: "error" | "warning" | "info"
60
+ code?: string;
61
+ related?: IRelatedInformation[];
80
62
  }
81
63
 
82
- export interface IDefinition {
64
+ export interface IRelatedInformation {
83
65
  source: string;
84
- offset: number;
85
- }
86
-
87
- export interface ISignatureHelp {
88
- signatures: ISignatureInformation[];
89
- activeSignature: number;
90
- activeParameter: number;
91
- }
92
-
93
- export interface ISignatureInformation {
94
- label: string;
95
- documentation?: string;
96
- parameters: IParameterInformation[];
97
- }
98
-
99
- export interface IParameterInformation {
100
- label: ISpan;
101
- documentation?: string;
102
- }
103
-
104
- export interface IWorkspaceEdit {
105
- changes: [string, ITextEdit[]][];
106
- }
107
-
108
- export interface ISpan {
109
- start: number;
110
- end: number;
111
- }
112
-
113
- export interface IDiagnostic {
114
66
  start_pos: number;
115
67
  end_pos: number;
116
68
  message: string;
117
- severity: "error" | "warning" | "info"
118
- code?: {
119
- value: string;
120
- target: string;
121
- }
122
69
  }
123
70
 
124
71
  export interface IStructStepResult {
@@ -180,6 +127,64 @@ export interface IQuantumState {
180
127
  value: string;
181
128
  }
182
129
 
130
+ export interface IWorkspaceConfiguration {
131
+ targetProfile?: "full" | "base";
132
+ packageType?: "exe" | "lib";
133
+ }
134
+
135
+ export interface ICompletionList {
136
+ items: ICompletionItem[]
137
+ }
138
+
139
+ export interface ICompletionItem {
140
+ label: string;
141
+ kind: "function" | "interface" | "keyword" | "module" | "property";
142
+ sortText?: string;
143
+ detail?: string;
144
+ additionalTextEdits?: ITextEdit[];
145
+ }
146
+
147
+ export interface ITextEdit {
148
+ range: ISpan;
149
+ newText: string;
150
+ }
151
+
152
+ export interface IHover {
153
+ contents: string;
154
+ span: ISpan
155
+ }
156
+
157
+ export interface IDefinition {
158
+ source: string;
159
+ offset: number;
160
+ }
161
+
162
+ export interface ISignatureHelp {
163
+ signatures: ISignatureInformation[];
164
+ activeSignature: number;
165
+ activeParameter: number;
166
+ }
167
+
168
+ export interface ISignatureInformation {
169
+ label: string;
170
+ documentation?: string;
171
+ parameters: IParameterInformation[];
172
+ }
173
+
174
+ export interface IParameterInformation {
175
+ label: ISpan;
176
+ documentation?: string;
177
+ }
178
+
179
+ export interface IWorkspaceEdit {
180
+ changes: [string, ITextEdit[]][];
181
+ }
182
+
183
+ export interface ISpan {
184
+ start: number;
185
+ end: number;
186
+ }
187
+
183
188
  /**
184
189
  */
185
190
  export class DebugService {
@@ -307,6 +312,17 @@ export interface InitOutput {
307
312
  readonly get_hir: (a: number, b: number, c: number) => void;
308
313
  readonly run: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
309
314
  readonly check_exercise_solution: (a: number, b: number, c: number, d: number) => number;
315
+ readonly __wbg_debugservice_free: (a: number) => void;
316
+ readonly debugservice_new: () => number;
317
+ readonly debugservice_load_source: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
318
+ readonly debugservice_capture_quantum_state: (a: number) => number;
319
+ readonly debugservice_get_stack_frames: (a: number) => number;
320
+ readonly debugservice_eval_next: (a: number, b: number, c: number, d: number, e: number) => void;
321
+ readonly debugservice_eval_continue: (a: number, b: number, c: number, d: number, e: number) => void;
322
+ readonly debugservice_eval_step_in: (a: number, b: number, c: number, d: number, e: number) => void;
323
+ readonly debugservice_eval_step_out: (a: number, b: number, c: number, d: number, e: number) => void;
324
+ readonly debugservice_get_breakpoints: (a: number, b: number, c: number) => number;
325
+ readonly debugservice_get_locals: (a: number) => number;
310
326
  readonly __wbg_languageservice_free: (a: number) => void;
311
327
  readonly languageservice_new: (a: number) => number;
312
328
  readonly languageservice_update_configuration: (a: number, b: number) => void;
@@ -320,17 +336,6 @@ export interface InitOutput {
320
336
  readonly languageservice_prepare_rename: (a: number, b: number, c: number, d: number) => number;
321
337
  readonly initLogging: (a: number, b: number, c: number) => void;
322
338
  readonly setLogLevel: (a: number) => void;
323
- readonly __wbg_debugservice_free: (a: number) => void;
324
- readonly debugservice_new: () => number;
325
- readonly debugservice_load_source: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
326
- readonly debugservice_capture_quantum_state: (a: number) => number;
327
- readonly debugservice_get_stack_frames: (a: number) => number;
328
- readonly debugservice_eval_next: (a: number, b: number, c: number, d: number, e: number) => void;
329
- readonly debugservice_eval_continue: (a: number, b: number, c: number, d: number, e: number) => void;
330
- readonly debugservice_eval_step_in: (a: number, b: number, c: number, d: number, e: number) => void;
331
- readonly debugservice_eval_step_out: (a: number, b: number, c: number, d: number, e: number) => void;
332
- readonly debugservice_get_breakpoints: (a: number, b: number, c: number) => number;
333
- readonly debugservice_get_locals: (a: number) => number;
334
339
  readonly __wbindgen_export_0: (a: number) => number;
335
340
  readonly __wbindgen_export_1: (a: number, b: number, c: number) => number;
336
341
  readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
@@ -324,6 +324,21 @@ export function check_exercise_solution(solution_code, exercise_sources_js, even
324
324
  }
325
325
  }
326
326
 
327
+ let cachedUint32Memory0 = null;
328
+
329
+ function getUint32Memory0() {
330
+ if (cachedUint32Memory0 === null || cachedUint32Memory0.byteLength === 0) {
331
+ cachedUint32Memory0 = new Uint32Array(wasm.memory.buffer);
332
+ }
333
+ return cachedUint32Memory0;
334
+ }
335
+
336
+ function passArray32ToWasm0(arg, malloc) {
337
+ const ptr = malloc(arg.length * 4);
338
+ getUint32Memory0().set(arg, ptr / 4);
339
+ WASM_VECTOR_LEN = arg.length;
340
+ return ptr;
341
+ }
327
342
  /**
328
343
  * @param {any} callback
329
344
  * @param {number} level
@@ -349,22 +364,6 @@ export function setLogLevel(level) {
349
364
  wasm.setLogLevel(level);
350
365
  }
351
366
 
352
- let cachedUint32Memory0 = null;
353
-
354
- function getUint32Memory0() {
355
- if (cachedUint32Memory0 === null || cachedUint32Memory0.byteLength === 0) {
356
- cachedUint32Memory0 = new Uint32Array(wasm.memory.buffer);
357
- }
358
- return cachedUint32Memory0;
359
- }
360
-
361
- function passArray32ToWasm0(arg, malloc) {
362
- const ptr = malloc(arg.length * 4);
363
- getUint32Memory0().set(arg, ptr / 4);
364
- WASM_VECTOR_LEN = arg.length;
365
- return ptr;
366
- }
367
-
368
367
  function handleError(f, args) {
369
368
  try {
370
369
  return f.apply(this, args);
@@ -763,6 +762,10 @@ function getImports() {
763
762
  const ret = getObject(arg0);
764
763
  return addHeapObject(ret);
765
764
  };
765
+ imports.wbg.__wbindgen_number_new = function(arg0) {
766
+ const ret = arg0;
767
+ return addHeapObject(ret);
768
+ };
766
769
  imports.wbg.__wbg_new_0232637a3cb0b1a7 = function() {
767
770
  const ret = new Error();
768
771
  return addHeapObject(ret);
@@ -774,10 +777,6 @@ function getImports() {
774
777
  getInt32Memory0()[arg0 / 4 + 1] = len0;
775
778
  getInt32Memory0()[arg0 / 4 + 0] = ptr0;
776
779
  };
777
- imports.wbg.__wbindgen_number_new = function(arg0) {
778
- const ret = arg0;
779
- return addHeapObject(ret);
780
- };
781
780
  imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) {
782
781
  const ret = getObject(arg0) == getObject(arg1);
783
782
  return ret;
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "qsharp-lang",
3
3
  "description": "qsharp language package for quantum development",
4
- "version": "1.0.16-dev",
4
+ "version": "1.0.18-dev",
5
5
  "license": "MIT",
6
6
  "engines": {
7
7
  "node": ">=16.17.0"