1
- import { Event , Uri , workspace , EventEmitter } from "vscode" ;
1
+ import { Event , Uri , workspace , EventEmitter , RelativePattern } from "vscode" ;
2
2
import { watch } from "fs" ;
3
3
import { exists } from "../fs" ;
4
- import { join , resolve } from "path" ;
4
+ import { join } from "path" ;
5
5
import { debounce } from "../decorators" ;
6
- import { anyEvent , filterEvent , IDisposable , isDescendant } from "../util" ;
6
+ import {
7
+ anyEvent ,
8
+ filterEvent ,
9
+ IDisposable ,
10
+ isDescendant ,
11
+ fixPathSeparator
12
+ } from "../util" ;
7
13
8
14
export class RepositoryFilesWatcher implements IDisposable {
9
15
private disposables : IDisposable [ ] = [ ] ;
@@ -29,7 +35,7 @@ export class RepositoryFilesWatcher implements IDisposable {
29
35
30
36
constructor ( readonly root : string ) {
31
37
const fsWatcher = workspace . createFileSystemWatcher (
32
- join ( resolve ( root ) , "**" )
38
+ new RelativePattern ( fixPathSeparator ( root ) , "**" )
33
39
) ;
34
40
this . _onRepoChange = new EventEmitter < Uri > ( ) ;
35
41
this . _onRepoCreate = new EventEmitter < Uri > ( ) ;
@@ -58,8 +64,7 @@ export class RepositoryFilesWatcher implements IDisposable {
58
64
59
65
const isTmp = ( uri : Uri ) => / [ \\ \/ ] \. s v n [ \\ \/ ] t m p / . test ( uri . path ) ;
60
66
61
- const isRelevant = ( uri : Uri ) =>
62
- ! isTmp ( uri ) && isDescendant ( this . root , uri . fsPath ) ;
67
+ const isRelevant = ( uri : Uri ) => ! isTmp ( uri ) ;
63
68
64
69
this . onDidChange = filterEvent ( fsWatcher . onDidChange , isRelevant ) ;
65
70
this . onDidCreate = filterEvent ( fsWatcher . onDidCreate , isRelevant ) ;
0 commit comments