diff options
Diffstat (limited to 'uvim/runtime/plugin')
| -rw-r--r-- | uvim/runtime/plugin/README.txt | 17 | ||||
| -rw-r--r-- | uvim/runtime/plugin/getscriptPlugin.mnv | 42 | ||||
| -rw-r--r-- | uvim/runtime/plugin/gzip.mnv | 73 | ||||
| -rw-r--r-- | uvim/runtime/plugin/logiPat.mnv | 340 | ||||
| -rw-r--r-- | uvim/runtime/plugin/manpager.mnv | 56 | ||||
| -rw-r--r-- | uvim/runtime/plugin/matchparen.mnv | 227 | ||||
| -rw-r--r-- | uvim/runtime/plugin/mnvballPlugin.mnv | 52 | ||||
| -rw-r--r-- | uvim/runtime/plugin/netrwPlugin.mnv | 9 | ||||
| -rw-r--r-- | uvim/runtime/plugin/openPlugin.mnv | 46 | ||||
| -rw-r--r-- | uvim/runtime/plugin/rrhelper.mnv | 49 | ||||
| -rw-r--r-- | uvim/runtime/plugin/spellfile.mnv | 16 | ||||
| -rw-r--r-- | uvim/runtime/plugin/tarPlugin.mnv | 60 | ||||
| -rw-r--r-- | uvim/runtime/plugin/tohtml.mnv | 254 | ||||
| -rw-r--r-- | uvim/runtime/plugin/tutor.mnv | 12 | ||||
| -rw-r--r-- | uvim/runtime/plugin/zipPlugin.mnv | 60 |
15 files changed, 0 insertions, 1313 deletions
diff --git a/uvim/runtime/plugin/README.txt b/uvim/runtime/plugin/README.txt deleted file mode 100644 index a2c014aa15..0000000000 --- a/uvim/runtime/plugin/README.txt +++ /dev/null @@ -1,17 +0,0 @@ -The plugin directory is for standard MNV plugin scripts. - -All files here ending in .mnv will be sourced by MNV when it starts up. -Look in the file for hints on how it can be disabled without deleting it. - -getscriptPlugin.mnv get latest version of MNV scripts -gzip.mnv edit compressed files -logiPat.mnv logical operators on patterns -manpager.mnv using MNV as manpager -matchparen.mnv highlight paren matching the one under the cursor -netrwPlugin.mnv edit files over a network and browse (remote) directories -rrhelper.mnv used for --remote-wait editing -spellfile.mnv download a spellfile when it's missing -tarPlugin.mnv edit (compressed) tar files -tohtml.mnv convert a file with syntax highlighting to HTML -mnvballPlugin.mnv create and unpack .vba files -zipPlugin.mnv edit zip archives diff --git a/uvim/runtime/plugin/getscriptPlugin.mnv b/uvim/runtime/plugin/getscriptPlugin.mnv deleted file mode 100644 index b9495c37a0..0000000000 --- a/uvim/runtime/plugin/getscriptPlugin.mnv +++ /dev/null @@ -1,42 +0,0 @@ -" --------------------------------------------------------------------- -" getscriptPlugin.mnv -" Maintainer: This runtime file is looking for a new maintainer. -" Original Author: Charles E. Campbell -" Date: Nov 29, 2013 -" Installing: :help glvs-install -" Usage: :help glvs -" -" GetLatestMNVScripts: 642 1 :AutoInstall: getscript.mnv -" -" (Rom 15:11 WEB) Again, "Praise the Lord, all you Gentiles! Let -" all the peoples praise Him." -" --------------------------------------------------------------------- -" Initialization: {{{1 -" if you're sourcing this file, surely you can't be -" expecting mnv to be in its vi-compatible mode -if exists("g:loaded_getscriptPlugin") - finish -endif -if &cp - if &verbose - echo "GetLatestMNVScripts is not vi-compatible; not loaded (you need to set nocp)" - endif - finish -endif -let g:loaded_getscriptPlugin = "v37" -let s:keepcpo = &cpo -set cpo&mnv - -" --------------------------------------------------------------------- -" Public Interface: {{{1 -com! -nargs=0 GetLatestMNVScripts call getscript#GetLatestMNVScripts() -com! -nargs=0 GetScripts call getscript#GetLatestMNVScripts() -sil! com -nargs=0 GLVS call getscript#GetLatestMNVScripts() - -" --------------------------------------------------------------------- -" Restore Options: {{{1 -let &cpo= s:keepcpo -unlet s:keepcpo - -" --------------------------------------------------------------------- -" mnv: ts=8 sts=2 fdm=marker nowrap diff --git a/uvim/runtime/plugin/gzip.mnv b/uvim/runtime/plugin/gzip.mnv deleted file mode 100644 index 88ec675227..0000000000 --- a/uvim/runtime/plugin/gzip.mnv +++ /dev/null @@ -1,73 +0,0 @@ -" MNV plugin for editing compressed files. -" Maintainer: The MNV Project <https://github.com/Project-Tick/Project-Tick> -" Last Change: 2025 Feb 28 -" Former Maintainer: Bram Moolenaar <Bram@mnv.org> - -" Exit quickly when: -" - this plugin was already loaded -" - when 'compatible' is set -" - some autocommands are already taking care of compressed files -if exists("loaded_gzip") || &cp || exists("#BufReadPre#*.gz") - finish -endif -let loaded_gzip = 1 - -augroup gzip - " Remove all gzip autocommands - au! - - " Enable editing of gzipped files. - " The functions are defined in autoload/gzip.mnv. - " - " Set binary mode before reading the file. - autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.bz3,*.Z,*.lzma,*.xz,*.lz,*.zst,*.br,*.lzo,*.lz4 setlocal bin - - " Use "gzip -d" and similar commands, gunzip isn't always available. - autocmd BufReadPost,FileReadPost *.br call gzip#read("brotli -d --rm") - autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d") - autocmd BufReadPost,FileReadPost *.bz3 call gzip#read("bzip3 -d") - autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn") - autocmd BufReadPost,FileReadPost *.lz call gzip#read("lzip -d") - autocmd BufReadPost,FileReadPost *.lz4 call gzip#read("lz4 -d -q --rm") - autocmd BufReadPost,FileReadPost *.lzma call gzip#read("lzma -d") - autocmd BufReadPost,FileReadPost *.lzo call gzip#read("lzop -d -U") - autocmd BufReadPost,FileReadPost *.xz call gzip#read("xz -d") - autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress") - autocmd BufReadPost,FileReadPost *.zst call gzip#read("zstd -d --rm") - - autocmd BufWritePost,FileWritePost *.br call gzip#write("brotli --rm") - autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2") - autocmd BufWritePost,FileWritePost *.bz3 call gzip#write("bzip3") - autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip") - autocmd BufWritePost,FileWritePost *.lz call gzip#write("lzip") - autocmd BufWritePost,FileWritePost *.lz4 call gzip#write("lz4 -q --rm") - autocmd BufWritePost,FileWritePost *.lzma call gzip#write("lzma -z") - autocmd BufWritePost,FileWritePost *.lzo call gzip#write("lzop -U") - autocmd BufWritePost,FileWritePost *.xz call gzip#write("xz -z") - autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f") - autocmd BufWritePost,FileWritePost *.zst call gzip#write("zstd --rm") - - autocmd FileAppendPre *.br call gzip#appre("brotli -d --rm") - autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d") - autocmd FileAppendPre *.bz3 call gzip#appre("bzip3 -d") - autocmd FileAppendPre *.gz call gzip#appre("gzip -dn") - autocmd FileAppendPre *.lz call gzip#appre("lzip -d") - autocmd FileAppendPre *.lz4 call gzip#appre("lz4 -d -q --rm") - autocmd FileAppendPre *.lzma call gzip#appre("lzma -d") - autocmd FileAppendPre *.lzo call gzip#appre("lzop -d -U") - autocmd FileAppendPre *.xz call gzip#appre("xz -d") - autocmd FileAppendPre *.Z call gzip#appre("uncompress") - autocmd FileAppendPre *.zst call gzip#appre("zstd -d --rm") - - autocmd FileAppendPost *.br call gzip#write("brotli --rm") - autocmd FileAppendPost *.bz2 call gzip#write("bzip2") - autocmd FileAppendPost *.bz3 call gzip#write("bzip3") - autocmd FileAppendPost *.gz call gzip#write("gzip") - autocmd FileAppendPost *.lz call gzip#write("lzip") - autocmd FileAppendPost *.lz4 call gzip#write("lz4 --rm") - autocmd FileAppendPost *.lzma call gzip#write("lzma -z") - autocmd FileAppendPost *.lzo call gzip#write("lzop -U") - autocmd FileAppendPost *.xz call gzip#write("xz -z") - autocmd FileAppendPost *.Z call gzip#write("compress -f") - autocmd FileAppendPost *.zst call gzip#write("zstd --rm") -augroup END diff --git a/uvim/runtime/plugin/logiPat.mnv b/uvim/runtime/plugin/logiPat.mnv deleted file mode 100644 index f7253f0c61..0000000000 --- a/uvim/runtime/plugin/logiPat.mnv +++ /dev/null @@ -1,340 +0,0 @@ -" LogiPat: Boolean logical pattern matcher -" Maintainer: This runtime file is looking for a new maintainer. -" Original Author: Charles E. Campbell -" Date: Apr 04, 2016 -" Version: 4 -" Purpose: to do Boolean-logic based regular expression pattern matching -" Copyright: Copyright (C) 1999-2011 Charles E. Campbell {{{1 -" Permission is hereby granted to use and distribute this code, -" with or without modifications, provided that this copyright -" notice is copied with it. Like most anything else that's free, -" LogiPat.mnv is provided *as is* and comes with no warranty -" of any kind, either expressed or implied. By using this -" plugin, you agree that in no event will the copyright -" holder be liable for any damages resulting from the use -" of this software. -" -" Usage: {{{1 -" :LogiPat ... -" -" Boolean logic supported: -" () grouping operators -" ! not the following pattern -" | logical or -" & logical and -" "..pattern.." -" Example: {{{1 -" :LogiPat !("january"|"february") -" would match all strings not containing the strings january -" or february -" GetLatestMNVScripts: 1290 1 :AutoInstall: LogiPat.mnv -" -" Behold, you will conceive in your womb, and bring forth a son, {{{1 -" and will call his name Jesus. He will be great, and will be -" called the Son of the Most High. The Lord God will give him the -" throne of his father, David, and he will reign over the house of -" Jacob forever. There will be no end to his kingdom. (Luke 1:31-33 WEB) - -" --------------------------------------------------------------------- -" Load Once: {{{1 -if &cp || exists("loaded_logiPat") - finish -endif -let g:loaded_logiPat = "v4" -let s:keepcpo = &cpo -set cpo&mnv -"DechoRemOn - -" --------------------------------------------------------------------- -" Public Interface: {{{1 -com! -nargs=* LogiPat call LogiPat(<q-args>,1) -sil! com -nargs=* LP call LogiPat(<q-args>,1) -sil! com -nargs=* LPR call LogiPat(<q-args>,1,"r") -com! -nargs=+ LPE echomsg LogiPat(<q-args>) -com! -nargs=+ LogiPatFlags let s:LogiPatFlags="<args>" -sil! com -nargs=+ LPF let s:LogiPatFlags="<args>" - -" ===================================================================== -" Functions: {{{1 - -" --------------------------------------------------------------------- -" LogiPat: this function interprets the boolean-logic pattern {{{2 -fun! LogiPat(pat,...) -" call Dfunc("LogiPat(pat<".a:pat.">)") - - " LogiPat(pat,dosearch) - if a:0 > 0 - let dosearch= a:1 - else - let dosearch= 0 - endif - if a:0 >= 3 - let s:LogiPatFlags= a:3 - endif - - let s:npatstack = 0 - let s:nopstack = 0 - let s:preclvl = 0 - let expr = a:pat - - " Lexer/Parser - while expr != "" -" call Decho("expr<".expr.">") - - if expr =~ '^"' - " push a Pattern; accept "" as a single " in the pattern - let expr = substitute(expr,'^\s*"','','') - let pat = substitute(expr,'^\(\%([^"]\|\"\"\)\{-}\)"\([^"].*$\|$\)','\1','') - let pat = substitute(pat,'""','"','g') - let expr = substitute(expr,'^\(\%([^"]\|\"\"\)\{-}\)"\([^"].*$\|$\)','\2','') - let expr = substitute(expr,'^\s*','','') -" call Decho("pat<".pat."> expr<".expr.">") - - call s:LP_PatPush('.*'.pat.'.*') - - elseif expr =~ '^[!()|&]' - " push an operator - let op = strpart(expr,0,1) - let expr = strpart(expr,strlen(op)) - " allow for those who can't resist doubling their and/or operators - if op =~ '[|&]' && expr[0] == op - let expr = strpart(expr,strlen(op)) - endif - call s:LP_OpPush(op) - - elseif expr =~ '^\s' - " skip whitespace - let expr= strpart(expr,1) - - else - echoerr "operator<".strpart(expr,0,1)."> not supported (yet)" - let expr= strpart(expr,1) - endif - - endwhile - - " Final Execution - call s:LP_OpPush('Z') - - let result= s:LP_PatPop(1) -" call Decho("result=".result) - - " sanity checks and cleanup - if s:npatstack > 0 - echoerr s:npatstack." patterns left on stack!" - let s:npatstack= 0 - endif - if s:nopstack > 0 - echoerr s:nopstack." operators left on stack!" - let s:nopstack= 0 - endif - - " perform the indicated search - if dosearch - if exists("s:LogiPatFlags") && s:LogiPatFlags != "" -" call Decho("search(result<".result."> LogiPatFlags<".s:LogiPatFlags.">)") - call search(result,s:LogiPatFlags) - else -" call Decho("search(result<".result.">)") - call search(result) - endif - let @/= result - endif - -" call Dret("LogiPat ".result) - return result -endfun - -" --------------------------------------------------------------------- -" s:String: MNV6.4 doesn't have string() {{{2 -func! s:String(str) - return "'".escape(a:str, '"')."'" -endfunc - -" --------------------------------------------------------------------- -" LP_PatPush: {{{2 -fun! s:LP_PatPush(pat) -" call Dfunc("LP_PatPush(pat<".a:pat.">)") - let s:npatstack = s:npatstack + 1 - let s:patstack_{s:npatstack} = a:pat -" call s:StackLook("patpush") "Decho -" call Dret("LP_PatPush : npatstack=".s:npatstack) -endfun - -" --------------------------------------------------------------------- -" LP_PatPop: pop a number/variable from LogiPat's pattern stack {{{2 -fun! s:LP_PatPop(lookup) -" call Dfunc("LP_PatPop(lookup=".a:lookup.")") - if s:npatstack > 0 - let ret = s:patstack_{s:npatstack} - let s:npatstack = s:npatstack - 1 - else - let ret= "---error---" - echoerr "(LogiPat) invalid expression" - endif -" call s:StackLook("patpop") "Decho -" call Dret("LP_PatPop ".ret) - return ret -endfun - -" --------------------------------------------------------------------- -" LP_OpPush: {{{2 -fun! s:LP_OpPush(op) -" call Dfunc("LP_OpPush(op<".a:op.">)") - - " determine new operator's precedence level - if a:op == '(' - let s:preclvl= s:preclvl + 10 - let preclvl = s:preclvl - elseif a:op == ')' - let s:preclvl= s:preclvl - 10 - if s:preclvl < 0 - let s:preclvl= 0 - echoerr "too many )s" - endif - let preclvl= s:preclvl - elseif a:op =~ '|' - let preclvl= s:preclvl + 2 - elseif a:op =~ '&' - let preclvl= s:preclvl + 4 - elseif a:op == '!' - let preclvl= s:preclvl + 6 - elseif a:op == 'Z' - let preclvl= -1 - else - echoerr "expr<".expr."> not supported (yet)" - let preclvl= s:preclvl - endif -" call Decho("new operator<".a:op."> preclvl=".preclvl) - - " execute higher-precdence operators -" call Decho("execute higher-precedence operators") - call s:LP_Execute(preclvl) - - " push new operator onto operator-stack -" call Decho("push new operator<".a:op."> onto stack with preclvl=".preclvl." at nopstack=".(s:nopstack+1)) - if a:op =~ '!' - let s:nopstack = s:nopstack + 1 - let s:opprec_{s:nopstack} = preclvl - let s:opstack_{s:nopstack} = a:op - elseif a:op =~ '|' - let s:nopstack = s:nopstack + 1 - let s:opprec_{s:nopstack} = preclvl - let s:opstack_{s:nopstack} = a:op - elseif a:op == '&' - let s:nopstack = s:nopstack + 1 - let s:opprec_{s:nopstack} = preclvl - let s:opstack_{s:nopstack} = a:op - endif - -" call s:StackLook("oppush") "Decho -" call Dret("LP_OpPush : s:preclvl=".s:preclvl) -endfun - -" --------------------------------------------------------------------- -" LP_Execute: execute operators from opstack using pattern stack {{{2 -fun! s:LP_Execute(preclvl) -" call Dfunc("LP_Execute(preclvl=".a:preclvl.") npatstack=".s:npatstack." nopstack=".s:nopstack) - - " execute all higher precedence operators - while s:nopstack > 0 && a:preclvl < s:opprec_{s:nopstack} - let op= s:opstack_{s:nopstack} -" call Decho("op<".op."> nop=".s:nopstack." [preclvl=".a:preclvl."] < [opprec_".s:nopstack."=".s:opprec_{s:nopstack}."]") - - let s:nopstack = s:nopstack - 1 - - if op == '!' - let n1= s:LP_PatPop(1) - call s:LP_PatPush(s:LP_Not(n1)) - - elseif op == '|' - let n1= s:LP_PatPop(1) - let n2= s:LP_PatPop(1) - call s:LP_PatPush(s:LP_Or(n2,n1)) - - elseif op =~ '&' - let n1= s:LP_PatPop(1) - let n2= s:LP_PatPop(1) - call s:LP_PatPush(s:LP_And(n2,n1)) - endif - -" call s:StackLook("execute") "Decho - endwhile - -" call Dret("LP_Execute") -endfun - -" --------------------------------------------------------------------- -" LP_Not: writes a logical-not for a pattern {{{2 -fun! s:LP_Not(pat) -" call Dfunc("LP_Not(pat<".a:pat.">)") - if a:pat =~ '^\.\*' && a:pat =~ '\.\*$' - let pat= substitute(a:pat,'^\.\*\(.*\)\.\*$','\1','') - let ret= '^\%(\%('.pat.'\)\@!.\)*$' - else - let ret= '^\%(\%('.a:pat.'\)\@!.\)*$' - endif -" call Dret("LP_Not ".ret) - return ret -endfun - -" --------------------------------------------------------------------- -" LP_Or: writes a logical-or branch using two patterns {{{2 -fun! s:LP_Or(pat1,pat2) -" call Dfunc("LP_Or(pat1<".a:pat1."> pat2<".a:pat2.">)") - let ret= '\%('.a:pat1.'\|'.a:pat2.'\)' -" call Dret("LP_Or ".ret) - return ret -endfun - -" --------------------------------------------------------------------- -" LP_And: writes a logical-and concat using two patterns {{{2 -fun! s:LP_And(pat1,pat2) -" call Dfunc("LP_And(pat1<".a:pat1."> pat2<".a:pat2.">)") - let ret= '\%('.a:pat1.'\&'.a:pat2.'\)' -" call Dret("LP_And ".ret) - return ret -endfun - -" --------------------------------------------------------------------- -" StackLook: {{{2 -fun! s:StackLook(description) -" call Dfunc("StackLook(description<".a:description.">)") - let iop = 1 - let ifp = 1 -" call Decho("Pattern Operator") - - " print both pattern and operator - while ifp <= s:npatstack && iop <= s:nopstack - let fp = s:patstack_{ifp} - let op = s:opstack_{iop}." (P".s:opprec_{s:nopstack}.')' - let fplen= strlen(fp) - if fplen < 30 - let fp= fp.strpart(" ",1,30-fplen) - endif -" call Decho(fp.op) - let ifp = ifp + 1 - let iop = iop + 1 - endwhile - - " print just pattern - while ifp <= s:npatstack - let fp = s:patstack_{ifp} -" call Decho(fp) - let ifp = ifp + 1 - endwhile - - " print just operator - while iop <= s:nopstack - let op = s:opstack_{iop}." (P".s:opprec_{s:nopstack}.')' -" call Decho(" ".op) - let iop = iop + 1 - endwhile -" call Dret("StackLook") -endfun - -" --------------------------------------------------------------------- -" Cleanup And Modeline: {{{1 -let &cpo= s:keepcpo -unlet s:keepcpo -" mnv: ts=4 fdm=marker diff --git a/uvim/runtime/plugin/manpager.mnv b/uvim/runtime/plugin/manpager.mnv deleted file mode 100644 index c07c2c3c74..0000000000 --- a/uvim/runtime/plugin/manpager.mnv +++ /dev/null @@ -1,56 +0,0 @@ -" MNV plugin for using MNV as manpager. -" Maintainer: Enno Nagel <ennonagel+mnv@gmail.com> -" Last Change: 2024 Jul 03 -" 2026 Mar 22 by MNV Project: strip OSC 9 sequences (#19787) -" 2026 Mar 24 by MNV Project: strip Bell char: Ctrl-G (#19807) - -if exists('g:loaded_manpager_plugin') - finish -endif -let g:loaded_manpager_plugin = 1 - -" Set up the current buffer (likely read from stdin) as a manpage -command MANPAGER call s:ManPager() - -function s:ManPager() - " global options, keep these to a minimum to avoid side effects - if &compatible - set nocompatible - endif - if exists('+mnvinfofile') - set mnvinfofile=NONE - endif - syntax on - - " Ensure text width matches window width - setlocal foldcolumn& nofoldenable nonumber norelativenumber - - " In case MNV was invoked with -M - setlocal modifiable - - " Emulate 'col -b' - exe 'silent! keepj keepp %s/\v(.)\b\ze\1?//e' .. (&gdefault ? '' : 'g') - - " Remove ansi sequences - exe 'silent! keepj keepp %s/\v\e\[%(%(\d;)?\d{1,2})?[mK]//e' .. (&gdefault ? '' : 'g') - - " Remove OSC 8 hyperlink sequences: \e]8;;...\e\ or \e]8;;...<BEL> - exe 'silent! keepj keepp %s/\v\e\]8;[^\x07\e]*%(%x07|\e\\)//e' .. (&gdefault ? '' : 'g') - - " Remove empty lines above the header - call cursor(1, 1) - let n = search(".*(.*)", "c") - if n > 1 - exe "1," . n-1 . "d" - endif - - " Finished preprocessing the buffer, prevent any further modifications - setlocal nomodified nomodifiable - - " Make this an unlisted, readonly scratch buffer - setlocal buftype=nofile noswapfile bufhidden=hide nobuflisted readonly - - " Set filetype to man even if ftplugin is disabled - setlocal filetype=man - runtime ftplugin/man.mnv -endfunction diff --git a/uvim/runtime/plugin/matchparen.mnv b/uvim/runtime/plugin/matchparen.mnv deleted file mode 100644 index f62729edb2..0000000000 --- a/uvim/runtime/plugin/matchparen.mnv +++ /dev/null @@ -1,227 +0,0 @@ -" MNV plugin for showing matching parens -" Maintainer: The MNV Project <https://github.com/Project-Tick/Project-Tick> -" Last Change: 2025 Apr 08 -" Former Maintainer: Bram Moolenaar <Bram@mnv.org> - -" Exit quickly when: -" - this plugin was already loaded (or disabled) -" - when 'compatible' is set -" - MNV has no support for :defer -if exists("g:loaded_matchparen") || &cp || exists(":defer") != 2 - finish -endif -let g:loaded_matchparen = 1 - -if !exists("g:matchparen_timeout") - let g:matchparen_timeout = 300 -endif -if !exists("g:matchparen_insert_timeout") - let g:matchparen_insert_timeout = 60 -endif -if !exists("g:matchparen_disable_cursor_hl") - let g:matchparen_disable_cursor_hl = 0 -endif - -augroup matchparen - " Replace all matchparen autocommands - autocmd! CursorMoved,CursorMovedI,WinEnter,WinScrolled * call s:Highlight_Matching_Pair() - autocmd! BufWinEnter * autocmd SafeState * ++once call s:Highlight_Matching_Pair() - autocmd! WinLeave,BufLeave * call s:Remove_Matches() - autocmd! TextChanged,TextChangedI * call s:Highlight_Matching_Pair() - autocmd! TextChangedP * call s:Remove_Matches() -augroup END - -" Skip the rest if it was already done. -if exists("*s:Highlight_Matching_Pair") - finish -endif - -let s:cpo_save = &cpo -set cpo-=C - -" The function that is invoked (very often) to define a ":match" highlighting -" for any matching paren. -func s:Highlight_Matching_Pair() - if !exists("w:matchparen_ids") - let w:matchparen_ids = [] - endif - " Remove any previous match. - call s:Remove_Matches() - - " Avoid that we remove the popup menu. - " Return when there are no colors (looks like the cursor jumps). - if pumvisible() || (&t_Co < 8 && !has("gui_running")) - return - endif - - " Get the character under the cursor and check if it's in 'matchpairs'. - let c_lnum = line('.') - let c_col = col('.') - let before = 0 - - let text = getline(c_lnum) - let c_before = text->strpart(0, c_col - 1)->slice(-1) - let c = text->strpart(c_col - 1)->slice(0, 1) - let plist = split(&matchpairs, '.\zs[:,]') - let i = index(plist, c) - if i < 0 - " not found, in Insert mode try character before the cursor - if c_col > 1 && (mode() == 'i' || mode() == 'R') - let before = strlen(c_before) - let c = c_before - let i = index(plist, c) - endif - if i < 0 - " not found, nothing to do - return - endif - endif - - " Figure out the arguments for searchpairpos(). - if i % 2 == 0 - let s_flags = 'nW' - let c2 = plist[i + 1] - else - let s_flags = 'nbW' - let c2 = c - let c = plist[i - 1] - endif - if c == '[' - let c = '\[' - let c2 = '\]' - endif - - " Find the match. When it was just before the cursor move it there for a - " moment. - if before > 0 - let save_cursor = getcurpos() - call cursor(c_lnum, c_col - before) - defer setpos('.', save_cursor) - endif - - if !has("syntax") || !exists("g:syntax_on") - let s_skip = "0" - else - " do not attempt to match when the syntax item where the cursor is - " indicates there does not exist a matching parenthesis, e.g. for shells - " case statement: "case $var in foobar)" - " - " add the check behind a filetype check, so it only needs to be - " evaluated for certain filetypes - if ['sh']->index(&filetype) >= 0 && - \ synstack(".", col("."))->indexof({_, id -> synIDattr(id, "name") - \ =~? "shSnglCase"}) >= 0 - return - endif - " Build an expression that detects whether the current cursor position is - " in certain syntax types (string, comment, etc.), for use as - " searchpairpos()'s skip argument. - " We match "escape" for special items, such as lispEscapeSpecial, and - " match "symbol" for lispBarSymbol. - let s_skip = 'synstack(".", col("."))' - \ . '->indexof({_, id -> synIDattr(id, "name") =~? ' - \ . '"string\\|character\\|singlequote\\|escape\\|symbol\\|comment"}) >= 0' - " If executing the expression determines that the cursor is currently in - " one of the syntax types, then we want searchpairpos() to find the pair - " within those syntax types (i.e., not skip). Otherwise, the cursor is - " outside of the syntax types and s_skip should keep its value so we skip - " any matching pair inside the syntax types. - " Catch if this throws E363: pattern uses more memory than 'maxmempattern'. - try - execute 'if ' . s_skip . ' | let s_skip = "0" | endif' - catch /^MNV\%((\a\+)\)\=:E363/ - " We won't find anything, so skip searching, should keep MNV responsive. - return - endtry - endif - - " Limit the search to lines visible in the window. - let stoplinebottom = line('w$') - let stoplinetop = line('w0') - if i % 2 == 0 - let stopline = stoplinebottom - else - let stopline = stoplinetop - endif - - " Limit the search time to 300 msec to avoid a hang on very long lines. - " This fails when a timeout is not supported. - if mode() == 'i' || mode() == 'R' - let timeout = exists("b:matchparen_insert_timeout") ? b:matchparen_insert_timeout : g:matchparen_insert_timeout - else - let timeout = exists("b:matchparen_timeout") ? b:matchparen_timeout : g:matchparen_timeout - endif - try - let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline, timeout) - catch /E118/ - " Can't use the timeout, restrict the stopline a bit more to avoid taking - " a long time on closed folds and long lines. - " The "viewable" variables give a range in which we can scroll while - " keeping the cursor at the same position. - " adjustedScrolloff accounts for very large numbers of scrolloff. - let adjustedScrolloff = min([&scrolloff, (line('w$') - line('w0')) / 2]) - let bottom_viewable = min([line('$'), c_lnum + &lines - adjustedScrolloff - 2]) - let top_viewable = max([1, c_lnum-&lines+adjustedScrolloff + 2]) - " one of these stoplines will be adjusted below, but the current values are - " minimal boundaries within the current window - if i % 2 == 0 - if has("byte_offset") && has("syntax_items") && &smc > 0 - let stopbyte = min([line2byte("$"), line2byte(".") + col(".") + &smc * 2]) - let stopline = min([bottom_viewable, byte2line(stopbyte)]) - else - let stopline = min([bottom_viewable, c_lnum + 100]) - endif - let stoplinebottom = stopline - else - if has("byte_offset") && has("syntax_items") && &smc > 0 - let stopbyte = max([1, line2byte(".") + col(".") - &smc * 2]) - let stopline = max([top_viewable, byte2line(stopbyte)]) - else - let stopline = max([top_viewable, c_lnum - 100]) - endif - let stoplinetop = stopline - endif - let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline) - endtry - - " If a match is found setup match highlighting. - if m_lnum > 0 && m_lnum >= stoplinetop && m_lnum <= stoplinebottom - if !g:matchparen_disable_cursor_hl - call add(w:matchparen_ids, matchaddpos('MatchParen', [[c_lnum, c_col - before], [m_lnum, m_col]], 10)) - else - call add(w:matchparen_ids, matchaddpos('MatchParen', [[m_lnum, m_col]], 10)) - endif - let w:paren_hl_on = 1 - endif -endfunction - -func s:Remove_Matches() - if exists('w:paren_hl_on') && w:paren_hl_on - while !empty(w:matchparen_ids) - silent! call remove(w:matchparen_ids, 0)->matchdelete() - endwhile - let w:paren_hl_on = 0 - endif -endfunc - -" Define commands that will disable and enable the plugin. -command DoMatchParen call s:DoMatchParen() -command NoMatchParen call s:NoMatchParen() - -func s:NoMatchParen() - let w = winnr() - noau windo call s:Remove_Matches() - unlet! g:loaded_matchparen - exe "noau ". w . "wincmd w" - au! matchparen -endfunc - -func s:DoMatchParen() - runtime plugin/matchparen.mnv - let w = winnr() - silent windo doau CursorMoved - exe "noau ". w . "wincmd w" -endfunc - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/plugin/mnvballPlugin.mnv b/uvim/runtime/plugin/mnvballPlugin.mnv deleted file mode 100644 index 268f769c0e..0000000000 --- a/uvim/runtime/plugin/mnvballPlugin.mnv +++ /dev/null @@ -1,52 +0,0 @@ -" mnvballPlugin : construct a file containing both paths and files -" Maintainer: This runtime file is looking for a new maintainer. -" Original Author: Charles E. Campbell -" Copyright: (c) 2004-2014 by Charles E. Campbell -" The MNV LICENSE applies to MNVball.mnv, and MNVball.txt -" (see |copyright|) except use "MNVball" instead of "MNV". -" No warranty, express or implied. -" *** *** Use At-Your-Own-Risk! *** *** -" -" (Rom 2:1 WEB) Therefore you are without excuse, O man, whoever you are who -" judge. For in that which you judge another, you condemn yourself. For -" you who judge practice the same things. -" GetLatestMNVScripts: 1502 1 :AutoInstall: mnvball.mnv - -" --------------------------------------------------------------------- -" Load Once: {{{1 -if &cp || exists("g:loaded_mnvballPlugin") - finish -endif -let g:loaded_mnvballPlugin = "v37" -let s:keepcpo = &cpo -set cpo&mnv - -" ------------------------------------------------------------------------------ -" Public Interface: {{{1 -com! -range -complete=file -nargs=+ -bang MkMNVball call mnvball#MkMNVball(<line1>,<line2>,<bang>0,<f-args>) -com! -nargs=? -complete=dir UseMNVball call mnvball#MNVball(1,<f-args>) -com! -nargs=0 MNVballList call mnvball#MNVball(0) -com! -nargs=* -complete=dir RmMNVball call mnvball#SaveSettings()|call mnvball#RmMNVball(<f-args>)|call mnvball#RestoreSettings() -augroup MNVball - au! - au BufEnter *.vba,*.vba.gz,*.vba.bz2,*.vba.bz3,*.vba.zip,*.vba.xz - \ if getline(1) =~ '^" MNVball Archiver' | - \ setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|if line('$') > 1|call mnvball#ShowMesg(0, "Source this file to extract it! (:so %)")|endif | - \ endif - au SourceCmd *.vba.gz,*.vba.bz2,*.vba.bz3,*.vba.zip,*.vba.xz let s:origfile=expand("%")|if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call mnvball#Decompress(expand("<amatch>"))|so %|if s:origfile!=expand("<afile>")|close|endif - au SourceCmd *.vba if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|call mnvball#MNVball(1)|close|else|call mnvball#MNVball(1)|endif - au BufEnter *.vmb,*.vmb.gz,*.vmb.bz2,*.vmb.bz3,*.vmb.zip,*.vmb.xz - \ if getline(1) =~ '^" MNVball Archiver' | - \ setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|if line('$') > 1|call mnvball#ShowMesg(0,"Source this file to extract it! (:so %)")|endif | - \ endif - au SourceCmd *.vmb.gz,*.vmb.bz2,*.vmb.bz3,*.vmb.zip,*.vmb.xz let s:origfile=expand("%")|if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call mnvball#Decompress(expand("<amatch>"))|so %|if s:origfile!=expand("<afile>")|close|endif - au SourceCmd *.vmb if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|call mnvball#MNVball(1)|close|else|call mnvball#MNVball(1)|endif -augroup END - -" ===================================================================== -" Restoration And Modelines: {{{1 -" mnv: fdm=marker -let &cpo= s:keepcpo -unlet s:keepcpo - -" mnv: ts=4: diff --git a/uvim/runtime/plugin/netrwPlugin.mnv b/uvim/runtime/plugin/netrwPlugin.mnv deleted file mode 100644 index ce242fbad5..0000000000 --- a/uvim/runtime/plugin/netrwPlugin.mnv +++ /dev/null @@ -1,9 +0,0 @@ -" Load the netrw package. - -if &cp || exists("g:loaded_netrw") || exists("g:loaded_netrwPlugin") - finish -endif - -packadd netrw - -" mnv:ts=8 sts=2 sw=2 et diff --git a/uvim/runtime/plugin/openPlugin.mnv b/uvim/runtime/plugin/openPlugin.mnv deleted file mode 100644 index ee51cd1acd..0000000000 --- a/uvim/runtime/plugin/openPlugin.mnv +++ /dev/null @@ -1,46 +0,0 @@ -mnv9script - -# MNV runtime support library -# -# Maintainer: The MNV Project <https://github.com/Project-Tick/Project-Tick> -# 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(<f-args>)) - -# 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(<f-args>)) -# 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(<f-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 <Plug>(open-word-under-cursor) <scriptcmd>mnv9.Open(GetWordUnderCursor())<CR> - nmap gx <Plug>(open-word-under-cursor) - endif - if maparg('gx', 'x') == "" - xnoremap <Plug>(open-word-under-cursor) <scriptcmd>mnv9.Open(getregion(getpos('v'), getpos('.'), { type: mode() })->join())<CR> - xmap gx <Plug>(open-word-under-cursor) - endif -endif - -# mnv: ts=8 sts=2 sw=2 et diff --git a/uvim/runtime/plugin/rrhelper.mnv b/uvim/runtime/plugin/rrhelper.mnv deleted file mode 100644 index 554c7d08ef..0000000000 --- a/uvim/runtime/plugin/rrhelper.mnv +++ /dev/null @@ -1,49 +0,0 @@ -" MNV plugin with helper function(s) for --remote-wait -" Maintainer: Flemming Madsen <fma@cci.dk> -" Last Change: 2008 May 29 - -" Has this already been loaded? -if exists("loaded_rrhelper") || !has("clientserver") - finish -endif -let loaded_rrhelper = 1 - -" Setup answers for a --remote-wait client who will assume -" a SetupRemoteReplies() function in the command server - -function SetupRemoteReplies() - let cnt = 0 - let max = argc() - - let id = expand("<client>") - if (type(id) == v:t_number && id == 0) || (type(id) == v:t_string && id == '') - return - endif - - while cnt < max - " Handle same file from more clients and file being more than once - " on the command line by encoding this stuff in the group name - let uniqueGroup = "RemoteReply_".id."_".cnt - - " Path separators are always forward slashes for the autocommand pattern. - " Escape special characters with a backslash. - let f = substitute(argv(cnt), '\\', '/', "g") - if exists('*fnameescape') - let f = fnameescape(f) - else - let f = escape(f, " \t\n*?[{`$\\%#'\"|!<") - endif - execute "augroup ".uniqueGroup - execute "autocmd ".uniqueGroup." BufUnload ". f ." call DoRemoteReply('".id."', '".cnt."', '".uniqueGroup."', '". f ."')" - let cnt = cnt + 1 - endwhile - augroup END -endfunc - -function DoRemoteReply(id, cnt, group, file) - call server2client(a:id, a:cnt) - execute 'autocmd! '.a:group.' BufUnload '.a:file - execute 'augroup! '.a:group -endfunc - -" mnv: set sw=2 sts=2 : diff --git a/uvim/runtime/plugin/spellfile.mnv b/uvim/runtime/plugin/spellfile.mnv deleted file mode 100644 index 493858e941..0000000000 --- a/uvim/runtime/plugin/spellfile.mnv +++ /dev/null @@ -1,16 +0,0 @@ -" MNV plugin for downloading spell files -" Maintainer: The MNV Project <https://github.com/Project-Tick/Project-Tick> -" Last Change: 2023 Aug 10 -" Former Maintainer: Bram Moolenaar <Bram@mnv.org> - -" Exit quickly when: -" - this plugin was already loaded -" - when 'compatible' is set -" - some autocommands are already taking care of spell files -if exists("loaded_spellfile_plugin") || &cp || exists("#SpellFileMissing") - finish -endif -let loaded_spellfile_plugin = 1 - -" The function is in the autoload directory. -autocmd SpellFileMissing * call spellfile#LoadFile(expand('<amatch>')) diff --git a/uvim/runtime/plugin/tarPlugin.mnv b/uvim/runtime/plugin/tarPlugin.mnv deleted file mode 100644 index 3e18961f42..0000000000 --- a/uvim/runtime/plugin/tarPlugin.mnv +++ /dev/null @@ -1,60 +0,0 @@ -" tarPlugin.mnv -- a MNV plugin for browsing tarfiles -" -" Original was copyright (c) 2002, Michael C. Toren <mct@toren.net> -" Modified by Charles E. Campbell -" Distributed under the GNU General Public License. -" -" Updates are available from <http://michael.toren.net/code/>. If you -" find this script useful, or have suggestions for improvements, please -" let me know. -" Also look there for further comments and documentation. -" -" This part only sets the autocommands. The functions are in autoload/tar.mnv. -" --------------------------------------------------------------------- -" Load Once: {{{1 -if &cp || exists("g:loaded_tarPlugin") - finish -endif -let g:loaded_tarPlugin = "v32" -let s:keepcpo = &cpo -set cpo&mnv - -" --------------------------------------------------------------------- -" Public Interface: {{{1 -augroup tar - au! - au BufReadCmd tarfile::* call tar#Read(expand("<amatch>")) - au FileReadCmd tarfile::* call tar#Read(expand("<amatch>")) - au BufWriteCmd tarfile::* call tar#Write(expand("<amatch>")) - au FileWriteCmd tarfile::* call tar#Write(expand("<amatch>")) - - if has("unix") - au BufReadCmd tarfile::*/* call tar#Read(expand("<amatch>")) - au FileReadCmd tarfile::*/* call tar#Read(expand("<amatch>")) - au BufWriteCmd tarfile::*/* call tar#Write(expand("<amatch>")) - au FileWriteCmd tarfile::*/* call tar#Write(expand("<amatch>")) - endif - - au BufReadCmd *.lrp call tar#Browse(expand("<amatch>")) - au BufReadCmd *.tar call tar#Browse(expand("<amatch>")) - au BufReadCmd *.tar.bz2 call tar#Browse(expand("<amatch>")) - au BufReadCmd *.tar.bz3 call tar#Browse(expand("<amatch>")) - au BufReadCmd *.tar.gz call tar#Browse(expand("<amatch>")) - au BufReadCmd *.tar.lz4 call tar#Browse(expand("<amatch>")) - au BufReadCmd *.tar.lzma call tar#Browse(expand("<amatch>")) - au BufReadCmd *.tar.xz call tar#Browse(expand("<amatch>")) - au BufReadCmd *.tar.Z call tar#Browse(expand("<amatch>")) - au BufReadCmd *.tar.zst call tar#Browse(expand("<amatch>")) - au BufReadCmd *.tbz call tar#Browse(expand("<amatch>")) - au BufReadCmd *.tgz call tar#Browse(expand("<amatch>")) - au BufReadCmd *.tlz4 call tar#Browse(expand("<amatch>")) - au BufReadCmd *.txz call tar#Browse(expand("<amatch>")) - au BufReadCmd *.tzst call tar#Browse(expand("<amatch>")) -augroup END -com! -nargs=? -complete=file MNVuntar call tar#MNVuntar(<q-args>) - -" --------------------------------------------------------------------- -" Restoration And Modelines: {{{1 -" mnv: fdm=marker -let &cpo= s:keepcpo -unlet s:keepcpo diff --git a/uvim/runtime/plugin/tohtml.mnv b/uvim/runtime/plugin/tohtml.mnv deleted file mode 100644 index 2972d4618e..0000000000 --- a/uvim/runtime/plugin/tohtml.mnv +++ /dev/null @@ -1,254 +0,0 @@ -" MNV plugin for converting a syntax highlighted file to HTML. -" Maintainer: Ben Fritz <fritzophrenic@gmail.com> -" Last Change: 2023 Sep 07 -" -" The core of the code is in $MNVRUNTIME/autoload/tohtml.mnv and -" $MNVRUNTIME/syntax/2html.mnv -" -if exists('g:loaded_2html_plugin') - finish -endif -let g:loaded_2html_plugin = 'mnv9.0_v2' - -" -" Changelog: {{{ -" 9.0_v2 (this version): - Warn if using deprecated g:use_xhtml option -" - Change default g:html_use_input_for_pc to "none" -" instead of "fallback". All modern browsers support -" the "user-select: none" and "content:" CSS -" properties so the older method relying on extra -" markup and unspecified browser/app clipboard -" handling is only needed in rare special cases. -" - Fix SourceForge issue #33: generate diff filler -" correctly when new lines have been added to or -" removed from end of buffer. -" - Fix SourceForge issue #32/MNV Github issue #8547: -" use translated highlight ID for styling the -" special-use group names (e.g. LineNr) used -" directly by name in the 2html processing. -" - Fix SourceForge issue #26, refactoring to use -" :let-heredoc style string assignment and -" additional fixes for ".." vs. "." style string -" concatenation. Requires MNV v8.1.1354 or higher. -" 9.0_v1 (MNV 9.0.1275): - Implement g:html_no_doc and g:html_no_modeline -" for diff mode. Add tests. -" (MNV 9.0.1122): NOTE: no version string update for this version! -" - Bugfix for variable name in g:html_no_doc -" (MNV 9.0.0819): NOTE: no version string update for this version! -" - Add options g:html_no_doc, g:html_no_lines, -" and g:html_no_modeline (partially included in MNV -" runtime prior to version string update). -" - Updates for new MNV9 string append style (i.e. use -" ".." instead of "."). Requires MNV version -" 8.1.1114 or higher. -" -" 8.1 updates: {{{ -" 8.1_v2 (MNV 8.1.2312): - Fix SourceForge issue #19: fix calculation of tab -" stop position to use in expanding a tab, when that -" tab occurs after a syntax match which in turn -" comes after previously expanded tabs. -" - Set eventignore while splitting a window for the -" destination file to ignore FileType events; -" speeds up processing when the destination file -" already exists and HTML highlight takes too long. -" - Fix SourceForge issue #20: progress bar could not be -" seen when DiffDelete background color matched -" StatusLine background color. Added TOhtmlProgress -" highlight group for manual user override, but -" calculate it to be visible compared to StatusLine -" by default. -" - Fix SourceForge issue #1: Remove workaround for old -" browsers which don't support 'ch' CSS unit, since -" all modern browsers, including IE>=9, support it. -" - Fix SourceForge issue #10: support termguicolors -" - Fix SourceForge issue #21: default to using -" generated content instead of <input> tags for -" uncopyable text, so that text is correctly -" prevented from being copied in chrome. Use -" g:html_use_input_for_pc option to control the -" method used. -" - Switch to HTML5 to allow using vnu as a validator -" in unit test. -" - Fix fallback sizing of <input> tags for browsers -" without "ch" support. -" - Fix cursor on unselectable diff filler text. -" 8.1_v1 (MNV 8.1.0528): - Fix SourceForge issue #6: Don't generate empty -" script tag. -" - Fix SourceForge issue #5: javascript should -" declare variables with "var". -" - Fix SourceForge issue #13: errors thrown sourcing -" 2html.mnv directly when plugins not loaded. -" - Fix SourceForge issue #16: support 'vartabstop'. -"}}} -" -" 7.4 updates: {{{ -" 7.4_v2 (MNV 7.4.0899): Fix error raised when converting a diff containing -" an empty buffer. Jan Stocker: allow g:html_font to -" take a list so it is easier to specfiy fallback -" fonts in the generated CSS. -" 7.4_v1 (MNV 7.4.0000): Fix modeline mangling for new "MNV:" format, and -" also for version-specific modelines like "mnv>703:". -"}}} -" -" 7.3 updates: {{{ -" 7.3_v14 (MNV 7.3.1246): Allow suppressing line number anchors using -" g:html_line_ids=0. Allow customizing -" important IDs (like line IDs and fold IDs) using -" g:html_id_expr evaluated when the buffer conversion -" is started. -" 7.3_v13 (MNV 7.3.1088): Keep foldmethod at manual in the generated file and -" insert modeline to set it to manual. -" Fix bug: diff mode with 2 unsaved buffers creates a -" duplicate of one buffer instead of including both. -" Add anchors to each line so you can put '#L123' -" or '#123' at the end of the URL to jump to line 123 -" (idea by Andy Spencer). Add javascript to open folds -" to show the anchor being jumped to if it is hidden. -" Fix XML validation error: &nsbp; not part of XML. -" Allow TOhtml to chain together with other commands -" using |. -" 7.3_v12 (MNV 7.3.0616): Fix modeline mangling to also work for when multiple -" highlight groups make up the start-of-modeline text. -" Improve render time of page with uncopyable regions -" by not using one-input-per-char. Change name of -" uncopyable option from html_unselectable to -" html_prevent_copy. Added html_no_invalid option and -" default to inserting invalid markup for uncopyable -" regions to prevent MS Word from pasting undeletable -" <input> elements. Fix 'cpo' handling (Thilo Six). -" 7.3_v12b1: Add html_unselectable option. Rework logic to -" eliminate post-processing substitute commands in -" favor of doing the work up front. Remove unnecessary -" special treatment of 'LineNr' highlight group. Minor -" speed improvements. Fix modeline mangling in -" generated output so it works for text in the first -" column. Fix missing line number and fold column in -" diff filler lines. Fix that some fonts have a 1px -" gap (using a dirty hack, improvements welcome). Add -" "colorscheme" meta tag. Does NOT include support for -" the new default foldtext added in v11, as the patch -" adding it has not yet been included in MNV. -" 7.3_v11 ( unreleased ): Support new default foldtext from patch by Christian -" Brabandt in -" http://groups.google.com/d/topic/mnv_dev/B6FSGfq9VoI/discussion. -" This patch has not yet been included in MNV, thus -" these changes are removed in the next version. -" 7.3_v10 (MNV 7.3.0227): Fix error E684 when converting a range wholly inside -" multiple nested folds with dynamic folding on. -" Also fix problem with foldtext in this situation. -" 7.3_v9 (MNV 7.3.0170): Add html_pre_wrap option active with html_use_css -" and without html_no_pre, default value same as -" 'wrap' option, (Andy Spencer). Don't use -" 'fileencoding' for converted document encoding if -" 'buftype' indicates a special buffer which isn't -" written. -" 7.3_v8 (MNV 7.3.0100): Add html_expand_tabs option to allow leaving tab -" characters in generated output (Andy Spencer). -" Escape text that looks like a modeline so MNV -" doesn't use anything in the converted HTML as a -" modeline. Bugfixes: Fix folding when a fold starts -" before the conversion range. Remove fold column when -" there are no folds. -" 7.3_v7 (MNV 7-3-0063): see betas released on mnv_dev below: -" 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way. -" 7.3_v7b2: Remove automatic detection of encodings that are not -" supported by all major browsers according to -" http://wiki.whatwg.org/wiki/Web_Encodings and -" convert to UTF-8 for all Unicode encodings. Make -" HTML encoding to MNV encoding detection be -" case-insensitive for built-in pairs. -" 7.3_v7b1: Remove use of setwinvar() function which cannot be -" called in restricted mode (Andy Spencer). Use -" 'fencoding' instead of 'encoding' to determine by -" charset, and make sure the 'fenc' of the generated -" file matches its indicated charset. Add charsets for -" all of MNV's natively supported encodings. -" 7.3_v6 (MNV 7.3.0000): Really fix bug with 'nowrapscan', 'magic' and other -" user settings interfering with diff mode generation, -" trailing whitespace (e.g. line number column) when -" using html_no_pre, and bugs when using -" html_hover_unfold. -" 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync -" folds in diff mode when first line was folded. -" 7.3_v4 (MNV 7.3.0000): Bugfixes, especially for xhtml markup, and diff mode -" 7.3_v3 (MNV 7.3.0000): Refactor option handling and make html_use_css -" default to true when not set to anything. Use strict -" doctypes where possible. Rename use_xhtml option to -" html_use_xhtml for consistency. Use .xhtml extension -" when using this option. Add meta tag for settings. -" 7.3_v2 (MNV 7.3.0000): Fix syntax highlighting in diff mode to use both the -" diff colors and the normal syntax colors -" 7.3_v1 (MNV 7.3.0000): Add conceal support and meta tags in output -"}}} -"}}} - -" TODO: {{{ -" * Check the issue tracker: -" https://sourceforge.net/p/mnv-tohtml/issues/search/?q=%21status%3Aclosed -" * Options for generating the CSS in external style sheets. New :TOcss -" command to convert the current color scheme into a (mostly) generic CSS -" stylesheet which can be re-used. Alternate stylesheet support? Good start -" by Erik Falor -" ( https://groups.google.com/d/topic/mnv_use/7XTmC4D22dU/discussion ). -" * Add optional argument to :TOhtml command to specify mode (gui, cterm, -" term) to use for the styling. Suggestion by "nacitar". -" * Add way to override or specify which RGB colors map to the color numbers -" in cterm. Get better defaults than just guessing? Suggestion by "nacitar". -" * Disable filetype detection until after all processing is done. -" * Add option for not generating the hyperlink on stuff that looks like a -" URL? Or just color the link to fit with the colorscheme (and only special -" when hovering)? -" * Bug: Opera does not allow printing more than one page if uncopyable -" regions is turned on. Possible solution: Add normal text line numbers with -" display:none, set to display:inline for print style sheets, and hide -" <input> elements for print, to allow Opera printing multiple pages (and -" other uncopyable areas?). May need to make the new text invisible to IE -" with conditional comments to prevent copying it, IE for some reason likes -" to copy hidden text. Other browsers too? -" * Bug: still a 1px gap throughout the fold column when html_prevent_copy is -" "fn" in some browsers. Specifically, in Chromium on Ubuntu (but not Chrome -" on Windows). Perhaps it is font related? -" * Bug: still some gaps in the fold column when html_prevent_copy contains -" 'd' and showing the whole diff (observed in multiple browsers). Only gaps -" on diff lines though. -" * Undercurl support via CSS3, with fallback to dotted or something: -" https://groups.google.com/d/topic/mnv_use/BzXA6He1pHg/discussion -" * Redo updates for modified default foldtext (v11) when/if the patch is -" accepted to modify it. -" * Test case +diff_one_file-dynamic_folds+expand_tabs-hover_unfold -" +ignore_conceal-ignore_folding+no_foldcolumn+no_pre+no_progress -" +number_lines-pre_wrap-use_css+use_xhtml+whole_filler.xhtml -" does not show the whole diff filler as it is supposed to? -" * Bug: when 'isprint' is wrong for the current encoding, will generate -" invalid content. Can/should anything be done about this? Maybe a separate -" plugin to correct 'isprint' based on encoding? -" * Check to see if the windows-125\d encodings actually work in Unix without -" the 8bit- prefix. Add prefix to autoload dictionaries for Unix if not. -" * Font auto-detection similar to -" http://www.mnv.org/scripts/script.php?script_id=2384 but for a variety of -" platforms. -" * Pull in code from http://www.mnv.org/scripts/script.php?script_id=3113 : -" - listchars support -" - full-line background highlight -" - other? -" * Make it so deleted lines in a diff don't create side-scrolling (get it -" free with full-line background highlight above). -" * Restore open/closed folds and cursor position after processing each file -" with option not to restore for speed increase. -" * Add extra meta info (generation time, etc.)? -" * Tidy up so we can use strict doctype in even more situations -" * Implementation detail: add threshold for writing the lines to the html -" buffer before we're done (5000 or so lines should do it) -" * TODO comments for code cleanup scattered throughout -"}}} - -" Define the :TOhtml command when: -" - 'compatible' is not set -" - this plugin or user override was not already loaded -" - user commands are available. {{{ -if !&cp && !exists(":TOhtml") && has("user_commands") - command -range=% -bar TOhtml :call tohtml#Convert2HTML(<line1>, <line2>) -endif "}}} - -" Make sure any patches will probably use consistent indent -" mnv: ts=8 sw=2 sts=2 noet fdm=marker diff --git a/uvim/runtime/plugin/tutor.mnv b/uvim/runtime/plugin/tutor.mnv deleted file mode 100644 index 7bfdce230c..0000000000 --- a/uvim/runtime/plugin/tutor.mnv +++ /dev/null @@ -1,12 +0,0 @@ -" Tutor: New Style Tutor Plugin :h mnv-tutor-mode -" Maintainer: This runtime file is looking for a new maintainer. -" Contributors: Phạm Bình An <phambinhanctb2004@gmail.com> -" Original Author: Felipe Morales <hel.sheep@gmail.com> -" Date: 2025 May 12 - -if exists('g:loaded_tutor_mode_plugin') || &compatible - finish -endif -let g:loaded_tutor_mode_plugin = 1 - -command! -nargs=? -complete=custom,tutor#TutorCmdComplete Tutor call tutor#TutorCmd(<q-args>) diff --git a/uvim/runtime/plugin/zipPlugin.mnv b/uvim/runtime/plugin/zipPlugin.mnv deleted file mode 100644 index 9306d71e68..0000000000 --- a/uvim/runtime/plugin/zipPlugin.mnv +++ /dev/null @@ -1,60 +0,0 @@ -" zipPlugin.mnv: Handles browsing zipfiles -" PLUGIN PORTION -" Date: Dec 07, 2021 -" Maintainer: This runtime file is looking for a new maintainer. -" Former Maintainer: Charles E Campbell -" Last Change: -" 2025 Apr 02 by MNV Project: add *.whl to list of zip extensions (#17038) -" 2025 Oct 06 by MultisampledNight: add *.pkpass to list of zip extensions (#18501) -" License: MNV License (see mnv's :help license) -" Copyright: Copyright (C) 2005-2016 Charles E. Campbell {{{1 -" Permission is hereby granted to use and distribute this code, -" with or without modifications, provided that this copyright -" notice is copied with it. Like anything else that's free, -" zipPlugin.mnv is provided *as is* and comes with no warranty -" of any kind, either expressed or implied. By using this -" plugin, you agree that in no event will the copyright -" holder be liable for any damages resulting from the use -" of this software. -" -" (James 4:8 WEB) Draw near to God, and he will draw near to you. -" Cleanse your hands, you sinners; and purify your hearts, you double-minded. -" --------------------------------------------------------------------- -" Load Once: {{{1 -if &cp || exists("g:loaded_zipPlugin") - finish -endif -let g:loaded_zipPlugin = "v33" -let s:keepcpo = &cpo -set cpo&mnv - -" --------------------------------------------------------------------- -" Options: {{{1 -if !exists("g:zipPlugin_ext") - let g:zipPlugin_ext='*.aar,*.apk,*.celzip,*.crtx,*.docm,*.docx,*.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,*.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf,*.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.pkpass,*.potm,*.potx,*.ppam,*.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.whl,*.wsz,*.xap,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip' -endif - -" --------------------------------------------------------------------- -" Public Interface: {{{1 -augroup zip - au! - au BufReadCmd zipfile:* call zip#Read(expand("<amatch>"), 1) - au FileReadCmd zipfile:* call zip#Read(expand("<amatch>"), 0) - au BufWriteCmd zipfile:* call zip#Write(expand("<amatch>")) - au FileWriteCmd zipfile:* call zip#Write(expand("<amatch>")) - - if has("unix") - au BufReadCmd zipfile:*/* call zip#Read(expand("<amatch>"), 1) - au FileReadCmd zipfile:*/* call zip#Read(expand("<amatch>"), 0) - au BufWriteCmd zipfile:*/* call zip#Write(expand("<amatch>")) - au FileWriteCmd zipfile:*/* call zip#Write(expand("<amatch>")) - endif - - exe "au BufReadCmd ".g:zipPlugin_ext.' call zip#Browse(expand("<amatch>"))' -augroup END - -" --------------------------------------------------------------------- -" Restoration And Modelines: {{{1 -" mnv: fdm=marker -let &cpo= s:keepcpo -unlet s:keepcpo |
