]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(netrw): netrw#BrowseX() needs to distinguish local and remote file
authorChristian Brabandt <cb@256bit.org>
Thu, 7 Aug 2025 18:23:16 +0000 (20:23 +0200)
committerChristian Brabandt <cb@256bit.org>
Thu, 7 Aug 2025 18:23:16 +0000 (20:23 +0200)
fixes: #17794

Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/pack/dist/opt/netrw/autoload/netrw.vim

index fd0b79115208870527cc9a4da2694eea98a16732..15a45b37c103b0f3a5d9eafda52f609c124da816 100644 (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