mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	fixes: #16533 fixes: #16532 closes: #16535 Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
		
			
				
	
	
		
			34 lines
		
	
	
		
			963 B
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			963 B
		
	
	
	
		
			VimL
		
	
	
	
	
	
| vim9script
 | |
| 
 | |
| # Vim runtime support library
 | |
| #
 | |
| # Maintainer:   The Vim Project <https://github.com/vim/vim>
 | |
| # Last Change:  2025 Jan 24
 | |
| 
 | |
| import autoload 'dist/vim9.vim'
 | |
| 
 | |
| command -complete=shellcmd -nargs=1 Launch vim9.Launch(trim(<q-args>))
 | |
| command -complete=file -nargs=1 Open vim9.Open(trim(<q-args>))
 | |
| 
 | |
| const no_gx = get(g:, "nogx", get(g:, "netrw_nogx", false))
 | |
| if !no_gx
 | |
|   def GetWordUnderCursor(): string
 | |
|     const url = matchstr(expand("<cWORD>"), '\%(\%(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', '<cfile>')
 | |
|     return expand(user_var)
 | |
|   enddef
 | |
| 
 | |
|   if maparg('gx', 'n') == ""
 | |
|     nnoremap <unique> gx <scriptcmd>vim9.Open(GetWordUnderCursor())<CR>
 | |
|   endif
 | |
|   if maparg('gx', 'x') == ""
 | |
|     xnoremap <unique> gx <scriptcmd>vim9.Open(getregion(getpos('v'), getpos('.'), { type: mode() })->join())<CR>
 | |
|   endif
 | |
| endif
 | |
| 
 | |
| # vim: ts=8 sts=2 sw=2 et
 |