@zzzen/pyright-internal 1.2.0-dev.20230305 → 1.2.0-dev.20230312
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/dist/analyzer/binder.js +23 -3
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +3 -3
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/commentUtils.js +11 -1
- package/dist/analyzer/commentUtils.js.map +1 -1
- package/dist/analyzer/constructorTransform.d.ts +1 -0
- package/dist/analyzer/constructorTransform.js +19 -2
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +40 -40
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/patternMatching.js +13 -11
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +5 -4
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/sourceFile.js +12 -1
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +156 -42
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
- package/dist/analyzer/typePrinter.js +63 -55
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -0
- package/dist/analyzer/typeUtils.js +9 -3
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +2 -1
- package/dist/analyzer/typedDicts.js +57 -40
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +1 -0
- package/dist/analyzer/types.js +8 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +78 -0
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/extensibility.js +25 -1
- package/dist/common/extensibility.js.map +1 -1
- package/dist/languageServerBase.js +3 -1
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +4 -2
- package/dist/languageService/completionProvider.js +206 -151
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/renameModuleProvider.d.ts +1 -1
- package/dist/languageService/renameModuleProvider.js +8 -1
- package/dist/languageService/renameModuleProvider.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +2 -1
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +3 -0
- package/dist/localization/localize.js +1 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +1 -0
- package/dist/parser/parser.js +22 -7
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizer.js +1 -1
- package/dist/tests/completions.test.js +445 -0
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.js +13 -3
- package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.js +7 -2
- package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.js.map +1 -1
- package/dist/tests/hoverProvider.test.js +1 -1
- package/dist/tests/hoverProvider.test.js.map +1 -1
- package/dist/tests/moveSymbol.misc.test.js +27 -0
- package/dist/tests/moveSymbol.misc.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +4 -0
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +4 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +4 -0
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/package.json +1 -1
package/dist/parser/tokenizer.js
CHANGED
@@ -633,7 +633,7 @@ class Tokenizer {
|
|
633
633
|
if (!isNaN(intValue)) {
|
634
634
|
const bigIntValue = BigInt(simpleIntText);
|
635
635
|
if (!isFinite(intValue) ||
|
636
|
-
intValue < Number.
|
636
|
+
intValue < Number.MIN_SAFE_INTEGER ||
|
637
637
|
intValue > Number.MAX_SAFE_INTEGER) {
|
638
638
|
intValue = bigIntValue;
|
639
639
|
}
|
@@ -4,7 +4,12 @@
|
|
4
4
|
*
|
5
5
|
* completions tests.
|
6
6
|
*/
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
9
|
+
};
|
7
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
11
|
+
const assert_1 = __importDefault(require("assert"));
|
12
|
+
const vscode_languageserver_1 = require("vscode-languageserver");
|
8
13
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
9
14
|
const testState_1 = require("./harness/fourslash/testState");
|
10
15
|
test('completion import statement tooltip', async () => {
|
@@ -328,4 +333,444 @@ test('completion from import statement tooltip - implicit module', async () => {
|
|
328
333
|
},
|
329
334
|
});
|
330
335
|
});
|
336
|
+
test('include literals in expression completion', async () => {
|
337
|
+
const code = `
|
338
|
+
// @filename: test.py
|
339
|
+
//// from typing import TypedDict
|
340
|
+
////
|
341
|
+
//// class TestType(TypedDict):
|
342
|
+
//// A: str
|
343
|
+
//// B: int
|
344
|
+
////
|
345
|
+
//// var: TestType = {}
|
346
|
+
////
|
347
|
+
//// var[[|A/*marker*/|]]
|
348
|
+
`;
|
349
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
350
|
+
const marker = state.getMarkerByName('marker');
|
351
|
+
state.openFile(marker.fileName);
|
352
|
+
await state.verifyCompletion('included', vscode_languageserver_types_1.MarkupKind.Markdown, {
|
353
|
+
marker: {
|
354
|
+
completions: [
|
355
|
+
{
|
356
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
357
|
+
label: "'A'",
|
358
|
+
textEdit: { range: state.getPositionRange('marker'), newText: "'A'" },
|
359
|
+
},
|
360
|
+
],
|
361
|
+
},
|
362
|
+
});
|
363
|
+
});
|
364
|
+
test('include literals in set key', async () => {
|
365
|
+
const code = `
|
366
|
+
// @filename: test.py
|
367
|
+
//// from typing import TypedDict
|
368
|
+
////
|
369
|
+
//// class TestType(TypedDict):
|
370
|
+
//// A: str
|
371
|
+
//// B: int
|
372
|
+
////
|
373
|
+
//// var: TestType = { [|A/*marker*/|] }
|
374
|
+
`;
|
375
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
376
|
+
const marker = state.getMarkerByName('marker');
|
377
|
+
state.openFile(marker.fileName);
|
378
|
+
await state.verifyCompletion('included', vscode_languageserver_types_1.MarkupKind.Markdown, {
|
379
|
+
marker: {
|
380
|
+
completions: [
|
381
|
+
{
|
382
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
383
|
+
label: "'A'",
|
384
|
+
textEdit: { range: state.getPositionRange('marker'), newText: "'A'" },
|
385
|
+
},
|
386
|
+
],
|
387
|
+
},
|
388
|
+
});
|
389
|
+
});
|
390
|
+
test('include literals in dict key', async () => {
|
391
|
+
const code = `
|
392
|
+
// @filename: test.py
|
393
|
+
//// from typing import TypedDict
|
394
|
+
////
|
395
|
+
//// class TestType(TypedDict):
|
396
|
+
//// A: str
|
397
|
+
//// B: int
|
398
|
+
////
|
399
|
+
//// var: TestType = { [|A/*marker*/|] : "hello" }
|
400
|
+
`;
|
401
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
402
|
+
const marker = state.getMarkerByName('marker');
|
403
|
+
state.openFile(marker.fileName);
|
404
|
+
await state.verifyCompletion('included', vscode_languageserver_types_1.MarkupKind.Markdown, {
|
405
|
+
marker: {
|
406
|
+
completions: [
|
407
|
+
{
|
408
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
409
|
+
label: '"A"',
|
410
|
+
textEdit: { range: state.getPositionRange('marker'), newText: '"A"' },
|
411
|
+
},
|
412
|
+
],
|
413
|
+
},
|
414
|
+
});
|
415
|
+
});
|
416
|
+
test('literals support for binary operators - equals', async () => {
|
417
|
+
const code = `
|
418
|
+
// @filename: test.py
|
419
|
+
//// from typing import Literal
|
420
|
+
////
|
421
|
+
//// Currency = Literal["USD", "EUR"]
|
422
|
+
////
|
423
|
+
//// def foo(c: Currency):
|
424
|
+
//// if c == [|"/*marker*/"|]
|
425
|
+
`;
|
426
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
427
|
+
const marker = state.getMarkerByName('marker');
|
428
|
+
state.openFile(marker.fileName);
|
429
|
+
await state.verifyCompletion('included', vscode_languageserver_types_1.MarkupKind.Markdown, {
|
430
|
+
marker: {
|
431
|
+
completions: [
|
432
|
+
{
|
433
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
434
|
+
label: '"USD"',
|
435
|
+
textEdit: { range: state.getPositionRange('marker'), newText: '"USD"' },
|
436
|
+
},
|
437
|
+
{
|
438
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
439
|
+
label: '"EUR"',
|
440
|
+
textEdit: { range: state.getPositionRange('marker'), newText: '"EUR"' },
|
441
|
+
},
|
442
|
+
],
|
443
|
+
},
|
444
|
+
});
|
445
|
+
});
|
446
|
+
test('literals support for binary operators - not equals', async () => {
|
447
|
+
const code = `
|
448
|
+
// @filename: test.py
|
449
|
+
//// from typing import Literal
|
450
|
+
////
|
451
|
+
//// Currency = Literal["USD", "EUR"]
|
452
|
+
////
|
453
|
+
//// def foo(c: Currency):
|
454
|
+
//// if c != [|"/*marker*/"|]
|
455
|
+
`;
|
456
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
457
|
+
const marker = state.getMarkerByName('marker');
|
458
|
+
state.openFile(marker.fileName);
|
459
|
+
await state.verifyCompletion('included', vscode_languageserver_types_1.MarkupKind.Markdown, {
|
460
|
+
marker: {
|
461
|
+
completions: [
|
462
|
+
{
|
463
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
464
|
+
label: '"USD"',
|
465
|
+
textEdit: { range: state.getPositionRange('marker'), newText: '"USD"' },
|
466
|
+
},
|
467
|
+
{
|
468
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
469
|
+
label: '"EUR"',
|
470
|
+
textEdit: { range: state.getPositionRange('marker'), newText: '"EUR"' },
|
471
|
+
},
|
472
|
+
],
|
473
|
+
},
|
474
|
+
});
|
475
|
+
});
|
476
|
+
test('literals support for binary operators without string node', async () => {
|
477
|
+
const code = `
|
478
|
+
// @filename: test.py
|
479
|
+
//// from typing import Literal
|
480
|
+
////
|
481
|
+
//// Currency = Literal["USD", "EUR"]
|
482
|
+
////
|
483
|
+
//// def foo(c: Currency):
|
484
|
+
//// if c != [|/*marker*/|]
|
485
|
+
`;
|
486
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
487
|
+
const marker = state.getMarkerByName('marker');
|
488
|
+
state.openFile(marker.fileName);
|
489
|
+
await state.verifyCompletion('included', vscode_languageserver_types_1.MarkupKind.Markdown, {
|
490
|
+
marker: {
|
491
|
+
completions: [
|
492
|
+
{
|
493
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
494
|
+
label: '"USD"',
|
495
|
+
},
|
496
|
+
{
|
497
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
498
|
+
label: '"EUR"',
|
499
|
+
},
|
500
|
+
],
|
501
|
+
},
|
502
|
+
});
|
503
|
+
});
|
504
|
+
test('literals support for binary operators with prior word', async () => {
|
505
|
+
const code = `
|
506
|
+
// @filename: test.py
|
507
|
+
//// from typing import Literal
|
508
|
+
////
|
509
|
+
//// Currency = Literal["USD", "EUR"]
|
510
|
+
////
|
511
|
+
//// def foo(c: Currency):
|
512
|
+
//// if c != [|US/*marker*/|]
|
513
|
+
`;
|
514
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
515
|
+
const marker = state.getMarkerByName('marker');
|
516
|
+
state.openFile(marker.fileName);
|
517
|
+
await state.verifyCompletion('included', vscode_languageserver_types_1.MarkupKind.Markdown, {
|
518
|
+
marker: {
|
519
|
+
completions: [
|
520
|
+
{
|
521
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
522
|
+
label: '"USD"',
|
523
|
+
},
|
524
|
+
],
|
525
|
+
},
|
526
|
+
});
|
527
|
+
});
|
528
|
+
test('literals support for binary operators - assignment expression', async () => {
|
529
|
+
const code = `
|
530
|
+
// @filename: test.py
|
531
|
+
//// from typing import Literal
|
532
|
+
////
|
533
|
+
//// Currency = Literal["USD", "EUR"]
|
534
|
+
////
|
535
|
+
//// def foo(c: Currency):
|
536
|
+
//// if c := [|"/*marker*/"|]
|
537
|
+
`;
|
538
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
539
|
+
const marker = state.getMarkerByName('marker');
|
540
|
+
state.openFile(marker.fileName);
|
541
|
+
await state.verifyCompletion('included', vscode_languageserver_types_1.MarkupKind.Markdown, {
|
542
|
+
marker: {
|
543
|
+
completions: [
|
544
|
+
{
|
545
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
546
|
+
label: '"USD"',
|
547
|
+
textEdit: { range: state.getPositionRange('marker'), newText: '"USD"' },
|
548
|
+
},
|
549
|
+
{
|
550
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
551
|
+
label: '"EUR"',
|
552
|
+
textEdit: { range: state.getPositionRange('marker'), newText: '"EUR"' },
|
553
|
+
},
|
554
|
+
],
|
555
|
+
},
|
556
|
+
});
|
557
|
+
});
|
558
|
+
test('literals support for call', async () => {
|
559
|
+
const code = `
|
560
|
+
// @filename: test.py
|
561
|
+
//// from typing import Literal
|
562
|
+
////
|
563
|
+
//// Currency = Literal["USD", "EUR"]
|
564
|
+
////
|
565
|
+
//// def foo(c: Currency) -> Currency:
|
566
|
+
//// return c
|
567
|
+
////
|
568
|
+
//// if foo([|"/*marker1*/"|]) == [|"/*marker2*/"|]
|
569
|
+
`;
|
570
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
571
|
+
const marker1 = state.getMarkerByName('marker1');
|
572
|
+
state.openFile(marker1.fileName);
|
573
|
+
await state.verifyCompletion('included', vscode_languageserver_types_1.MarkupKind.Markdown, {
|
574
|
+
marker1: {
|
575
|
+
completions: [
|
576
|
+
{
|
577
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
578
|
+
label: '"USD"',
|
579
|
+
textEdit: { range: state.getPositionRange('marker1'), newText: '"USD"' },
|
580
|
+
},
|
581
|
+
{
|
582
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
583
|
+
label: '"EUR"',
|
584
|
+
textEdit: { range: state.getPositionRange('marker1'), newText: '"EUR"' },
|
585
|
+
},
|
586
|
+
],
|
587
|
+
},
|
588
|
+
marker2: {
|
589
|
+
completions: [
|
590
|
+
{
|
591
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
592
|
+
label: '"USD"',
|
593
|
+
textEdit: { range: state.getPositionRange('marker2'), newText: '"USD"' },
|
594
|
+
},
|
595
|
+
{
|
596
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
597
|
+
label: '"EUR"',
|
598
|
+
textEdit: { range: state.getPositionRange('marker2'), newText: '"EUR"' },
|
599
|
+
},
|
600
|
+
],
|
601
|
+
},
|
602
|
+
});
|
603
|
+
});
|
604
|
+
test('list with literal types', async () => {
|
605
|
+
const code = `
|
606
|
+
// @filename: test.py
|
607
|
+
//// from typing import Literal
|
608
|
+
////
|
609
|
+
//// Currency = Literal["USD", "EUR"]
|
610
|
+
////
|
611
|
+
//// a: list[Currency] = [[|"/*marker*/"|]]
|
612
|
+
`;
|
613
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
614
|
+
const marker = state.getMarkerByName('marker');
|
615
|
+
state.openFile(marker.fileName);
|
616
|
+
await state.verifyCompletion('included', vscode_languageserver_types_1.MarkupKind.Markdown, {
|
617
|
+
marker: {
|
618
|
+
completions: [
|
619
|
+
{
|
620
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
621
|
+
label: '"USD"',
|
622
|
+
textEdit: { range: state.getPositionRange('marker'), newText: '"USD"' },
|
623
|
+
},
|
624
|
+
{
|
625
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
626
|
+
label: '"EUR"',
|
627
|
+
textEdit: { range: state.getPositionRange('marker'), newText: '"EUR"' },
|
628
|
+
},
|
629
|
+
],
|
630
|
+
},
|
631
|
+
});
|
632
|
+
});
|
633
|
+
test('literals support for match - error case', async () => {
|
634
|
+
const code = `
|
635
|
+
// @filename: test.py
|
636
|
+
//// from typing import Literal
|
637
|
+
////
|
638
|
+
//// Currency = Literal["USD", "EUR"]
|
639
|
+
////
|
640
|
+
//// def foo(c: Currency):
|
641
|
+
//// match c:
|
642
|
+
//// case [|/*marker*/|]
|
643
|
+
`;
|
644
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
645
|
+
const marker = state.getMarkerByName('marker');
|
646
|
+
state.openFile(marker.fileName);
|
647
|
+
await state.verifyCompletion('included', vscode_languageserver_types_1.MarkupKind.Markdown, {
|
648
|
+
marker: {
|
649
|
+
completions: [
|
650
|
+
{
|
651
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
652
|
+
label: '"USD"',
|
653
|
+
},
|
654
|
+
{
|
655
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
656
|
+
label: '"EUR"',
|
657
|
+
},
|
658
|
+
],
|
659
|
+
},
|
660
|
+
});
|
661
|
+
});
|
662
|
+
test('literals support for match - simple case', async () => {
|
663
|
+
const code = `
|
664
|
+
// @filename: test.py
|
665
|
+
//// from typing import Literal
|
666
|
+
////
|
667
|
+
//// Currency = Literal["USD", "EUR"]
|
668
|
+
////
|
669
|
+
//// def foo(c: Currency):
|
670
|
+
//// match c:
|
671
|
+
//// case [|"/*marker*/"|]
|
672
|
+
`;
|
673
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
674
|
+
const marker = state.getMarkerByName('marker');
|
675
|
+
state.openFile(marker.fileName);
|
676
|
+
await state.verifyCompletion('included', vscode_languageserver_types_1.MarkupKind.Markdown, {
|
677
|
+
marker: {
|
678
|
+
completions: [
|
679
|
+
{
|
680
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
681
|
+
label: '"USD"',
|
682
|
+
textEdit: { range: state.getPositionRange('marker'), newText: '"USD"' },
|
683
|
+
},
|
684
|
+
{
|
685
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
686
|
+
label: '"EUR"',
|
687
|
+
textEdit: { range: state.getPositionRange('marker'), newText: '"EUR"' },
|
688
|
+
},
|
689
|
+
],
|
690
|
+
},
|
691
|
+
});
|
692
|
+
});
|
693
|
+
test('literals support for match - simple case without string', async () => {
|
694
|
+
const code = `
|
695
|
+
// @filename: test.py
|
696
|
+
//// from typing import Literal
|
697
|
+
////
|
698
|
+
//// Currency = Literal["USD", "EUR"]
|
699
|
+
////
|
700
|
+
//// def foo(c: Currency):
|
701
|
+
//// match c:
|
702
|
+
//// case [|US/*marker*/|]
|
703
|
+
`;
|
704
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
705
|
+
const marker = state.getMarkerByName('marker');
|
706
|
+
state.openFile(marker.fileName);
|
707
|
+
await state.verifyCompletion('included', vscode_languageserver_types_1.MarkupKind.Markdown, {
|
708
|
+
marker: {
|
709
|
+
completions: [
|
710
|
+
{
|
711
|
+
kind: vscode_languageserver_types_1.CompletionItemKind.Constant,
|
712
|
+
label: '"USD"',
|
713
|
+
},
|
714
|
+
],
|
715
|
+
},
|
716
|
+
});
|
717
|
+
});
|
718
|
+
test('completion quote trigger', async () => {
|
719
|
+
const code = `
|
720
|
+
// @filename: test.py
|
721
|
+
//// from typing import Literal
|
722
|
+
////
|
723
|
+
//// Currency = Literal["USD", "EUR"]
|
724
|
+
////
|
725
|
+
//// def foo(c: Currency):
|
726
|
+
//// match c:
|
727
|
+
//// case [|"/*marker*/"|]
|
728
|
+
`;
|
729
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
730
|
+
const marker = state.getMarkerByName('marker');
|
731
|
+
const filePath = marker.fileName;
|
732
|
+
const position = state.convertOffsetToPosition(filePath, marker.position);
|
733
|
+
const options = {
|
734
|
+
format: 'markdown',
|
735
|
+
snippet: false,
|
736
|
+
lazyEdit: false,
|
737
|
+
autoImport: false,
|
738
|
+
extraCommitChars: false,
|
739
|
+
importFormat: "absolute" /* Absolute */,
|
740
|
+
includeUserSymbolsInAutoImport: false,
|
741
|
+
triggerCharacter: '"',
|
742
|
+
};
|
743
|
+
const result = await state.workspace.serviceInstance.getCompletionsForPosition(filePath, position, state.workspace.path, options, undefined, vscode_languageserver_1.CancellationToken.None);
|
744
|
+
(0, assert_1.default)(result);
|
745
|
+
const item = result.completionList.items.find((a) => a.label === '"USD"');
|
746
|
+
(0, assert_1.default)(item);
|
747
|
+
});
|
748
|
+
test('completion quote trigger - middle', async () => {
|
749
|
+
const code = `
|
750
|
+
// @filename: test.py
|
751
|
+
//// from typing import Literal
|
752
|
+
////
|
753
|
+
//// Currency = Literal["Quote'Middle"]
|
754
|
+
////
|
755
|
+
//// def foo(c: Currency):
|
756
|
+
//// match c:
|
757
|
+
//// case [|"Quote'/*marker*/"|]
|
758
|
+
`;
|
759
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
760
|
+
const marker = state.getMarkerByName('marker');
|
761
|
+
const filePath = marker.fileName;
|
762
|
+
const position = state.convertOffsetToPosition(filePath, marker.position);
|
763
|
+
const options = {
|
764
|
+
format: 'markdown',
|
765
|
+
snippet: false,
|
766
|
+
lazyEdit: false,
|
767
|
+
autoImport: false,
|
768
|
+
extraCommitChars: false,
|
769
|
+
importFormat: "absolute" /* Absolute */,
|
770
|
+
includeUserSymbolsInAutoImport: false,
|
771
|
+
triggerCharacter: "'",
|
772
|
+
};
|
773
|
+
const result = await state.workspace.serviceInstance.getCompletionsForPosition(filePath, position, state.workspace.path, options, undefined, vscode_languageserver_1.CancellationToken.None);
|
774
|
+
assert_1.default.strictEqual(result === null || result === void 0 ? void 0 : result.completionList.items.length, 0);
|
775
|
+
});
|
331
776
|
//# sourceMappingURL=completions.test.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"completions.test.js","sourceRoot":"","sources":["../../../src/tests/completions.test.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"completions.test.js","sourceRoot":"","sources":["../../../src/tests/completions.test.ts"],"names":[],"mappings":"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"}
|
@@ -15,7 +15,7 @@
|
|
15
15
|
// @filename: dict_expression_partial_expression.py
|
16
16
|
//// d = { "key" : 1 }
|
17
17
|
//// d["key2"] = 1
|
18
|
-
//// d[key/*marker4
|
18
|
+
//// d[[|key/*marker4*/|]]
|
19
19
|
// @filename: dict_expression_complex_key.py
|
20
20
|
//// class C:
|
21
21
|
//// key = "name"
|
@@ -46,8 +46,18 @@
|
|
46
46
|
},
|
47
47
|
marker4: {
|
48
48
|
completions: [
|
49
|
-
{
|
50
|
-
|
49
|
+
{
|
50
|
+
label: '"key"',
|
51
|
+
kind: Consts.CompletionItemKind.Constant,
|
52
|
+
textEdit: { range: helper.getPositionRange('marker4'), newText: '"key"' },
|
53
|
+
detail: 'Dictionary key',
|
54
|
+
},
|
55
|
+
{
|
56
|
+
label: '"key2"',
|
57
|
+
kind: Consts.CompletionItemKind.Constant,
|
58
|
+
textEdit: { range: helper.getPositionRange('marker4'), newText: '"key2"' },
|
59
|
+
detail: 'Dictionary key',
|
60
|
+
},
|
51
61
|
],
|
52
62
|
},
|
53
63
|
marker5: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"completions.dictionary.keys.expression.fourslash.js","sourceRoot":"","sources":["../../../../src/tests/fourslash/completions.dictionary.keys.expression.fourslash.ts"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,uCAAuC;AACvC,iBAAiB;AACjB,aAAa;AACb,mBAAmB;AAEnB,sCAAsC;AACtC,sBAAsB;AACtB,kBAAkB;AAClB,mBAAmB;AAEnB,+CAA+C;AAC/C,qBAAqB;AACrB,iBAAiB;AACjB,mBAAmB;AAEnB,mDAAmD;AACnD,sBAAsB;AACtB,kBAAkB;AAClB,
|
1
|
+
{"version":3,"file":"completions.dictionary.keys.expression.fourslash.js","sourceRoot":"","sources":["../../../../src/tests/fourslash/completions.dictionary.keys.expression.fourslash.ts"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,uCAAuC;AACvC,iBAAiB;AACjB,aAAa;AACb,mBAAmB;AAEnB,sCAAsC;AACtC,sBAAsB;AACtB,kBAAkB;AAClB,mBAAmB;AAEnB,+CAA+C;AAC/C,qBAAqB;AACrB,iBAAiB;AACjB,mBAAmB;AAEnB,mDAAmD;AACnD,sBAAsB;AACtB,kBAAkB;AAClB,0BAA0B;AAE1B,4CAA4C;AAC5C,aAAa;AACb,qBAAqB;AACrB,IAAI;AACJ,sBAAsB;AACtB,sBAAsB;AAEtB;IACI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7D,aAAa;IACb,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE;QAClD,OAAO,EAAE;YACL,WAAW,EAAE;gBACT,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE;gBAClF,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE;aACrF;SACJ;QACD,OAAO,EAAE;YACL,WAAW,EAAE;gBACT,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE;gBACvF,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE;aAC1F;SACJ;QACD,OAAO,EAAE;YACL,WAAW,EAAE;gBACT,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE;gBACtF,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE;aACzF;SACJ;QACD,OAAO,EAAE;YACL,WAAW,EAAE;gBACT;oBACI,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ;oBACxC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;oBACzE,MAAM,EAAE,gBAAgB;iBAC3B;gBACD;oBACI,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ;oBACxC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;oBAC1E,MAAM,EAAE,gBAAgB;iBAC3B;aACJ;SACJ;QACD,OAAO,EAAE;YACL,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;SACxG;KACJ,CAAC,CAAC;CACN"}
|
@@ -20,7 +20,7 @@
|
|
20
20
|
// @filename: dict_key_name_conflicts.py
|
21
21
|
//// keyString = "key"
|
22
22
|
//// d = dict(keyString=1)
|
23
|
-
//// d[keyStr
|
23
|
+
//// d[[|keyStr/*marker6*/|]]
|
24
24
|
// @filename: dict_key_mixed_literals.py
|
25
25
|
//// d = { "key": 1, 1 + 2: 1 }
|
26
26
|
//// d[[|/*marker7*/|]]
|
@@ -86,7 +86,12 @@
|
|
86
86
|
marker6: {
|
87
87
|
completions: [
|
88
88
|
{ label: 'keyString', kind: Consts.CompletionItemKind.Variable },
|
89
|
-
{
|
89
|
+
{
|
90
|
+
label: '"keyString"',
|
91
|
+
kind: Consts.CompletionItemKind.Constant,
|
92
|
+
textEdit: { range: helper.getPositionRange('marker6'), newText: '"keyString"' },
|
93
|
+
detail: 'Dictionary key',
|
94
|
+
},
|
90
95
|
],
|
91
96
|
},
|
92
97
|
marker7: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"completions.dictionary.keys.stringLiterals.fourslash.js","sourceRoot":"","sources":["../../../../src/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.ts"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,gCAAgC;AAChC,sBAAsB;AACtB,yBAAyB;AAEzB,iCAAiC;AACjC,oBAAoB;AACpB,yBAAyB;AAEzB,gCAAgC;AAChC,qBAAqB;AACrB,wBAAwB;AAExB,iCAAiC;AACjC,oBAAoB;AACpB,0BAA0B;AAE1B,4CAA4C;AAC5C,iBAAiB;AACjB,oBAAoB;AACpB,kBAAkB;AAClB,uBAAuB;AAEvB,wCAAwC;AACxC,sBAAsB;AACtB,0BAA0B;AAC1B,6BAA6B;AAE7B,wCAAwC;AACxC,+BAA+B;AAC/B,uBAAuB;AAEvB;IACI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7D,aAAa;IACb,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE;QAC/C,OAAO,EAAE;YACL,WAAW,EAAE;gBACT;oBACI,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ;oBACxC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;oBACzE,MAAM,EAAE,gBAAgB;iBAC3B;aACJ;SACJ;QACD,OAAO,EAAE;YACL,WAAW,EAAE;gBACT;oBACI,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ;oBACxC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;oBACzE,MAAM,EAAE,gBAAgB;iBAC3B;aACJ;SACJ;QACD,OAAO,EAAE;YACL,WAAW,EAAE;gBACT;oBACI,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ;oBACxC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;oBACzE,MAAM,EAAE,gBAAgB;iBAC3B;aACJ;SACJ;QACD,OAAO,EAAE;YACL,WAAW,EAAE;gBACT;oBACI,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ;oBACxC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;oBACzE,MAAM,EAAE,gBAAgB;iBAC3B;aACJ;SACJ;QACD,OAAO,EAAE;YACL,WAAW,EAAE;gBACT;oBACI,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ;oBACxC,MAAM,EAAE,gBAAgB;iBAC3B;gBACD;oBACI,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ;oBACxC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;oBAC1E,MAAM,EAAE,gBAAgB;iBAC3B;aACJ;SACJ;QACD,OAAO,EAAE;YACL,WAAW,EAAE;gBACT,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE;gBAChE,
|
1
|
+
{"version":3,"file":"completions.dictionary.keys.stringLiterals.fourslash.js","sourceRoot":"","sources":["../../../../src/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.ts"],"names":[],"mappings":"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"}
|
@@ -268,7 +268,7 @@ test('import tooltip - check duplicate property', async () => {
|
|
268
268
|
const marker = state.getMarkerByName('marker');
|
269
269
|
state.openFile(marker.fileName);
|
270
270
|
state.verifyHover('markdown', {
|
271
|
-
marker: '```python\n(property)
|
271
|
+
marker: '```python\n(property) test: (self: Self@Test) -> bool\n```\n---\nTest DocString.\n\nReturns\n-------\nbool \n Lorem Ipsum',
|
272
272
|
});
|
273
273
|
});
|
274
274
|
//# sourceMappingURL=hoverProvider.test.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hoverProvider.test.js","sourceRoot":"","sources":["../../../src/tests/hoverProvider.test.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"hoverProvider.test.js","sourceRoot":"","sources":["../../../src/tests/hoverProvider.test.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAEH,6DAAqE;AAErE,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;IACjD,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;KAgBZ,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACjD,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE;QAC1B,OAAO,EAAE,sDAAsD;QAC/D,OAAO,EAAE,8CAA8C;KAC1D,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;IACjD,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;KAiBZ,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACjD,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE;QAC1B,OAAO,EAAE,sDAAsD;QAC/D,OAAO,EAAE,8CAA8C;KAC1D,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;KAwBZ,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACjD,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE;QAC1B,OAAO,EAAE,sDAAsD;QAC/D,OAAO,EAAE,8CAA8C;KAC1D,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IAC9D,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;KAyBZ,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACjD,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE;QAC1B,OAAO,EAAE,sDAAsD;QAC/D,OAAO,EAAE,8CAA8C;KAC1D,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;KAoBZ,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC/C,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEhC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,oCAAoC,EAAE,CAAC,CAAC;AACpF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;KAqBZ,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC/C,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEhC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,oCAAoC,EAAE,CAAC,CAAC;AACpF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;IACjE,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;KAwBZ,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACjD,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE;QAC1B,OAAO,EAAE,sDAAsD;QAC/D,OAAO,EAAE,8CAA8C;KAC1D,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;IACjE,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;KAoBZ,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC/C,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEhC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,oCAAoC,EAAE,CAAC,CAAC;AACpF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IACzD,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;KAkBZ,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC/C,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEhC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE;QAC1B,MAAM,EAAE,mJAAmJ;KAC9J,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
@@ -134,6 +134,33 @@ test('augmented assignment 2', () => {
|
|
134
134
|
`;
|
135
135
|
testNoMoveFromCode(code);
|
136
136
|
});
|
137
|
+
test('symbol must be from user files', () => {
|
138
|
+
const code = `
|
139
|
+
// @filename: pyrightconfig.json
|
140
|
+
//// {
|
141
|
+
//// "useLibraryCodeForTypes": true
|
142
|
+
//// }
|
143
|
+
|
144
|
+
// @filename: used.py
|
145
|
+
//// /*used*/
|
146
|
+
//// import lib
|
147
|
+
//// lib.a
|
148
|
+
|
149
|
+
// @filename: lib.py
|
150
|
+
// @library: true
|
151
|
+
//// a = 1
|
152
|
+
//// [|/*marker*/a|] += 1
|
153
|
+
|
154
|
+
// @filename: moved.py
|
155
|
+
// @library: true
|
156
|
+
//// [|/*dest*/|]
|
157
|
+
`;
|
158
|
+
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
159
|
+
while (state.workspace.serviceInstance.test_program.analyze())
|
160
|
+
;
|
161
|
+
const actions = state.program.moveSymbolAtPosition(state.getMarkerByName('marker').fileName, state.getMarkerByName('dest').fileName, state.getPositionRange('marker').start, { importFormat: "absolute" /* Absolute */ }, vscode_languageserver_1.CancellationToken.None);
|
162
|
+
(0, assert_1.default)(!actions);
|
163
|
+
});
|
137
164
|
function testNoMoveFromCode(code) {
|
138
165
|
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
139
166
|
const actions = state.program.moveSymbolAtPosition(state.getMarkerByName('marker').fileName, state.getMarkerByName('dest').fileName, state.getPositionRange('marker').start, { importFormat: "absolute" /* Absolute */ }, vscode_languageserver_1.CancellationToken.None);
|