@@ -380,41 +380,51 @@ function vscExclude(uri, callback) {
380380 let selections ;
381381 let options = [ ] ;
382382
383- Object . keys ( _meta ) . forEach ( key => {
384- let regex = undefined ;
385- switch ( key ) {
386- case 'path' :
387- break ;
388- case 'ext' :
389- regex = _meta [ key ] ? `**/*${ _meta [ key ] } ` : undefined ;
390- break ;
391- case 'base' :
392- regex = _meta [ key ] ;
393- break ;
394- case 'dir' :
395- regex = _meta [ key ] ? `${ _meta [ key ] + '/' } *.*` : undefined ;
396- break ;
383+ const _showPicker = vscode . workspace . getConfiguration ( null , null ) . get ( 'explorerExclude.showPicker' ) ;
384+ if ( typeof _showPicker == 'undefined' )
385+ _showPicker = true ;
386+
387+ if ( _showPicker ) {
388+ Object . keys ( _meta ) . forEach ( key => {
389+ let regex = undefined ;
390+ switch ( key ) {
391+ case 'path' :
392+ break ;
393+ case 'ext' :
394+ regex = _meta [ key ] ? `**/*${ _meta [ key ] } ` : undefined ;
395+ break ;
396+ case 'base' :
397+ regex = _meta [ key ] ;
398+ break ;
399+ case 'dir' :
400+ if ( _showPicker )
401+ regex = _meta [ key ] ? `${ _meta [ key ] + '/' } *.*` : undefined ;
402+ break ;
403+ }
404+ if ( regex ) {
405+ options . push ( regex ) ;
406+ }
407+ } ) ;
408+
409+ if ( _meta [ 'dir' ] && _meta [ 'ext' ] ) {
410+ options . push ( `${ _meta [ 'dir' ] } /*${ _meta [ 'ext' ] } ` ) ;
397411 }
398- if ( regex ) {
399- options . push ( regex ) ;
412+ else if ( _meta [ 'ext' ] ) {
413+ options . push ( `* ${ _meta [ 'ext' ] } ` ) ;
400414 }
401- } ) ;
402-
403- if ( _meta [ 'dir' ] && _meta [ 'ext' ] ) {
404- options . push ( `${ _meta [ 'dir' ] } /*${ _meta [ 'ext' ] } ` ) ;
405- }
406- else if ( _meta [ 'ext' ] ) {
407- options . push ( `*${ _meta [ 'ext' ] } ` ) ;
408- }
409415
410- if ( _meta [ 'base' ] ) {
411- options . push ( `**/${ _meta [ 'base' ] } ` ) ;
412- if ( _meta [ 'dir' ] ) {
413- options . push ( `${ _meta [ 'dir' ] } /${ _meta [ 'base' ] } ` ) ;
416+ if ( _meta [ 'base' ] ) {
417+ options . push ( `**/${ _meta [ 'base' ] } ` ) ;
418+ if ( _meta [ 'dir' ] ) {
419+ options . push ( `${ _meta [ 'dir' ] } /${ _meta [ 'base' ] } ` ) ;
420+ }
414421 }
415- }
416422
417- selections = yield showPicker ( options . reverse ( ) ) ;
423+ selections = yield showPicker ( options . reverse ( ) ) ;
424+ } else {
425+ if ( _meta [ 'base' ] )
426+ selections = [ _meta [ 'base' ] ] ;
427+ }
418428
419429 if ( selections && selections . length > 0 ) {
420430 const config = vscode . workspace . getConfiguration ( 'files' , null ) ;
0 commit comments