Skip to content

Commit

Permalink
Merge pull request #1851 from h-east/update-quickfix
Browse files Browse the repository at this point in the history
Update quickfix.{txt,jax}
  • Loading branch information
h-east authored Dec 2, 2024
2 parents a15d9a6 + 7cd9bd5 commit ebe43f7
Show file tree
Hide file tree
Showing 2 changed files with 220 additions and 7 deletions.
114 changes: 110 additions & 4 deletions doc/quickfix.jax
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*quickfix.txt* For Vim バージョン 9.1. Last change: 2024 Nov 12
*quickfix.txt* For Vim バージョン 9.1. Last change: 2024 Nov 28


VIMリファレンスマニュアル by Bram Moolenaar
Expand Down Expand Up @@ -1282,11 +1282,117 @@ g:compiler_gcc_ignore_unmatched_lines

JAVAC *compiler-javac*

よく使用されるコンパイラオプションは、g:javac_makeprg_params 変数を設定するこ
とで 'makeprg' に追加できる。例: >
よく使用されるコンパイラオプションは、b/g:javac_makeprg_params 変数を設定する
ことで 'makeprg' に追加できる。例: >
let g:javac_makeprg_params = "-Xlint:all -encoding utf-8"
<
MAVEN *compiler-maven*

よく使用されるコンパイラオプションは、b/g:maven_makeprg_params 変数を設定する
ことで 'makeprg' に追加できる。例: >
let g:maven_makeprg_params = "-DskipTests -U -X"
SPOTBUGS *compiler-spotbugs*

SpotBugs は、Java のバグを見つけるために使用できる静的解析ツールである。現在開
いているバッファ内のすべてのクラスの Java バイトコードをスキャンする。(したがっ
て、`:compiler! spotbugs` はサポートされていない。)

よく使用されるコンパイラオプションは、"b:" または "g:spotbugs_makeprg_params"
変数を設定することで 'makeprg' に追加できる。例: >
let b:spotbugs_makeprg_params = "-longBugCodes -effort:max -low"
グローバルのデフォルトは "-workHard -experimental" である。

デフォルトでは、クラスファイルはソースファイルが配置されているディレクトリで検
索される。ただし、一般的な Java プロジェクトでは、ソースファイルとクラスファイ
ルに別々のディレクトリを使用する。両方を SpotBugs に認識させるには、それらのパ
ス (共通のルートディレクトリに対して異なる相対パス) を次のプロパティに割り当て
る (一般的な Maven プロジェクトの例を使用): >
let g:spotbugs_properties = {
\ 'sourceDirPath': 'src/main/java',
\ 'classDirPath': 'target/classes',
\ 'testSourceDirPath': 'src/test/java',
\ 'testClassDirPath': 'target/test-classes',
\ }
Note パスのキー値は、SpotBugs がファイルを検索する場所のみを記述することに注
意。詳細については、特定のコンパイラプラグインのドキュメントを参照。

Ant、Maven、および Javac コンパイラプラグインには、デフォルトのプリコンパイラ
アクションとポストコンパイラアクションが用意されており、コンパイラプラグインの
名前を "compiler" キーに割り当てることで選択できる: >
let g:spotbugs_properties = {
\ 'compiler': 'maven',
\ }
この単一の設定は、基本的に以下のすべての設定と同等だが、"PreCompilerAction" お
よび "PreCompilerTestAction" の値は例外である。リストされている |Funcref|
no-op 実装を取得するが、"compiler" キーの暗黙的な Funcref は、使用可能な場合は
要求されたデフォルトを取得する。 >
let g:spotbugs_properties = {
\ 'PreCompilerAction':
\ function('spotbugs#DefaultPreCompilerAction'),
\ 'PreCompilerTestAction':
\ function('spotbugs#DefaultPreCompilerTestAction'),
\ 'PostCompilerAction':
\ function('spotbugs#DefaultPostCompilerAction'),
\ 'sourceDirPath': 'src/main/java',
\ 'classDirPath': 'target/classes',
\ 'testSourceDirPath': 'src/test/java',
\ 'testClassDirPath': 'target/test-classes',
\ }
デフォルトのアクションでは、選択されたコンパイラは Java 構文ファイルがロードさ
れるとすぐにバッファのクラスファイル (おそらくプロジェクト全体) を再構築しよう
とする。次に、`spotbugs` はバッファのコンパイルユニットの品質を分析しようとす
る。

デフォルトのアクションが目的のワークフローに適していない場合は、任意の関数を自
分で作成し、その |Funcref| をサポートされているキー "PreCompilerAction"、
"PreCompilerTestAction"、および "PostCompilerAction" と一致させることを検討す
ること。

次の例では、Maven プロジェクトのデフォルトのプリコンパイラアクションを再実装
し、"compiler" エントリを使用して他のデフォルトの Maven 設定を要求する: >
function! MavenPreCompilerAction() abort
call spotbugs#DeleteClassFiles()
compiler maven
make compile
endfunction
function! MavenPreCompilerTestAction() abort
call spotbugs#DeleteClassFiles()
compiler maven
make test-compile
endfunction
let g:spotbugs_properties = {
\ 'compiler': 'maven',
\ 'PreCompilerAction':
\ function('MavenPreCompilerAction'),
\ 'PreCompilerTestAction':
\ function('MavenPreCompilerTestAction'),
\ }
Note 入力されたすべてのカスタム設定は、"g:spotbugs_properties" 内の一致するデ
フォルト設定よりも優先されることに注意。

