runtime: decouple Open and Launch commands and gx mapping from netrw
closes: #16494
fixes: ##16486
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 2348cdd..094b650 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 9.1. Last change: 2025 Jan 02
+*eval.txt* For Vim version 9.1. Last change: 2025 Jan 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -4907,5 +4907,40 @@
filetype string
executable string
+ *dist#vim9#Open()* *:Open*
+ *g:Openprg*
+dist#vim9#Open(file: string) ~
+
+Opens `path` with the system default handler (macOS `open`, Windows
+`explorer.exe`, Linux `xdg-open`, …). If the variable |g:Openprg| exists the
+string specified in the variable is used instead.
+
+NOTE: Escaping of the path is automatically applied.
+
+Usage: >vim
+ :call dist#vim9#Open(<path>)
+ :Open <path>
+<
+
+ *dist#vim9#Launch()* *:Launch*
+dist#vim9#Launch(file: string) ~
+
+Launches <args> with the appropriate system programs. Intended for launching
+GUI programs within Vim.
+
+NOTE: escaping of <args> is left to the user
+
+Examples: >vim
+ vim9script
+
+ import autoload 'dist/vim9.vim'
+ # Execute 'makeprg' into another xterm window
+ vim9.Launch('xterm ' .. expandcmd(&makeprg))
+<
+
+Usage: >vim
+ :call dist#vim9#Launch(<args>)
+ :Launch <app> <args>.
+<
vim:tw=78:ts=8:noet:ft=help:norl:
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 079f9ea..06a24e0 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -803,8 +803,6 @@
|gu| gu{motion} 2 make Nmove text lowercase
|gv| gv reselect the previous Visual area
|gw| gw{motion} 2 format Nmove text and keep cursor
-|netrw-gx| gx execute application for file name under the
- cursor (only with |netrw| plugin)
|g@| g@{motion} call 'operatorfunc'
|g~| g~{motion} 2 swap case for Nmove text
|g<Down>| g<Down> 1 same as "gj"
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 0b92532..e667a33 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2133,7 +2133,7 @@
:LP pi_logipat.txt /*:LP*
:LPE pi_logipat.txt /*:LPE*
:LPF pi_logipat.txt /*:LPF*
-:Launch pi_netrw.txt /*:Launch*
+:Launch eval.txt /*:Launch*
:Lexplore pi_netrw.txt /*:Lexplore*
:Lfilter quickfix.txt /*:Lfilter*
:LogiPat pi_logipat.txt /*:LogiPat*
@@ -2151,7 +2151,7 @@
:Ntree pi_netrw.txt /*:Ntree*
:Nw pi_netrw.txt /*:Nw*
:Nwrite pi_netrw.txt /*:Nwrite*
-:Open pi_netrw.txt /*:Open*
+:Open eval.txt /*:Open*
:Over terminal.txt /*:Over*
:P various.txt /*:P*
:Pexplore pi_netrw.txt /*:Pexplore*
@@ -6879,6 +6879,8 @@
discard editing.txt /*discard*
dist#vim eval.txt /*dist#vim*
dist#vim9 eval.txt /*dist#vim9*
+dist#vim9#Launch() eval.txt /*dist#vim9#Launch()*
+dist#vim9#Open() eval.txt /*dist#vim9#Open()*
distribute-script usr_51.txt /*distribute-script*
distributed-plugins usr_05.txt /*distributed-plugins*
distribution intro.txt /*distribution*
@@ -7527,6 +7529,7 @@
g:Netrw_UserMaps pi_netrw.txt /*g:Netrw_UserMaps*
g:Netrw_corehandler pi_netrw.txt /*g:Netrw_corehandler*
g:Netrw_funcref pi_netrw.txt /*g:Netrw_funcref*
+g:Openprg eval.txt /*g:Openprg*
g:actual_curbuf options.txt /*g:actual_curbuf*
g:actual_curwin options.txt /*g:actual_curwin*
g:ada#Comment ft_ada.txt /*g:ada#Comment*
@@ -7630,8 +7633,6 @@
g:netrw_banner pi_netrw.txt /*g:netrw_banner*
g:netrw_bannerbackslash pi_netrw.txt /*g:netrw_bannerbackslash*
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
-g:netrw_browsex_support_remote pi_netrw.txt /*g:netrw_browsex_support_remote*
-g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer*
g:netrw_bufsettings pi_netrw.txt /*g:netrw_bufsettings*
g:netrw_chgperm pi_netrw.txt /*g:netrw_chgperm*
g:netrw_chgwin pi_netrw.txt /*g:netrw_chgwin*
@@ -7660,7 +7661,6 @@
g:netrw_ftpextracmd pi_netrw.txt /*g:netrw_ftpextracmd*
g:netrw_ftpmode pi_netrw.txt /*g:netrw_ftpmode*
g:netrw_glob_escape pi_netrw.txt /*g:netrw_glob_escape*
-g:netrw_gx pi_netrw.txt /*g:netrw_gx*
g:netrw_hide pi_netrw.txt /*g:netrw_hide*
g:netrw_home pi_netrw.txt /*g:netrw_home*
g:netrw_http_cmd pi_netrw.txt /*g:netrw_http_cmd*
@@ -7686,7 +7686,6 @@
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
g:netrw_mousemaps pi_netrw.txt /*g:netrw_mousemaps*
g:netrw_nobeval pi_netrw.txt /*g:netrw_nobeval*
-g:netrw_nogx pi_netrw.txt /*g:netrw_nogx*
g:netrw_preview pi_netrw.txt /*g:netrw_preview*
g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd*
g:netrw_remote_mkdir pi_netrw.txt /*g:netrw_remote_mkdir*
@@ -9031,8 +9030,6 @@
netrw-gn pi_netrw.txt /*netrw-gn*
netrw-gp pi_netrw.txt /*netrw-gp*
netrw-grep pi_netrw.txt /*netrw-grep*
-netrw-gx pi_netrw.txt /*netrw-gx*
-netrw-handler pi_netrw.txt /*netrw-handler*
netrw-help pi_netrw.txt /*netrw-help*
netrw-hexplore pi_netrw.txt /*netrw-hexplore*
netrw-hide pi_netrw.txt /*netrw-hide*
@@ -9161,7 +9158,6 @@
netrw-windows-netrc pi_netrw.txt /*netrw-windows-netrc*
netrw-windows-s pi_netrw.txt /*netrw-windows-s*
netrw-write pi_netrw.txt /*netrw-write*
-netrw-x pi_netrw.txt /*netrw-x*
netrw-xfer pi_netrw.txt /*netrw-xfer*
netrw.txt pi_netrw.txt /*netrw.txt*
netrw.vim pi_netrw.txt /*netrw.vim*
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index 2f2ab5a..f77499a 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -1,4 +1,4 @@
-*version9.txt* For Vim version 9.1. Last change: 2025 Jan 23
+*version9.txt* For Vim version 9.1. Last change: 2025 Jan 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -41626,6 +41626,8 @@
- |v:stacktrace| The stack trace of the exception most recently caught and
not finished
- New option value "nosort" for 'completeopt'
+- add |dist#vim9#Launch()| and |dist#vim9#Open()| to the |vim-script-library|
+ and decouple it from |netrw|
*added-9.2*
Added ~