@@ -1029,36 +1029,35 @@ class CommandOpenFile extends BaseCommand {
10291029
10301030 const fileInfo = fullFilePath . match ( / ( .* ?(? = : [ 0 - 9 ] + ) | .* ) : ? ( [ 0 - 9 ] * ) $ / ) ;
10311031 if ( fileInfo ) {
1032- const fileUri = await ( async ( ) => {
1033- if ( path . isAbsolute ( fileInfo [ 1 ] ) ) {
1034- return Uri . file ( fileInfo [ 1 ] ) ;
1032+ const fileUri : Uri = await ( async ( ) => {
1033+ const pathStr = fileInfo [ 1 ] ;
1034+ if ( path . isAbsolute ( pathStr ) ) {
1035+ return Uri . file ( pathStr ) ;
10351036 } else {
1036- let uri = Uri . file ( path . resolve ( path . dirname ( vimState . document . uri . fsPath ) , fileInfo [ 1 ] ) ) ;
1037+ let uri = Uri . file ( path . resolve ( path . dirname ( vimState . document . uri . fsPath ) , pathStr ) ) ;
10371038 if ( ! ( await doesFileExist ( uri ) ) ) {
10381039 const workspaceRoot = vscode . workspace . getWorkspaceFolder ( vimState . document . uri ) ?. uri ;
10391040 if ( workspaceRoot ) {
1040- uri = Uri . file ( path . join ( workspaceRoot . fsPath , fileInfo [ 1 ] ) ) ;
1041+ uri = Uri . file ( path . join ( workspaceRoot . fsPath , pathStr ) ) ;
10411042 if ( ! ( await doesFileExist ( uri ) ) ) {
1042- return undefined ;
1043+ throw VimError . fromCode ( ErrorCode . CantFindFileInPath , pathStr ) ;
10431044 }
10441045 }
10451046 }
10461047 return uri ;
10471048 }
10481049 } ) ( ) ;
10491050
1050- if ( fileUri ) {
1051- const line = parseInt ( fileInfo [ 2 ] , 10 ) ;
1052- const fileCommand = new FileCommand ( {
1053- name : 'edit' ,
1054- bang : false ,
1055- opt : [ ] ,
1056- file : fileUri . fsPath ,
1057- cmd : isNaN ( line ) ? undefined : { type : 'line_number' , line : line - 1 } ,
1058- createFileIfNotExists : false ,
1059- } ) ;
1060- void fileCommand . execute ( vimState ) ;
1061- }
1051+ const line = parseInt ( fileInfo [ 2 ] , 10 ) ;
1052+ const fileCommand = new FileCommand ( {
1053+ name : 'edit' ,
1054+ bang : false ,
1055+ opt : [ ] ,
1056+ file : fileUri . fsPath ,
1057+ cmd : isNaN ( line ) ? undefined : { type : 'line_number' , line : line - 1 } ,
1058+ createFileIfNotExists : false ,
1059+ } ) ;
1060+ void fileCommand . execute ( vimState ) ;
10621061 }
10631062 }
10641063}
0 commit comments