"g:spotbugs_properties" 変数は、Java ファイルタイププラグイン
(|ft-java-plugin|) によって参照され、説明されている自動化を調整する。したがっ
て、Java ソースファイルがロードされたバッファに対して |FileType| イベントが発
生する前に定義する必要がある。例えば、[0] によってロードされるプロジェクトロー
カルの |vimrc| で設定できる。

[0] https://github.com/MarcWeber/vim-addon-local-vimrc/

GNU MAKE *compiler-make*

デフォルトの make プログラムは "make" であるため、make のコンパイラプラグイ
Expand Down
113 changes: 110 additions & 3 deletions en/quickfix.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 9.1. Last change: 2024 Nov 12
*quickfix.txt* For Vim version 9.1. Last change: 2024 Nov 28


VIM REFERENCE MANUAL by Bram Moolenaar
Expand Down Expand Up @@ -1331,10 +1331,117 @@ g:compiler_gcc_ignore_unmatched_lines
JAVAC *compiler-javac*

Commonly used compiler options can be added to 'makeprg' by setting the
g:javac_makeprg_params variable. For example: >
b/g:javac_makeprg_params variable. For example: >
let g:javac_makeprg_params = "-Xlint:all -encoding utf-8"
<
MAVEN *compiler-maven*

Commonly used compiler options can be added to 'makeprg' by setting the
b/g:maven_makeprg_params variable. For example: >
let g:maven_makeprg_params = "-DskipTests -U -X"
SPOTBUGS *compiler-spotbugs*

SpotBugs is a static analysis tool that can be used to find bugs in Java.
It scans the Java bytecode of all classes in the currently open buffer.
(Therefore, `:compiler! spotbugs` is not supported.)

Commonly used compiler options can be added to 'makeprg' by setting the
"b:" or "g:spotbugs_makeprg_params" variable. For example: >
let b:spotbugs_makeprg_params = "-longBugCodes -effort:max -low"
The global default is "-workHard -experimental".

By default, the class files are searched in the directory where the source
files are placed. However, typical Java projects use distinct directories
for source files and class files. To make both known to SpotBugs, assign
their paths (distinct and relative to their common root directory) to the
following properties (using the example of a common Maven project): >
let g:spotbugs_properties = {
\ 'sourceDirPath': 'src/main/java',
\ 'classDirPath': 'target/classes',
\ 'testSourceDirPath': 'src/test/java',
\ 'testClassDirPath': 'target/test-classes',
\ }
Note that values for the path keys describe only for SpotBugs where to look
for files; refer to the documentation for particular compiler plugins for more
information.

The default pre- and post-compiler actions are provided for Ant, Maven, and
Javac compiler plugins and can be selected by assigning the name of a compiler
plugin to the "compiler" key: >
let g:spotbugs_properties = {
\ 'compiler': 'maven',
\ }
This single setting is essentially equivalent to all the settings below, with
the exception made for the "PreCompilerAction" and "PreCompilerTestAction"
values: their listed |Funcref|s will obtain no-op implementations whereas the
implicit Funcrefs of the "compiler" key will obtain the requested defaults if
available. >
let g:spotbugs_properties = {
\ 'PreCompilerAction':
\ function('spotbugs#DefaultPreCompilerAction'),
\ 'PreCompilerTestAction':
\ function('spotbugs#DefaultPreCompilerTestAction'),
\ 'PostCompilerAction':
\ function('spotbugs#DefaultPostCompilerAction'),
\ 'sourceDirPath': 'src/main/java',
\ 'classDirPath': 'target/classes',
\ 'testSourceDirPath': 'src/test/java',
\ 'testClassDirPath': 'target/test-classes',
\ }
With default actions, the compiler of choice will attempt to rebuild the class
files for the buffer (and possibly for the whole project) as soon as a Java
syntax file is loaded; then, `spotbugs` will attempt to analyze the quality of
the compilation unit of the buffer.

When default actions are not suited to a desired workflow, consider writing
arbitrary functions yourself and matching their |Funcref|s to the supported
keys: "PreCompilerAction", "PreCompilerTestAction", and "PostCompilerAction".

The next example re-implements the default pre-compiler actions for a Maven
project and requests other default Maven settings with the "compiler" entry: >
function! MavenPreCompilerAction() abort
call spotbugs#DeleteClassFiles()
compiler maven
make compile
endfunction
function! MavenPreCompilerTestAction() abort
call spotbugs#DeleteClassFiles()
compiler maven
make test-compile
endfunction
let g:spotbugs_properties = {
\ 'compiler': 'maven',
\ 'PreCompilerAction':
\ function('MavenPreCompilerAction'),
\ 'PreCompilerTestAction':
\ function('MavenPreCompilerTestAction'),
\ }
Note that all entered custom settings will take precedence over the matching
default settings in "g:spotbugs_properties".

The "g:spotbugs_properties" variable is consulted by the Java filetype plugin
(|ft-java-plugin|) to arrange for the described automation, and, therefore, it
must be defined before |FileType| events can take place for the buffers loaded
with Java source files. It could, for example, be set in a project-local
|vimrc| loaded by [0].

[0] https://github.com/MarcWeber/vim-addon-local-vimrc/

GNU MAKE *compiler-make*

Since the default make program is "make", the compiler plugin for make,
Expand Down

0 comments on commit ebe43f7

Please sign in to comment.