runtime(netrw): netrw#BrowseX() needs to distinguish local and remote file

fixes: #17794

Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Christian Brabandt
2025-08-07 20:23:16 +02:00
parent 66d8d286cd
commit 6a6a44ffb5

View File

@ -3,6 +3,7 @@
" Maintainer: This runtime file is looking for a new maintainer.
" Last Change:
" 2025 Aug 07 by Vim Project (use correct "=~#" for netrw_stylesize option #17901)
" 2025 Aug 07 by Vim Project (netrw#BrowseX() distinguishes remote files #17794)
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@ -4125,7 +4126,7 @@ function s:NetrwBrowseUpDir(islocal)
endfunction
" netrw#BrowseX: (implements "x") executes a special "viewer" script or program for the {{{2
" given filename; typically this means given their extension.
" given filename; typically this means given their extension.
function netrw#BrowseX(fname)
" special core dump handler
if a:fname =~ '/core\(\.\d\+\)\=$' && exists("g:Netrw_corehandler")
@ -4149,7 +4150,12 @@ function netrw#BrowseX(fname)
let fname = substitute(fname, '^\~', expand("$HOME"), '')
endif
call netrw#os#Open(s:NetrwFile(fname))
if fname =~ '^[a-z]\+://'
" open a remote file
call netrw#os#Open(fname)
else
call netrw#os#Open(s:NetrwFile(fname))
endif
endfunction
" s:NetrwBufRename: renames a buffer without the side effect of retaining an unlisted buffer having the old name {{{2