Skip to content

Commit eb2c7e5

Browse files
committed
Add Filesystem API to jars
1 parent 2a241a8 commit eb2c7e5

6 files changed

+344
-92
lines changed

.eslintrc.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ module.exports = {
1717
{ ignoreRestArgs: true },
1818
],
1919
"no-unused-vars": "off",
20-
"@typescript-eslint/no-unused-vars": ["error"],
20+
"@typescript-eslint/no-unused-vars": [
21+
"error",
22+
{ varsIgnorePattern: "_" },
23+
],
2124
"@typescript-eslint/no-non-null-assertion": "error",
2225
"guard-for-in": "error",
2326
"no-var": "error",

package.json

+29-19
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@
7171
{
7272
"id": "java",
7373
"extensions": [
74-
".cfr"
74+
".cfr",
75+
".class"
7576
]
7677
},
7778
{
@@ -407,6 +408,11 @@
407408
"category": "Metals",
408409
"title": "Run doctor"
409410
},
411+
{
412+
"command": "metals.show-libraries-folder",
413+
"category": "Metals",
414+
"title": "Show libraries folder in file explorer"
415+
},
410416
{
411417
"command": "metals.show-tasty",
412418
"category": "Metals",
@@ -561,33 +567,37 @@
561567
}
562568
],
563569
"commandPalette": [
570+
{
571+
"command": "metals.show-libraries-folder",
572+
"when": "metals:enabled"
573+
},
564574
{
565575
"command": "metals.show-tasty",
566-
"when": "metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.tasty || metals:enabled && resourceExtname==.tasty-decoded"
576+
"when": "metals:enabled && resourceScheme != metalsfs && resourceExtname==.scala || metals:enabled && resourceExtname==.tasty-decoded"
567577
},
568578
{
569579
"command": "metals.show-cfr",
570-
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.class || metals:enabled && resourceExtname==.cfr"
580+
"when": "metals:enabled && resourceScheme != metalsfs && resourceExtname==.java || metals:enabled && resourceScheme != metalsfs && resourceExtname==.scala || metals:enabled && resourceExtname==.cfr"
571581
},
572582
{
573583
"command": "metals.show-javap",
574-
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.class || metals:enabled && resourceExtname==.javap"
584+
"when": "metals:enabled && resourceScheme != metalsfs && resourceExtname==.java || metals:enabled && resourceScheme != metalsfs && resourceExtname==.scala || metals:enabled && resourceScheme == metalsfs && resourceExtname==.class || metals:enabled && resourceExtname==.javap"
575585
},
576586
{
577587
"command": "metals.show-javap-verbose",
578-
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.class || metals:enabled && resourceExtname==.javap-verbose"
588+
"when": "metals:enabled && resourceScheme != metalsfs && resourceExtname==.java || metals:enabled && resourceScheme != metalsfs && resourceExtname==.scala || metals:enabled && resourceScheme == metalsfs && resourceExtname==.class || metals:enabled && resourceExtname==.javap-verbose"
579589
},
580590
{
581591
"command": "metals.show-semanticdb-compact",
582-
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.semanticdb || metals:enabled && resourceExtname==.semanticdb-compact"
592+
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceScheme == metalsfs && resourceExtname==.class || metals:enabled && resourceExtname==.semanticdb-compact"
583593
},
584594
{
585595
"command": "metals.show-semanticdb-detailed",
586-
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.semanticdb || metals:enabled && resourceExtname==.semanticdb-detailed"
596+
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceScheme == metalsfs && resourceExtname==.class || metals:enabled && resourceExtname==.semanticdb-detailed"
587597
},
588598
{
589599
"command": "metals.show-semanticdb-proto",
590-
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.semanticdb || metals:enabled && resourceExtname==.semanticdb-proto"
600+
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceScheme == metalsfs && resourceExtname==.class || metals:enabled && resourceExtname==.semanticdb-proto"
591601
},
592602
{
593603
"command": "metals.reveal-active-file",
@@ -647,11 +657,11 @@
647657
},
648658
{
649659
"command": "metals.new-scala-file",
650-
"when": "metals:enabled"
660+
"when": "metals:enabled && resourceScheme != metalsfs"
651661
},
652662
{
653663
"command": "metals.new-java-file",
654-
"when": "metals:enabled"
664+
"when": "metals:enabled && resourceScheme != metalsfs"
655665
},
656666
{
657667
"command": "metals.new-scala-project",
@@ -685,12 +695,12 @@
685695
"explorer/context": [
686696
{
687697
"command": "metals.new-scala-file",
688-
"when": "metals:enabled",
698+
"when": "metals:enabled && resourceScheme != metalsfs",
689699
"group": "navigation@1"
690700
},
691701
{
692702
"command": "metals.new-java-file",
693-
"when": "metals:enabled",
703+
"when": "metals:enabled && resourceScheme != metalsfs",
694704
"group": "navigation@2"
695705
},
696706
{
@@ -702,37 +712,37 @@
702712
"metals.analyze": [
703713
{
704714
"command": "metals.show-tasty",
705-
"when": "metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.tasty || metals:enabled && resourceExtname==.tasty-decoded",
715+
"when": "metals:enabled && resourceScheme != metalsfs && resourceExtname==.scala || metals:enabled && resourceExtname==.tasty || metals:enabled && resourceExtname==.tasty-decoded",
706716
"group": "metals-1@1"
707717
},
708718
{
709719
"command": "metals.show-cfr",
710-
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.class",
720+
"when": "metals:enabled && resourceScheme != metalsfs && resourceExtname==.java || metals:enabled && resourceScheme != metalsfs && resourceExtname==.scala || metals:enabled && resourceScheme != metalsfs && resourceExtname==.class",
711721
"group": "metals-2@1"
712722
},
713723
{
714724
"command": "metals.show-javap",
715-
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.class",
725+
"when": "metals:enabled && resourceScheme != metalsfs && resourceExtname==.java || metals:enabled && resourceScheme != metalsfs && resourceExtname==.scala || metals:enabled && resourceExtname==.class",
716726
"group": "metals-3@1"
717727
},
718728
{
719729
"command": "metals.show-javap-verbose",
720-
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.class",
730+
"when": "metals:enabled && resourceScheme != metalsfs && resourceExtname==.java || metals:enabled && resourceScheme != metalsfs && resourceExtname==.scala || metals:enabled && resourceExtname==.class",
721731
"group": "metals-3@2"
722732
},
723733
{
724734
"command": "metals.show-semanticdb-compact",
725-
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.semanticdb",
735+
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceScheme == metalsfs && resourceExtname==.class || metals:enabled && resource ~= ///.metals//readonly/// && resourceExtname==.class || metals:enabled && resourceExtname==.semanticdb",
726736
"group": "metals-4@1"
727737
},
728738
{
729739
"command": "metals.show-semanticdb-detailed",
730-
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.semanticdb",
740+
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceScheme == metalsfs && resourceExtname==.class || metals:enabled && resource ~= ///.metals//readonly/// && resourceExtname==.class || metals:enabled && resourceExtname==.semanticdb",
731741
"group": "metals-4@2"
732742
},
733743
{
734744
"command": "metals.show-semanticdb-proto",
735-
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceExtname==.semanticdb",
745+
"when": "metals:enabled && resourceExtname==.java || metals:enabled && resourceExtname==.scala || metals:enabled && resourceScheme == metalsfs && resourceExtname==.class || metals:enabled && resource ~= ///.metals//readonly/// && resourceExtname==.class || metals:enabled && resourceExtname==.semanticdb",
736746
"group": "metals-4@3"
737747
}
738748
],

0 commit comments

Comments
 (0)