From 608ef83fc67ddefa3997441ac56caec0d4ae28bf Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Wed, 11 Sep 2024 09:23:56 +0200 Subject: [PATCH] vim-patch:077d1d2: runtime(make): add compiler/make.vim to reset compiler plugin settings closes: vim/vim#15645 https://github.com/vim/vim/commit/077d1d2cff20daec6f1efd504ef27fc09b927799 Co-authored-by: Konfekt Co-authored-by: K.Takata --- runtime/compiler/README.txt | 2 ++ runtime/compiler/make.vim | 13 +++++++++++++ runtime/doc/quickfix.txt | 9 ++++++++- 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 runtime/compiler/make.vim diff --git a/runtime/compiler/README.txt b/runtime/compiler/README.txt index dccf4a9762..327d0a7fde 100644 --- a/runtime/compiler/README.txt +++ b/runtime/compiler/README.txt @@ -4,6 +4,8 @@ They are used with the ":compiler" command. These scripts usually set options, for example 'errorformat'. See ":help write-compiler-plugin". +To undo the effect of a compiler plugin, use the make compiler plugin. + If you want to write your own compiler plugin, have a look at the other files for how to do it, the format is simple. diff --git a/runtime/compiler/make.vim b/runtime/compiler/make.vim new file mode 100644 index 0000000000..748251bf8e --- /dev/null +++ b/runtime/compiler/make.vim @@ -0,0 +1,13 @@ +" Vim compiler plugin +" +" Maintainer: The Vim Project +" Last Change: 2024 Sep 10 +" Original Author: Konfekt +" +" This compiler plugin is used to reset previously set compiler options. + +if exists("g:current_compiler") | unlet g:current_compiler | endif +if exists("b:current_compiler") | unlet b:current_compiler | endif + +CompilerSet makeprg& +CompilerSet errorformat& diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt index 992b9b8871..e364e7cba6 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -1262,6 +1262,7 @@ not "b:current_compiler". What the command actually does is the following: For writing a compiler plugin, see |write-compiler-plugin|. +Use the |compiler-make| plugin to undo the effect of a compiler plugin. DOTNET *compiler-dotnet* @@ -1277,7 +1278,6 @@ Example: limit output to only display errors, and suppress the project name: > let dotnet_show_project_file = v:false compiler dotnet < - GCC *quickfix-gcc* *compiler-gcc* There's one variable you can set for the GCC compiler: @@ -1294,6 +1294,13 @@ Commonly used compiler options can be added to 'makeprg' by setting the g:javac_makeprg_params variable. For example: > let g:javac_makeprg_params = "-Xlint:all -encoding utf-8" < +GNU MAKE *compiler-make* + +Since the default make program is "make", the compiler plugin for make, +:compiler make, will reset the 'makeprg' and 'errorformat' option to +the default values and unlet any variables that may have been set by a +previous compiler plugin. + GROFF *quickfix-groff* *compiler-groff* The GROFF compiler plugin uses the mom macro set (documented in the groff_mom