From 2eae5db069dc171f74cd863487655f6a88e5384d Mon Sep 17 00:00:00 2001 From: Mehmet Samet Duman Date: Fri, 3 Apr 2026 22:21:25 +0300 Subject: NOISSUE rebrand vim to MNV's not Vim Signed-off-by: Mehmet Samet Duman --- uvim/runtime/plugin/openPlugin.mnv | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 uvim/runtime/plugin/openPlugin.mnv (limited to 'uvim/runtime/plugin/openPlugin.mnv') diff --git a/uvim/runtime/plugin/openPlugin.mnv b/uvim/runtime/plugin/openPlugin.mnv new file mode 100644 index 0000000000..ee51cd1acd --- /dev/null +++ b/uvim/runtime/plugin/openPlugin.mnv @@ -0,0 +1,46 @@ +mnv9script + +# MNV runtime support library +# +# Maintainer: The MNV Project +# Last Change: 2025 Jun 22 + +if exists("g:loaded_openPlugin") || &cp + finish +endif +g:loaded_openPlugin = 1 + +import autoload 'dist/mnv9.mnv' + +command -complete=shellcmd -nargs=1 Launch mnv9.Launch(trim()) + +# technically, -nargs=1 is correct, but this throws E480: No match +# when the argument contains a wildchar on Windows +command -complete=file -nargs=* Open mnv9.Open(trim()) +# Use URLOpen when you don't want completion to happen +# (or because you want to avoid cmdline-special) +command -nargs=1 URLOpen mnv9.Open(trim()) + +const no_gx = get(g:, "nogx", get(g:, "netrw_nogx", false)) +if !no_gx + def GetWordUnderCursor(): string + const url = matchstr(expand(""), '\%(\%(http\|ftp\|irc\)s\?\|file\)://\S\{-}\ze[^A-Za-z0-9/]*$') + if !empty(url) + return url + endif + + const user_var = get(g:, 'gx_word', get(g:, 'netrw_gx', '')) + return expand(user_var) + enddef + + if maparg('gx', 'n') == "" + nnoremap (open-word-under-cursor) mnv9.Open(GetWordUnderCursor()) + nmap gx (open-word-under-cursor) + endif + if maparg('gx', 'x') == "" + xnoremap (open-word-under-cursor) mnv9.Open(getregion(getpos('v'), getpos('.'), { type: mode() })->join()) + xmap gx (open-word-under-cursor) + endif +endif + +# mnv: ts=8 sts=2 sw=2 et -- cgit 0.0.5-2-1-g0f52