diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-11-30 17:57:03 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-11-30 17:57:03 +0100 |
commit | 91359014b359cf816bf943fe2c7d492996263def (patch) | |
tree | dc64c28d8316102cdfee1ace9856efe40da55a23 | |
parent | e219f73ed546abeba1ff4f5c08b380d648852222 (diff) |
Update runtime files.
-rw-r--r-- | runtime/autoload/netrw.vim | 94 | ||||
-rw-r--r-- | runtime/doc/if_pyth.txt | 29 | ||||
-rw-r--r-- | runtime/doc/insert.txt | 2 | ||||
-rw-r--r-- | runtime/doc/pi_netrw.txt | 14 | ||||
-rw-r--r-- | runtime/doc/popup.txt | 4 | ||||
-rw-r--r-- | runtime/doc/sign.txt | 4 | ||||
-rw-r--r-- | runtime/doc/syntax.txt | 12 | ||||
-rw-r--r-- | runtime/doc/tags | 9 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 10 | ||||
-rw-r--r-- | runtime/doc/version8.txt | 6382 | ||||
-rw-r--r-- | runtime/pack/dist/opt/termdebug/plugin/termdebug.vim | 4 | ||||
-rw-r--r-- | runtime/plugin/netrwPlugin.vim | 2 | ||||
-rw-r--r-- | runtime/spell/pt/main.aap | 2 | ||||
-rw-r--r-- | runtime/syntax/c.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/tmux.vim | 50 | ||||
-rw-r--r-- | runtime/syntax/typescript.vim | 11 | ||||
-rw-r--r-- | runtime/syntax/typescriptcommon.vim | 44 | ||||
-rw-r--r-- | runtime/syntax/typescriptreact.vim | 2 | ||||
-rw-r--r-- | runtime/syntax/vim.vim | 16 | ||||
-rwxr-xr-x | runtime/tools/shtags.pl | 2 |
20 files changed, 6572 insertions, 125 deletions
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim index e080879bf9..26c4c92d06 100644 --- a/runtime/autoload/netrw.vim +++ b/runtime/autoload/netrw.vim @@ -1,7 +1,7 @@ " netrw.vim: Handles file transfer and remote directory listing across " AUTOLOAD SECTION -" Date: Nov 06, 2019 -" Version: 166 +" Date: Nov 29, 2019 +" Version: 167 " Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM> " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim " Copyright: Copyright (C) 2016 Charles E. Campbell {{{1 @@ -13,6 +13,10 @@ " 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. +" +" Note: the code here was started in 1999 under a much earlier version of vim. The directory browsing +" code was written using vim v6, which did not have Lists (Lists were first offered with vim-v7). +" "redraw!|call DechoSep()|call inputsave()|call input("Press <cr> to continue")|call inputrestore() " " But be doers of the Word, and not only hearers, deluding your own selves {{{1 @@ -39,7 +43,7 @@ if exists("s:needspatches") endfor endif -let g:loaded_netrw = "v166" +let g:loaded_netrw = "v167" if !exists("s:NOTE") let s:NOTE = 0 let s:WARNING = 1 @@ -1535,7 +1539,8 @@ fun! netrw#Obtain(islocal,fname,...) " -i : turns off interactive prompting from ftp " -n unix : DON'T use <.netrc>, even though it exists " -n win32: quit being obnoxious about password - NetrwKeepj norm! 1Gdd + " Note: using "_dd to delete to the black hole register; avoids messing up @@ + NetrwKeepj norm! 1G"_dd call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options) " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) if getline(1) !~ "^$" @@ -2203,7 +2208,7 @@ fun! netrw#NetRead(mode,...) " -i : turns off interactive prompting from ftp " -n unix : DON'T use <.netrc>, even though it exists " -n win32: quit being obnoxious about password - NetrwKeepj norm! 1Gdd + NetrwKeepj norm! 1G"_dd call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options) " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) if getline(1) !~ "^$" @@ -2303,7 +2308,7 @@ fun! netrw#NetRead(mode,...) NetrwKeepj put ='quit' " perform cadaver operation: - NetrwKeepj norm! 1Gdd + NetrwKeepj norm! 1G"_dd call s:NetrwExe(s:netrw_silentxfer."%!".g:netrw_dav_cmd) keepj bd! endif @@ -2619,7 +2624,7 @@ fun! netrw#NetWrite(...) range " -i : turns off interactive prompting from ftp " -n unix : DON'T use <.netrc>, even though it exists " -n win32: quit being obnoxious about password - NetrwKeepj norm! 1Gdd + NetrwKeepj norm! 1G"_dd call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options) " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) if getline(1) !~ "^$" @@ -2685,7 +2690,7 @@ fun! netrw#NetWrite(...) range NetrwKeepj put ='put '.tmpfile.' '.netrw_fname " perform cadaver operation: - NetrwKeepj norm! 1Gdd + NetrwKeepj norm! 1G"_dd call s:NetrwExe(s:netrw_silentxfer."%!".g:netrw_dav_cmd) " remove enew buffer (quietly) @@ -4367,7 +4372,7 @@ fun! s:NetrwGetWord() let curline= getline('.') if curline =~# '"\s*Sorted by\s' - NetrwKeepj norm! s + NetrwKeepj norm! "_s let s:netrw_skipbrowse= 1 echo 'Pressing "s" also works' @@ -5207,13 +5212,26 @@ endfun " 0=local, 1=remote fun! netrw#BrowseX(fname,remote) let use_ctrlo= 1 -" call Dfunc("netrw#BrowseX(fname<".a:fname."> remote=".a:remote.")") +" call Dfunc("netrw#BrowseX(fname<".a:fname."> remote=".a:remote.") implements x and gx maps") - " if its really just a local directory, then do a "gf" instead - if (a:remote == 0 && isdirectory(a:fname)) || (a:remote == 1 && a:fname =~ '/$' && a:fname !~ '^https\=:') + if a:remote == 0 && isdirectory(a:fname) + " if its really just a local directory, then do a "gf" instead +" call Decho("remote≡0 and a:fname<".a:fname."> ".(isdirectory(a:fname)? "is a directory" : "is not a directory"),'~'.expand("<slnum>")) +" call Decho("..appears to be a local directory; using gf instead",'~'.expand("<slnum>")) norm! gf -" call Dret("(netrw#BrowseX) did gf instead") +" call Dret("netrw#BrowseX") + return + elseif a:remote == 1 && a:fname !~ '^https\=:' && a:fname =~ '/$' + " remote directory, not a webpage access, looks like an attempt to do a directory listing +" call Decho("remote≡1 and a:fname<".a:fname.">",'~'.expand("<slnum>")) +" call Decho("..and fname ".((a:fname =~ '^https\=:')? 'matches' : 'does not match').'^https\=:','~'.expand("<slnum>")) +" call Decho("..and fname ".((a:fname =~ '/$')? 'matches' : 'does not match').' /$','~'.expand("<slnum>")) +" call Decho("..appears to be a remote directory listing request; using gf instead",'~'.expand("<slnum>")) + norm! gf +" call Dret("netrw#BrowseX") + return endif +" call Decho("not a local file nor a webpage request",'~'.expand("<slnum>")) let ykeep = @@ let screenposn = winsaveview() @@ -5467,11 +5485,11 @@ endfun " netrw#BrowseXVis: used by gx in visual mode to select a file for browsing {{{2 fun! netrw#BrowseXVis() " call Dfunc("netrw#BrowseXVis()") - let atkeep = @@ - norm! gvy -" call Decho("@@<".@@.">",'~'.expand("<slnum>")) - call netrw#BrowseX(@@,netrw#CheckIfRemote(@@)) - let @@ = atkeep + let akeep = @a + norm! gv"ay + let gxfile= @a + let @a = akeep + call netrw#BrowseX(gxfile,netrw#CheckIfRemote(gxfile)) " call Dret("netrw#BrowseXVis") endfun @@ -6091,8 +6109,8 @@ fun! s:NetrwSLeftrelease(islocal) endfun " --------------------------------------------------------------------- -" s:NetrwListHide: uses [range]g~...~d to delete files that match comma {{{2 -" separated patterns given in g:netrw_list_hide +" s:NetrwListHide: uses [range]g~...~d to delete files that match {{{2 +" comma-separated patterns given in g:netrw_list_hide fun! s:NetrwListHide() " call Dfunc("s:NetrwListHide() g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">") " call Decho("initial: ".string(getline(w:netrw_bannercnt,'$'))) @@ -6105,8 +6123,8 @@ fun! s:NetrwListHide() " Use the first character left as a separator character. " call Decho("find a character not in the hide string to use as a separator") let listhide= g:netrw_list_hide - let sep = strpart(substitute('/~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1) -" call Decho("sep=".sep,'~'.expand("<slnum>")) + let sep = strpart(substitute('~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1) +" call Decho("sep=".sep," (sep not in hide string)'~'.expand("<slnum>")) while listhide != "" if listhide =~ ',' @@ -6116,10 +6134,19 @@ fun! s:NetrwListHide() let hide = listhide let listhide = "" endif -" call Decho("hide<".hide."> listhide<".listhide.'>','~'.expand("<slnum>")) +" call Decho("..extracted from listhide: hide<".hide."> g:netrw_sort_by<".g:netrw_sort_by.'>','~'.expand("<slnum>")) + if g:netrw_sort_by =~ '^[ts]' + if hide =~ '^\^' +" call Decho("..modify hide to handle a \"^...\" pattern",'~'.expand("<slnum>")) + let hide= substitute(hide,'^\^','^\(\\d\\+/\)','') + elseif hide =~ '^\\(\^' + let hide= substitute(hide,'^\\(\^','\\(^\\(\\d\\+/\\)','') + endif +" call Decho("..hide<".hide."> listhide<".listhide.'>','~'.expand("<slnum>")) + endif " Prune the list by hiding any files which match -" call Decho("prune the list by hiding any files which ",((g:netrw_hide == 1)? "" : "don't")." match hide<".hide.">") +" call Decho("..prune the list by hiding any files which ",((g:netrw_hide == 1)? "" : "don't")." match hide<".hide.">") if g:netrw_hide == 1 " call Decho("..hiding<".hide.">",'~'.expand("<slnum>")) exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d' @@ -6664,9 +6691,9 @@ fun! s:NetrwMarkFiles(islocal,...) while i <= a:0 if a:islocal if v:version > 704 || (v:version == 704 && has("patch656")) - let mffiles= glob(fnameescape(a:{i}),0,1,1) + let mffiles= glob(a:{i},0,1,1) else - let mffiles= glob(fnameescape(a:{i}),0,1) + let mffiles= glob(a:{i},0,1) endif else let mffiles= [a:{i}] @@ -8718,7 +8745,7 @@ fun! s:NetrwUpload(fname,tgt,...) " -i : turns off interactive prompting from ftp " -n unix : DON'T use <.netrc>, even though it exists " -n win32: quit being obnoxious about password - NetrwKeepj norm! 1Gdd + NetrwKeepj norm! 1G"_dd call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options) " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) sil NetrwKeepj g/Local directory now/d @@ -9556,12 +9583,14 @@ fun! s:NetrwWideListing() " fpl: filenames per line " fpc: filenames per column setl ma noro + let keepa= @a " call Decho("setl ma noro",'~'.expand("<slnum>")) let b:netrw_cpf= 0 if line("$") >= w:netrw_bannercnt exe 'sil NetrwKeepj '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif' NetrwKeepj call histdel("/",-1) else + let @a= keepa " call Dret("NetrwWideListing") return endif @@ -9593,9 +9622,9 @@ fun! s:NetrwWideListing() let newcolqty= newcolend - newcolstart exe newcolstart if newcolqty == 0 - exe "sil! NetrwKeepj norm! 0\<c-v>$hx".w:netrw_bannercnt."G$p" + exe "sil! NetrwKeepj norm! 0\<c-v>$h\"ax".w:netrw_bannercnt."G$\"ap" else - exe "sil! NetrwKeepj norm! 0\<c-v>".newcolqty.'j$hx'.w:netrw_bannercnt.'G$p' + exe "sil! NetrwKeepj norm! 0\<c-v>".newcolqty.'j$h\"ax'.w:netrw_bannercnt.'G$\"ap' endif exe "sil! NetrwKeepj ".newcolstart.','.newcolend.'d _' exe 'sil! NetrwKeepj '.w:netrw_bannercnt @@ -9611,6 +9640,7 @@ fun! s:NetrwWideListing() exe 'nno <buffer> <silent> b :call search(''^.\\|\s\s\zs\S'',''bW'')'."\<cr>" " call Decho("NetrwWideListing) setl noma nomod ro",'~'.expand("<slnum>")) exe "setl ".g:netrw_bufsettings + let @a= keepa " call Decho("ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap." (filename<".expand("%")."> win#".winnr()." ft<".&ft.">)",'~'.expand("<slnum>")) " call Dret("NetrwWideListing") return @@ -9808,6 +9838,7 @@ fun! s:PerformListing(islocal) exe 'sil NetrwKeepj '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options endif endif + " remove priority pattern prefix " call Decho("remove priority pattern prefix",'~'.expand("<slnum>")) exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$s/^\d\{3}'.g:netrw_sepchr.'//e' @@ -9846,6 +9877,7 @@ fun! s:PerformListing(islocal) " call Decho('exe sil NetrwKeepj '.w:netrw_bannercnt.',$sort!','~'.expand("<slnum>")) exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options endif +" call Decho("remove leading digits/ (sorting) information from listing",'~'.expand("<slnum>")) exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$s/^\d\{-}\///e' NetrwKeepj call histdel("/",-1) endif @@ -9908,6 +9940,7 @@ fun! s:PerformListing(islocal) " call Decho("exe setl ts=".(g:netrw_maxfilenamelen+1),'~'.expand("<slnum>")) exe "setl ts=".(g:netrw_maxfilenamelen+1) endif +" call Decho("PerformListing buffer:",'~'.expand("<slnum>")) " call DechoBuf(bufnr("%")) if exists("s:treecurpos") @@ -10943,10 +10976,11 @@ fun! s:LocalListing() if g:netrw_sort_by =~# "^t" " sort by time (handles time up to 1 quintillion seconds, US) + " Decorate listing by prepending a timestamp/ . Sorting will then be done based on time. " call Decho("getftime(".filename.")=".getftime(filename),'~'.expand("<slnum>")) let t = getftime(filename) let ft = strpart("000000000000000000",1,18-strlen(t)).t -" call Decho("exe NetrwKeepj put ='".ft.'/'.filename."'",'~'.expand("<slnum>")) +" call Decho("exe NetrwKeepj put ='".ft.'/'.pfile."'",'~'.expand("<slnum>")) let ftpfile= ft.'/'.pfile sil! NetrwKeepj put=ftpfile diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt index 4f04199d5e..1c50dcc2ac 100644 --- a/runtime/doc/if_pyth.txt +++ b/runtime/doc/if_pyth.txt @@ -1,4 +1,4 @@ -*if_pyth.txt* For Vim version 8.1. Last change: 2019 Jul 21 +*if_pyth.txt* For Vim version 8.1. Last change: 2019 Nov 29 VIM REFERENCE MANUAL by Paul Moore @@ -767,17 +767,28 @@ match the Python 2.x or Python 3 version Vim was compiled with. 10. Python 3 *python3* *:py3* *:python3* -The `:py3` and `:python3` commands work similar to `:python`. A simple check -if the `:py3` command is working: > - :py3 print("Hello") +:[range]py3 {stmt} +:[range]py3 << [endmarker] +{script} +{endmarker} -To see what version of Python you have: > - :py3 import sys - :py3 print(sys.version) +:[range]python3 {stmt} +:[range]python3 << [endmarker] +{script} +{endmarker} + The `:py3` and `:python3` commands work similar to `:python`. A + simple check if the `:py3` command is working: > + :py3 print("Hello") +< + To see what version of Python you have: > + :py3 import sys + :py3 print(sys.version) < *:py3file* -The `:py3file` command works similar to `:pyfile`. +:[range]py3f[ile] {file} + The `:py3file` command works similar to `:pyfile`. *:py3do* -The `:py3do` command works similar to `:pydo`. +:[range]py3do {body} + The `:py3do` command works similar to `:pydo`. Vim can be built in four ways (:version output): diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt index eac301aba9..8f66cd34d2 100644 --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1147,7 +1147,7 @@ properties can be changed with |popup_setoptions()|. *complete-popuphidden* If the information for the popup is obtained asynchronously, use "popuphidden" -in 'completeopt'. The info popup will then be initally hidden and +in 'completeopt'. The info popup will then be initially hidden and |popup_show()| must be called once it has been filled with the info. This can be done with a |CompleteChanged| autocommand, something like this: > set completeopt+=popuphidden diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt index 9e7cde1566..94dbfa5503 100644 --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -1,4 +1,4 @@ -*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Nov 14 +*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Nov 30 ------------------------------------------------ NETRW REFERENCE MANUAL by Charles E. Campbell @@ -1184,7 +1184,7 @@ One may easily "bookmark" the currently browsed directory by using > *.netrwbook* Bookmarks are retained in between sessions of vim in a file called .netrwbook as a |List|, which is typically stored in the first directory on the user's -'runtimepath'; entries are kept in sorted order. +|'runtimepath'|; entries are kept in sorted order. If there are marked files and/or directories, mb will add them to the bookmark list. @@ -3842,6 +3842,16 @@ netrw: ============================================================================== 12. History *netrw-history* {{{1 + v167: Nov 29, 2019 * netrw does a save&restore on @* and @+. + That causes problems with the clipboard. + Now restores occurs only if @* or @+ have + been changed. + * netrw will change @* or @+ less often. + Never if I happen to have caught all the + operations that modify the unnamed + register (which also writes @*). + * Modified hiding behavior so that "s" + will not ignore hiding. v166: Nov 06, 2019 * Removed a space from a nmap for "-" * Numerous debugging statement changes v163: Dec 05, 2017 * (Cristi Balan) reported that a setting ('sel') diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt index 543d0aa91c..12e1cf1617 100644 --- a/runtime/doc/popup.txt +++ b/runtime/doc/popup.txt @@ -1,10 +1,10 @@ -*popup.txt* For Vim version 8.1. Last change: 2019 Nov 17 +*popup.txt* For Vim version 8.1. Last change: 2019 Nov 30 VIM REFERENCE MANUAL by Bram Moolenaar -Displaying text in a floating window. *popup* *popup-window* +Displaying text in a floating window. *popup* *popup-window* *popupwin* 1. Introduction |popup-intro| diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt index 57bd0a76f1..b415b3e7c5 100644 --- a/runtime/doc/sign.txt +++ b/runtime/doc/sign.txt @@ -1,4 +1,4 @@ -*sign.txt* For Vim version 8.1. Last change: 2019 Nov 12 +*sign.txt* For Vim version 8.1. Last change: 2019 Nov 30 VIM REFERENCE MANUAL by Gordon Prieur @@ -71,8 +71,6 @@ placed in the named group. The sign identifier is unique within a group. The sign group allows Vim plugins to use unique signs without interfering with other plugins using signs. -The group name "popupmenu" is used by popup windows where 'cursorline' is set. - To place a sign in a popup window the group name must start with "PopUp". Other signs will not show in a popup window. The group name "PopUpMenu" is used by popup windows where 'cursorline' is set. diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index 3ec4acf1c3..6a9f6aedf0 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 8.1. Last change: 2019 Nov 20 +*syntax.txt* For Vim version 8.1. Last change: 2019 Nov 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -966,10 +966,12 @@ Basic. C *c.vim* *ft-c-syntax* A few things in C highlighting are optional. To enable them assign any value -to the respective variable. Example: > +(including zero) to the respective variable. Example: > :let c_comment_strings = 1 -To disable them use ":unlet". Example: > + :let c_no_bracket_error = 0 +To disable them use `:unlet`. Example: > :unlet c_comment_strings +Setting the value to zero doesn't work! An alternative is to switch to the C++ highlighting: > :set filetype=cpp @@ -985,8 +987,8 @@ Variable Highlight ~ except { and } in first column Default is to highlight them, otherwise you can't spot a missing ")". -*c_curly_error* highlight a missing }; this forces syncing from the - start of the file, can be slow +*c_curly_error* highlight a missing } by finding all pairs; this + forces syncing from the start of the file, can be slow *c_no_ansi* don't do standard ANSI types and constants *c_ansi_typedefs* ... but do standard ANSI types *c_ansi_constants* ... but do standard ANSI constants diff --git a/runtime/doc/tags b/runtime/doc/tags index 15c37fccfc..ca93bd4815 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -5285,6 +5285,7 @@ added-7.2 version7.txt /*added-7.2* added-7.3 version7.txt /*added-7.3* added-7.4 version7.txt /*added-7.4* added-8.1 version8.txt /*added-8.1* +added-8.2 version8.txt /*added-8.2* added-BeOS version5.txt /*added-BeOS* added-Mac version5.txt /*added-Mac* added-VMS version5.txt /*added-VMS* @@ -5651,6 +5652,7 @@ changed-7.2 version7.txt /*changed-7.2* changed-7.3 version7.txt /*changed-7.3* changed-7.4 version7.txt /*changed-7.4* changed-8.1 version8.txt /*changed-8.1* +changed-8.2 version8.txt /*changed-8.2* changelist motion.txt /*changelist* changelog.vim syntax.txt /*changelog.vim* changenr() eval.txt /*changenr()* @@ -8083,6 +8085,7 @@ new-options-5.4 version5.txt /*new-options-5.4* new-perl-python version5.txt /*new-perl-python* new-persistent-undo version7.txt /*new-persistent-undo* new-plugins version6.txt /*new-plugins* +new-popup-window version8.txt /*new-popup-window* new-posix version7.txt /*new-posix* new-print-multi-byte version7.txt /*new-print-multi-byte* new-printing version6.txt /*new-printing* @@ -8099,6 +8102,7 @@ new-spell version7.txt /*new-spell* new-style-testing testing.txt /*new-style-testing* new-tab-pages version7.txt /*new-tab-pages* new-terminal-window version8.txt /*new-terminal-window* +new-text-properties version8.txt /*new-text-properties* new-undo-branches version7.txt /*new-undo-branches* new-unlisted-buffers version6.txt /*new-unlisted-buffers* new-user-defined version5.txt /*new-user-defined* @@ -8109,6 +8113,7 @@ new-vim-script version7.txt /*new-vim-script* new-vim-script-8 version8.txt /*new-vim-script-8* new-vim-server version6.txt /*new-vim-server* new-vimgrep version7.txt /*new-vimgrep* +new-vimscript-8.2 version8.txt /*new-vimscript-8.2* new-virtedit version6.txt /*new-virtedit* news intro.txt /*news* nextnonblank() eval.txt /*nextnonblank()* @@ -8332,6 +8337,7 @@ popup_settext() popup.txt /*popup_settext()* popup_show() popup.txt /*popup_show()* popupmenu-completion insert.txt /*popupmenu-completion* popupmenu-keys insert.txt /*popupmenu-keys* +popupwin popup.txt /*popupwin* ports-5.2 version5.txt /*ports-5.2* ports-6 version6.txt /*ports-6* posix vi_diff.txt /*posix* @@ -9847,6 +9853,7 @@ version-7.3 version7.txt /*version-7.3* version-7.4 version7.txt /*version-7.4* version-8.0 version8.txt /*version-8.0* version-8.1 version8.txt /*version-8.1* +version-8.2 version8.txt /*version-8.2* version-variable eval.txt /*version-variable* version4.txt version4.txt /*version4.txt* version5.txt version5.txt /*version5.txt* @@ -9859,6 +9866,7 @@ version7.4 version7.txt /*version7.4* version7.txt version7.txt /*version7.txt* version8.0 version8.txt /*version8.0* version8.1 version8.txt /*version8.1* +version8.2 version8.txt /*version8.2* version8.txt version8.txt /*version8.txt* versionlong-variable eval.txt /*versionlong-variable* vi intro.txt /*vi* @@ -9874,6 +9882,7 @@ views-sessions starting.txt /*views-sessions* vim-7.4 version7.txt /*vim-7.4* vim-8 version8.txt /*vim-8* vim-8.1 version8.txt /*vim-8.1* +vim-8.2 version8.txt /*vim-8.2* vim-additions vi_diff.txt /*vim-additions* vim-announce intro.txt /*vim-announce* vim-arguments starting.txt /*vim-arguments* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 4efcf135d4..1a255e04c0 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.1. Last change: 2019 Nov 26 +*todo.txt* For Vim version 8.1. Last change: 2019 Nov 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -38,8 +38,6 @@ browser use: https://github.com/vim/vim/issues/1234 *known-bugs* -------------------- Known bugs and current work ----------------------- -For rand() use http://prng.di.unimi.it/xoshiro128starstar.c ? - Popup windows: - Use popup (or popup menu) for command line completion - Implement flip option @@ -47,11 +45,7 @@ Popup windows: - put popup menu also in popup_mask? - Any other commands to disable in a popup window? Use ERROR_IF_POPUP_WINDOW for these. -- Figure out the size and position better. - if wrapping splits a double-wide character - if wrapping inserts indent -- When drawing on top half a double-wide character, display ">" or "<" in the - incomplete cell. +- Figure out the size and position better if wrapping inserts indent Text properties: - Implement prop_find() issue #4970 diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt index c330555115..33f943e52a 100644 --- a/runtime/doc/version8.txt +++ b/runtime/doc/version8.txt @@ -1,4 +1,4 @@ -*version8.txt* For Vim version 8.1. Last change: 2019 May 26 +*version8.txt* For Vim version 8.1. Last change: 2019 Nov 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -31,6 +31,11 @@ Changed |changed-8.1| Added |added-8.1| Patches |patches-8.1| +VERSION 8.2 |version-8.2| +Changed |changed-8.2| +Added |added-8.2| +Patches |patches-8.2| + See |vi_diff.txt| for an overview of differences between Vi and Vim 8.0. See |version4.txt|, |version5.txt|, |version6.txt| and |version7.txt| for @@ -25795,11 +25800,178 @@ Solution: Move the todo items to the help file. Files: src/terminal.c +============================================================================== +VERSION 8.2 *version-8.2* *version8.2* *vim-8.2* + +VERSION 8.2 IS NOT RELEASED YET! THIS SECTION WILL CHANGE. + +This section is about improvements made between version 8.1 and 8.2. + +This release has hundreds of bug fixes, there are a few new features and there +are many minor improvements. + + +Popup windows *new-popup-window* +------------- + +Popup windows can be used to display text on top of other windows. This can +be for a simple message such as "Build finished successfully", showing a +function prototype while editing a function call, a flexible popup menu and +many other purposes. + +Popup windows are very flexibley: they can be positioned relative to text, an +absolute position or just in the middle of the screen. The size can be fixed +or adjust to the text. A "zindex" value specifies what popup window goes on +top of others. + + +Text properties *new-text-properties* +--------------- + +Highlighting of text was done previously with syntax rules or matches. Text +properties give a plugin author more flexibility what to highlight. This can +be used with an external asynchronous parser to do syntax highlighting. Or +just to highlight text in a popup window. + +The listener functions have been added so exchange text changes with a server +to dynamically update highligting, mark errors and the like. + + +Vim script improvements *new-vimscript-8.2* +----------------------- + +Functions can now be called in a chain, using "->". E.g.: > + mylist->filter(filterexpr)->map(mapexpr)->sort()->join() +The new `:eval` command can be used when there is no result. + +The `:scriptversion` command was added to allow for changes that are not +backwards compatible. E.g. to only use ".." for string concatenation. + +`:const` was added to allow for declaring a variable that cannot change. > + const TIMER_DELAY = 400 + +The |Blob| type was added. This makes it easy to deal with binary data. + +A Dictionary can be defined with #{} where the keys are used literally. This +avoids having to use quotes. E.g.: > + let options = #{width: 30, height: 24} + + +Changed *changed-8.2* +------- + +The xdiff library was included to avoid the need for an external diff program +and to make updating diffs much faster. + + +Added *added-8.2* +----- + +Added functions: + All the popup_ functions. + All the prop_ functions. + All the sign_ functions. + All the sound_ functions. + + |appendbufline()| + |balloon_gettext()| + |bufadd()| + |bufload()| + |ch_readblob()| + |chdir()| + |debugbreak()| + |deletebufline()| + |environ()| + |expandcmd()| + |getenv()| + |getimstatus()| + |getmousepos()| + |gettagstack()| + |interrupt()| + |isinf()| + |list2str()| + |listener_add()| + |listener_flush()| + |listener_remove()| + |prompt_setcallback()| + |prompt_setinterrupt()| + |prompt_setprompt()| + |pum_getpos()| + |rand()| + |readdir()| + |reg_executing()| + |reg_recording()| + |rubyeval()| + |screenchars()| + |screenpos()| + |screenstring()| + |setenv()| + |settagstack()| + |srand()| + |state()| + |str2list()| + |strptime()| + |swapinfo()| + |swapname()| + |term_setapi()| + |test_getvalue()| + |test_null_blob()| + |test_refcount()| + |test_scrollbar()| + |test_setmouse()| + |win_execute()| + |win_splitmove()| + |winlayout()| + +Added autocommands: + |CompleteChanged| + |DiffUpdated| + |SafeState| + |SafeStateAgain| + |SourcePost| + |TerminalWinOpen| + +Added commands: + `:cabove` + `:cafter` + `:cbefore` + `:cbelow` + `:const` + `:eval` + `:labove` + `:lbefore` + `:lbelow` + `:lafter` + `:redrawtabline` + `:scriptversion` + `:spellrare` + `:tcd` + `:tchdir` + `:tlmenu` + `:tlnoremenu` + `:tlunmenu` + `:wsverb` + `:xrestore` + +Added options: + 'completepopup' + 'completeslash' + 'cursorlineopt' + 'modelineexpr' + 'previewpopup' + 'scrollfocus' + 'tagfunc' + 'termwintype' + 'varsofttabstop' + 'vartabstop' + 'wincolor' + + Patches *patches-8.2* ------- -These patches were applied after the 8.1 release and will eventually lead up -to the 8.2 release. +These patches were applied after the 8.1 release and are included in the 8.2 +release. Patch 8.1.0001 Problem: The netrw plugin does not work. @@ -29391,7 +29563,7 @@ Problem: Iterating through window frames is repeated. Solution: Define FOR_ALL_FRAMES. (Yegappan Lakshmanan) Files: src/ex_docmd.c, src/globals.h, src/screen.c, src/window.c -Patch 8.1.0624 (after 8.2.0620) +Patch 8.1.0624 (after 8.1.0620) Problem: Overruling CONF_ARGS from the environment still does not work. (Tony Mechelynck) Solution: Add back CONF_ARGS next to the new numbered ones. @@ -34320,5 +34492,6207 @@ Solution: Use the pointer in tabpage_T. Files: src/popupwin.c, src/globals.h, src/eval.c, src/screen.c, src/window.c +Patch 8.1.1401 +Problem: Misspelled mkspellmem as makespellmem. +Solution: Drop duplicate help entry, fix test. (Naruhiko Nishino, Ken + Takata, closes #4437) +Files: runtime/doc/options.txt, src/testdir/test_modeline.vim + +Patch 8.1.1402 +Problem: "timer" option of popup windows not supported. +Solution: Implement the "timer" option. (Yasuhiro Matsumoto, closes #4439) +Files: src/structs.h, src/testdir/test_popupwin.vim, src/popupwin.c, + src/window.c, runtime/doc/popup.txt + +Patch 8.1.1403 +Problem: Cannot build without the timer feature. +Solution: Add #ifdef. +Files: src/structs.h, src/window.c, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1404 +Problem: Cannot change the patch level when building with NSIS. +Solution: Use $PATCHLEVEL if defined. (Christian Brabandt) +Files: nsis/gvim.nsi + +Patch 8.1.1405 +Problem: "highlight" option of popup windows not supported. +Solution: Implement the "highlight" option. +Files: src/option.c, src/proto/option.pro, src/diff.c src/popupwin.c, + runtime/doc/popup.txt, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_01.dump, + src/testdir/dumps/Test_popupwin_03.dump + +Patch 8.1.1406 +Problem: popup_hide() and popup_show() not implemented yet. +Solution: Implement the functions. +Files: src/popupwin.c, src/proto/popupwin.pro, src/evalfunc.c, + src/structs.h, runtime/doc/popup.txt, src/screen.c, src/vim.h, + src/testdir/test_popupwin.vim + +Patch 8.1.1407 +Problem: Popup_create() does not support text properties. +Solution: Support the third form of the text argument. +Files: src/textprop.c, src/proto/textprop.pro, src/popupwin.c, + src/testdir/test_popupwin.vim, src/screen.c, + src/testdir/dumps/Test_popupwin_02.dump, + src/testdir/dumps/Test_popupwin_03.dump, + src/testdir/dumps/Test_popupwin_04.dump, + runtime/doc/popup.txt + +Patch 8.1.1408 +Problem: PFL_HIDDEN conflicts with system header file. +Solution: |