diff options
82 files changed, 3155 insertions, 1872 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 63d6735c59..ac41ed5678 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -70,6 +70,7 @@ runtime/compiler/jest.vim @dkearns runtime/compiler/jjs.vim @dkearns runtime/compiler/jshint.vim @dkearns runtime/compiler/jsonlint.vim @dkearns +runtime/compiler/jq.vim @vito-c runtime/compiler/lazbuild.vim @dkearns runtime/compiler/perl.vim @petdance @heptite runtime/compiler/perlcritic.vim @petdance @dkearns @@ -164,6 +165,7 @@ runtime/ftplugin/json.vim @dbarnett runtime/ftplugin/json5.vim @dkearns runtime/ftplugin/jsonc.vim @izhakjakov runtime/ftplugin/julia.vim @carlobaldassi +runtime/ftplugin/jq.vim @vito-c runtime/ftplugin/kconfig.vim @chrisbra runtime/ftplugin/kotlin.vim @udalov runtime/ftplugin/less.vim @genoma @@ -316,6 +318,7 @@ runtime/lang/menu_ru_ru.cp1251.vim @RestorerZ runtime/lang/menu_ru_ru.koi8-r.vim @RestorerZ runtime/lang/menu_ru_ru.utf-8.vim @RestorerZ runtime/pack/dist/opt/cfilter/plugin/cfilter.vim @yegappan +runtime/pack/dist/opt/comment/ @habamax runtime/pack/dist/opt/matchit/ @chrisbra runtime/plugin/manpager.vim @Konfekt runtime/syntax/shared/hgcommitDiff.vim @vegerot @@ -403,8 +406,10 @@ runtime/syntax/j.vim @glts runtime/syntax/jargon.vim @h3xx runtime/syntax/java.vim @zzzyxwvut runtime/syntax/javascript.vim @fleiner +runtime/syntax/json.vim @vito-c runtime/syntax/jsonc.vim @izhakjakov runtime/syntax/julia.vim @carlobaldassi +runtime/syntax/jq.vim @vito-c runtime/syntax/kconfig.vim @chrisbra runtime/syntax/kotlin.vim @udalov runtime/syntax/krl.vim @KnoP-01 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4f6021634f..0307b454bf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -96,6 +96,8 @@ jobs: - name: Install packages run: | + # This is added by default, and it is often broken, but we don't need anything from it + sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list PKGS=( \ gettext \ libgtk2.0-dev:${{ matrix.architecture }} \ @@ -129,6 +131,9 @@ jobs: - name: Install gcc-${{ env.GCC_VER }} if: matrix.compiler == 'gcc' run: | + # ubuntu-toolchain-r/test PPA for gcc-13 compiler + sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y + sudo apt-get update -y sudo apt-get install -y gcc-${{ env.GCC_VER }}:${{ matrix.architecture }} sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ env.GCC_VER }} 100 sudo update-alternatives --set gcc /usr/bin/gcc-${{ env.GCC_VER }} @@ -409,9 +414,11 @@ jobs: WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip # libsodium SODIUM_VER: '1.0.19' - SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip + # SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip + SODIUM_MSVC_URL: https://github.com/jedisct1/libsodium/releases/download/%SODIUM_VER%-RELEASE/libsodium-%SODIUM_VER%-msvc.zip SODIUM_MSVC_VER: v143 - SODIUM_MINGW_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-mingw.tar.gz + # SODIUM_MINGW_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-mingw.tar.gz + SODIUM_MINGW_URL: https://github.com/jedisct1/libsodium/releases/download/%SODIUM_VER%-RELEASE/libsodium-%SODIUM_VER%-mingw.tar.gz SODIUM_MINGW_VER: 26 # Escape sequences COL_RED: "\x1b[31m" @@ -755,6 +755,10 @@ RT_ALL = \ runtime/tutor/tutor.vim \ runtime/vimrc_example.vim \ runtime/pack/dist/opt/cfilter/plugin/cfilter.vim \ + runtime/pack/dist/opt/comment/plugin/comment.vim \ + runtime/pack/dist/opt/comment/doc/comment.txt \ + runtime/pack/dist/opt/comment/doc/tags \ + runtime/pack/dist/opt/comment/autoload/comment.vim \ runtime/pack/dist/opt/dvorak/plugin/dvorak.vim \ runtime/pack/dist/opt/dvorak/dvorak/enable.vim \ runtime/pack/dist/opt/dvorak/dvorak/disable.vim \ diff --git a/READMEdir/README_vimlogo.txt b/READMEdir/README_vimlogo.txt index 9798b108d1..570e876548 100644 --- a/READMEdir/README_vimlogo.txt +++ b/READMEdir/README_vimlogo.txt @@ -1,8 +1,8 @@ The Python project that creates `vimlogo.svg` can be found at `https://github.com/ShayHill/vimlogo`. The Vim license applies. -`vimlogo.svg` is an effort to remove errors and inadvertant inconsistencies -from the original vim logo while maintaing the original design. `vimlogo.svg` +`vimlogo.svg` is an effort to remove errors and inadvertent inconsistencies +from the original vim logo while maintaining the original design. `vimlogo.svg` is based on the `vimlogo.svg` file (previously?) found at `https://www.vim.org/logos.php` diff --git a/nsis/gvim.nsi b/nsis/gvim.nsi index b8ef079dba..31f6260d95 100644 --- a/nsis/gvim.nsi +++ b/nsis/gvim.nsi @@ -225,7 +225,7 @@ Page custom SetCustom ValidateCustom # Version resources VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Vim" -VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "Vim Developers" +VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The Vim Project" VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "Vim" VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright (C) 1996" VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Vi Improved - A Text Editor" diff --git a/runtime/compiler/jq.vim b/runtime/compiler/jq.vim new file mode 100644 index 0000000000..a656223e51 --- /dev/null +++ b/runtime/compiler/jq.vim @@ -0,0 +1,25 @@ +" Vim compiler file +" Compiler: jq +" Maintainer: Vito <vito.blog@gmail.com> +" Last Change: 2024 Apr 17 +" Upstream: https://github.com/vito-c/jq.vim + +if exists('b:current_compiler') + finish +endif +let b:current_compiler = 'jq' + +let s:save_cpoptions = &cpoptions +set cpoptions&vim + +if has('unix') + CompilerSet makeprg=jq\ -f\ %:S\ /dev/null +else + CompilerSet makeprg=jq\ -f\ %:S\ nul +endif +CompilerSet errorformat=%E%m\ at\ \\<%o\\>\\,\ line\ %l:, + \%Z, + \%-G%.%# + +let &cpoptions = s:save_cpoptions +unlet s:save_cpoptions diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt index a426124a03..79f3cd7c68 100644 --- a/runtime/doc/builtin.txt +++ b/runtime/doc/builtin.txt @@ -9980,6 +9980,10 @@ synconcealed({lnum}, {col}) *synconcealed()* synconcealed(lnum, 5) [1, 'X', 2] synconcealed(lnum, 6) [0, '', 0] + Note: Doesn't consider |matchadd()| highlighting items, + since syntax and matching highlighting are two different + mechanisms |syntax-vs-match|. + synstack({lnum}, {col}) *synstack()* Return a |List|, which is the stack of syntax items at the diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt index 13c4d729b7..214571f289 100644 --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -1,4 +1,4 @@ -*cmdline.txt* For Vim version 9.1. Last change: 2023 Dec 09 +*cmdline.txt* For Vim version 9.1. Last change: 2024 Apr 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -650,6 +650,12 @@ followed by another Vim command: :[range]! a user defined command without the "-bar" argument |:command| + and the following |Vim9-script| keywords: + :abstract + :class + :enum + :interface + Note that this is confusing (inherited from Vi): With ":g" the '|' is included in the command, with ":s" it is not. diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt index bc2ba5437e..dbd4b10843 100644 --- a/runtime/doc/gui_x11.txt +++ b/runtime/doc/gui_x11.txt @@ -1,4 +1,4 @@ -*gui_x11.txt* For Vim version 9.1. Last change: 2024 Jan 30 +*gui_x11.txt* For Vim version 9.1. Last change: 2024 Apr 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -636,8 +636,8 @@ that version. For Motif, you need at least Motif version 1.2 and/or X11R5. Motif 2.0 and X11R6 are OK. Motif 1.1 and X11R4 might work, no guarantee (there may be a few problems, but you might make it compile and run with a bit of work, please -send me the patches if you do). The newest releases of LessTif have been -reported to work fine too. +send patches if you do). The newest releases of LessTif have been reported to +work fine too. *gui-x11-athena* *gui-x11-neXtaw* Support for the Athena GUI and neXtaw was removed in patch 8.2.4677. diff --git a/runtime/doc/os_dos.txt b/runtime/doc/os_dos.txt index e81ba9a5ab..1b738f43ac 100644 --- a/runtime/doc/os_dos.txt +++ b/runtime/doc/os_dos.txt @@ -1,4 +1,4 @@ -*os_dos.txt* For Vim version 9.1. Last change: 2006 Mar 30 +*os_dos.txt* For Vim version 9.1. Last change: 2024 Apr 25 VIM REFERENCE MANUAL by Bram Moolenaar @@ -330,6 +330,11 @@ following values: 'shellpipe' >%s 2>&1 'shellredir' >%s 2>&1 +Note: those options are only set after reading the |.vimrc| file, in +particular setting the 'shell' option via |-c| is too late to take effect for +the other shell related settings. Consider using |--cmd| to override this +option via the command line. + If you find that PowerShell commands are taking a long time to run then try with "-NoProfile" at the beginning of the 'shellcmdflag'. Note this will prevent any PowerShell environment setup by the profile from taking place. diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt index 2d1898de52..f16e7d2d6b 100644 --- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -1,4 +1,4 @@ -*pattern.txt* For Vim version 9.1. Last change: 2023 Oct 23 +*pattern.txt* For Vim version 9.1. Last change: 2024 Apr 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1394,6 +1394,19 @@ Finally, these constructs are unique to Perl: ============================================================================== 10. Highlighting matches *match-highlight* + *syntax-vs-match* + Note that the match highlight mechanism is independent + of |syntax-highlighting|, which is (usually) a buffer-local + highlighting, while matching is window-local, both methods + can be freely mixed. Match highlighting functions give you + a bit more flexibility in when and how to apply, but are + typically only used for temporary highlighting, without strict + rules. Both methods can be used to conceal text. + + Thus the matching functions like |matchadd()| won't consider + syntax rules and functions like |synconcealed()| and the + other way around. + *:mat* *:match* :mat[ch] {group} /{pattern}/ Define a pattern to highlight in the current window. It will diff --git a/runtime/doc/sponsor.txt b/runtime/doc/sponsor.txt index 6f4e9f353a..169816896b 100644 --- a/runtime/doc/sponsor.txt +++ b/runtime/doc/sponsor.txt @@ -1,4 +1,4 @@ -*sponsor.txt* For Vim version 9.1. Last change: 2023 Mar 24 +*sponsor.txt* For Vim version 9.1. Last change: 2024 Apr 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -60,9 +60,7 @@ Credit card Through PayPal, see the PayPal site for information: Other methods See |iccf-donations|. Include "Vim sponsor" or "Vim registration" in the comment of - your money transfer. Send me an e-mail that mentions the - amount you transferred if you want to vote for features and - show others you are a registered Vim user or sponsor. + your money transfer. QUESTIONS AND ANSWERS *sponsor-faq* *register-faq* @@ -135,10 +133,10 @@ for features. I donated $$$, now please add feature XYZ! -There is no direct relation between your donation and the work developers -does. Otherwise you would be paying for work and we would have to pay tax -over the donation. If you want to hire one of the developers for specific -work, contact them directly, don't use the donation system. +There is no direct relation between your donation and the work developers do. +Otherwise you would be paying for work and we would have to pay tax over the +donation. If you want to hire one of the developers for specific work, +contact them directly, don't use the donation system. Are the donations tax deductible? diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index 619046ec84..bfc464534e 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 9.1. Last change: 2024 Apr 21 +*syntax.txt* For Vim version 9.1. Last change: 2024 Apr 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2086,6 +2086,15 @@ To disable syntax highlighting of errors: > let g:vim_json_warnings = 0 +JQ *jq.vim* *jq_quote_highlight* *ft-jq-syntax* + +To disable numbers having their own color add the following to your vimrc: > + hi link jqNumber Normal + +If you want quotes to have different highlighting than strings > + let g:jq_quote_highlight = 1 + + LACE *lace.vim* *ft-lace-syntax* Lace (Language for Assembly of Classes in Eiffel) is case insensitive, but the @@ -2685,8 +2694,8 @@ perl_string_as_statement, it will be highlighted as in the second line. The syncing has 3 options. The first two switch off some triggering of synchronization and should only be needed in case it fails to work properly. If while scrolling all of a sudden the whole screen changes color completely -then you should try and switch off one of those. Let me know if you can -figure out the line that causes the mistake. +then you should try and switch off one of those. Let the developer know if +you can figure out the line that causes the mistake. One triggers on "^\s*sub\s*" and the other on "^[$@%]" more or less. > @@ -4314,7 +4323,9 @@ Whether or not it is actually concealed depends on the value of the 'conceallevel' option. The 'concealcursor' option is used to decide whether concealable items in the current line are displayed unconcealed to be able to edit the line. -Another way to conceal text is with |matchadd()|. + +Another way to conceal text is with |matchadd()|, but internally this works a +bit differently |syntax-vs-match|. concealends *:syn-concealends* @@ -4322,7 +4333,9 @@ When the "concealends" argument is given, the start and end matches of the region, but not the contents of the region, are marked as concealable. Whether or not they are actually concealed depends on the setting on the 'conceallevel' option. The ends of a region can only be concealed separately -in this way when they have their own highlighting via "matchgroup" +in this way when they have their own highlighting via "matchgroup". The +|synconcealed()| function can be used to retrieve information about conealed +items. cchar *:syn-cchar* *E844* @@ -6133,4 +6146,5 @@ literal text specify the size of that text (in bytes): many places. "<\@1<=span" Matches the same, but only tries one byte before "span". + vim:tw=78:sw=4:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/tags b/runtime/doc/tags index 6ad9022591..8096f5d981 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -6515,6 +6515,7 @@ command-block vim9.txt /*command-block* command-line-functions usr_41.txt /*command-line-functions* command-line-window cmdline.txt /*command-line-window* command-mode intro.txt /*command-mode* +comment-install usr_05.txt /*comment-install* compatible-default starting.txt /*compatible-default* compile-changes-5 version5.txt /*compile-changes-5* compile-changes-6 version6.txt /*compile-changes-6* @@ -7291,6 +7292,7 @@ ft-inform-syntax syntax.txt /*ft-inform-syntax* ft-java-plugin filetype.txt /*ft-java-plugin* ft-java-syntax syntax.txt /*ft-java-syntax* ft-javascript-omni insert.txt /*ft-javascript-omni* +ft-jq-syntax syntax.txt /*ft-jq-syntax* ft-json-plugin filetype.txt /*ft-json-plugin* ft-json-syntax syntax.txt /*ft-json-syntax* ft-ksh-syntax syntax.txt /*ft-ksh-syntax* @@ -8408,6 +8410,8 @@ job_start() channel.txt /*job_start()* job_status() channel.txt /*job_status()* job_stop() channel.txt /*job_stop()* join() builtin.txt /*join()* +jq.vim syntax.txt /*jq.vim* +jq_quote_highlight syntax.txt /*jq_quote_highlight* js_decode() builtin.txt /*js_decode()* js_encode() builtin.txt /*js_encode()* jsbterm-mouse options.txt /*jsbterm-mouse* @@ -10186,6 +10190,7 @@ syntax-latex syntax.txt /*syntax-latex* syntax-loading syntax.txt /*syntax-loading* syntax-printing usr_06.txt /*syntax-printing* syntax-tex syntax.txt /*syntax-tex* +syntax-vs-match pattern.txt /*syntax-vs-match* syntax.txt syntax.txt /*syntax.txt* syntax_cmd syntax.txt /*syntax_cmd* sys-file-list help.txt /*sys-file-list* diff --git a/runtime/doc/uganda.txt b/runtime/doc/uganda.txt index 6b77050453..513759f60c 100644 --- a/runtime/doc/uganda.txt +++ b/runtime/doc/uganda.txt @@ -1,4 +1,4 @@ -*uganda.txt* For Vim version 9.1. La |