From 077d1d2cff20daec6f1efd504ef27fc09b927799 Mon Sep 17 00:00:00 2001 From: Konfekt Date: Tue, 10 Sep 2024 21:06:22 +0200 Subject: [PATCH] runtime(make): add compiler/make.vim to reset compiler plugin settings closes: #15645 Co-authored-by: K.Takata Signed-off-by: Konfekt Signed-off-by: Christian Brabandt --- runtime/compiler/README.txt | 2 ++ runtime/compiler/make.vim | 13 +++++++++++++ runtime/doc/quickfix.txt | 11 ++++++++--- runtime/doc/tags | 1 + 4 files changed, 24 insertions(+), 3 deletions(-) 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 6942a584b5..ea5f01d25e 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -1,4 +1,4 @@ -*quickfix.txt* For Vim version 9.1. Last change: 2024 Sep 09 +*quickfix.txt* For Vim version 9.1. Last change: 2024 Sep 10 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1276,6 +1276,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* @@ -1291,7 +1292,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: @@ -1302,7 +1302,6 @@ g:compiler_gcc_ignore_unmatched_lines commands run from make are generating false positives. - JAVAC *compiler-javac* Commonly used compiler options can be added to 'makeprg' by setting the @@ -1310,6 +1309,12 @@ 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. MANX AZTEC C *quickfix-manx* *compiler-manx* diff --git a/runtime/doc/tags b/runtime/doc/tags index 77c02a8649..dd5a0a6894 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -6548,6 +6548,7 @@ compiler-gnat ft_ada.txt /*compiler-gnat* compiler-groff quickfix.txt /*compiler-groff* compiler-hpada ft_ada.txt /*compiler-hpada* compiler-javac quickfix.txt /*compiler-javac* +compiler-make quickfix.txt /*compiler-make* compiler-manx quickfix.txt /*compiler-manx* compiler-pandoc quickfix.txt /*compiler-pandoc* compiler-perl quickfix.txt /*compiler-perl*