@@ -23,11 +23,13 @@ export class ResourceContextKey implements IContextKey<URI> {
23
23
static Filename = new RawContextKey < string > ( 'resourceFilename' , undefined ) ;
24
24
static LangId = new RawContextKey < string > ( 'resourceLangId' , undefined ) ;
25
25
static Resource = new RawContextKey < URI > ( 'resource' , undefined ) ;
26
+ static Extension = new RawContextKey < string > ( 'resourceExtname' , undefined ) ;
26
27
27
28
private _resourceKey : IContextKey < URI > ;
28
29
private _schemeKey : IContextKey < string > ;
29
30
private _filenameKey : IContextKey < string > ;
30
31
private _langIdKey : IContextKey < string > ;
32
+ private _extensionKey : IContextKey < string > ;
31
33
32
34
constructor (
33
35
@IContextKeyService contextKeyService : IContextKeyService ,
@@ -37,19 +39,22 @@ export class ResourceContextKey implements IContextKey<URI> {
37
39
this . _filenameKey = ResourceContextKey . Filename . bindTo ( contextKeyService ) ;
38
40
this . _langIdKey = ResourceContextKey . LangId . bindTo ( contextKeyService ) ;
39
41
this . _resourceKey = ResourceContextKey . Resource . bindTo ( contextKeyService ) ;
42
+ this . _extensionKey = ResourceContextKey . Extension . bindTo ( contextKeyService ) ;
40
43
}
41
44
42
45
set ( value : URI ) {
43
46
this . _resourceKey . set ( value ) ;
44
47
this . _schemeKey . set ( value && value . scheme ) ;
45
48
this . _filenameKey . set ( value && basename ( value . fsPath ) ) ;
46
49
this . _langIdKey . set ( value && this . _modeService . getModeIdByFilenameOrFirstLine ( value . fsPath ) ) ;
50
+ this . _extensionKey . set ( value && paths . extname ( value . fsPath ) ) ;
47
51
}
48
52
49
53
reset ( ) : void {
50
54
this . _schemeKey . reset ( ) ;
51
55
this . _langIdKey . reset ( ) ;
52
56
this . _resourceKey . reset ( ) ;
57
+ this . _extensionKey . reset ( ) ;
53
58
}
54
59
55
60
public get ( ) : URI {
0 commit comments