X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/0ee596c5c5e11fc79598407eaf22f83d279f7e9e..5a4872f466ebd76ddd532bdf2798554421c53df4:/.vim/bundle/ale/doc/ale-java.txt diff --git a/.vim/bundle/ale/doc/ale-java.txt b/.vim/bundle/ale/doc/ale-java.txt new file mode 100644 index 00000000..4065c291 --- /dev/null +++ b/.vim/bundle/ale/doc/ale-java.txt @@ -0,0 +1,339 @@ +=============================================================================== +ALE Java Integration *ale-java-options* + + +=============================================================================== +checkstyle *ale-java-checkstyle* + + *ale-options.java_checkstyle_config* + *g:ale_java_checkstyle_config* + *b:ale_java_checkstyle_config* +java_checkstyle_config +g:ale_java_checkstyle_config + Type: |String| + Default: `'/google_checks.xml'` + + A path to a checkstyle configuration file. + + If a configuration file is specified with |g:ale_java_checkstyle_options|, + it will be preferred over this setting. + + The path to the configuration file can be an absolute path or a relative + path. ALE will search for the relative path in parent directories. + + *ale-options.java_checkstyle_executable* + *g:ale_java_checkstyle_executable* + *b:ale_java_checkstyle_executable* +java_checkstyle_executable +g:ale_java_checkstyle_executable + Type: |String| + Default: `'checkstyle'` + + This variable can be changed to modify the executable used for checkstyle. + + *ale-options.java_checkstyle_options* + *g:ale_java_checkstyle_options* + *b:ale_java_checkstyle_options* +java_checkstyle_options +g:ale_java_checkstyle_options + Type: |String| + Default: `''` + + This variable can be changed to modify flags given to checkstyle. + + If a configuration file is specified with `-c`, it will be used instead of + configuration files set with |g:ale_java_checkstyle_config|. + + +=============================================================================== +clang-format *ale-java-clangformat* + +See |ale-c-clangformat| for information about the available options. +Note that the C options are also used for Java. + + +=============================================================================== +cspell *ale-java-cspell* + +See |ale-cspell-options| + + +=============================================================================== +javac *ale-java-javac* + + *ale-options.java_javac_classpath* + *g:ale_java_javac_classpath* + *b:ale_java_javac_classpath* +java_javac_classpath +g:ale_java_javac_classpath + Type: |String| or |List| + Default: `''` + + This variable can be set to change the global classpath for Java. + + *ale-options.java_javac_executable* + *g:ale_java_javac_executable* + *b:ale_java_javac_executable* +java_javac_executable +g:ale_java_javac_executable + Type: |String| + Default: `'javac'` + + This variable can be set to change the executable path used for javac. + + *ale-options.java_javac_options* + *g:ale_java_javac_options* + *b:ale_java_javac_options* +java_javac_options +g:ale_java_javac_options + Type: |String| + Default: `''` + + This variable can be set to pass additional options to javac. + + *ale-options.java_javac_sourcepath* + *g:ale_java_javac_sourcepath* + *b:ale_java_javac_sourcepath* +java_javac_sourcepath +g:ale_java_javac_sourcepath + Type: |String| or |List| + Default: `''` + + This variable can set multiple source code paths, the source code path is a + relative path (relative to the project root directory). + + The source path can be set as a String with a system-dependent path + separator. Note that the Unix path separator is a colon (`:`), and on + Windows the path separator is a semicolon (`;`). > + + let g:ale_java_javac_sourcepath = 'build/gen/source/xx/main:build/gen/source' +< + The source path can be set as a List so ALE will add the appropriate path + separator for the host system automatically. > + + let g:ale_java_javac_sourcepath = [ + \ 'build/generated/source/querydsl/main', + \ 'target/generated-sources/source/querydsl/main', + \] +< + +=============================================================================== +google-java-format *ale-java-google-java-format* + + *ale-options.java_google_java_format_executable* + *g:ale_java_google_java_format_executable* + *b:ale_java_google_java_format_executable* +java_google_java_format_executable +g:ale_java_google_java_format_executable + Type: |String| + Default: `'google-java-format'` + + See |ale-integrations-local-executables| + + *ale-options.java_google_java_format_options* + *g:ale_java_google_java_format_options* + *b:ale_java_google_java_format_options* +java_google_java_format_options +g:ale_java_google_java_format_options + Type: |String| + Default: `''` + + This variable can be set to pass additional options + + +=============================================================================== +pmd *ale-java-pmd* + + *ale-options.java_pmd_options* + *g:ale_java_pmd_options* + *b:ale_java_pmd_options* +java_pmd_options +g:ale_java_pmd_options + Type: |String| + Default: `'-R category/java/bestpractices'` + + This variable can be changed to modify flags given to PMD. Do not specify -f + and -d. They are added automatically. + + +=============================================================================== +javalsp *ale-java-javalsp* + +To enable Java LSP linter you need to download and build the vscode-javac +language server from https://github.com/georgewfraser/java-language-server. + +Before building the language server you need to install pre-requisites: npm, +maven, and protobuf. You also need to have Java 13 and JAVA_HOME properly +set. + +After downloading the source code and installing all pre-requisites you can +build the language server with the included build.sh script: + + `scripts/build.sh` + +This will create launch scripts for Linux, Mac, and Windows in the dist folder +within the repo: + + - `lang_server_linux.sh` + - `lang_server_mac.sh` + - `lang_server_windows.sh` + +To let ALE use this language server you need to set the executable, as +documented below. + + *ale-options.java_javalsp_executable* + *g:ale_java_javalsp_executable* + *b:ale_java_javalsp_executable* +java_javalsp_executable +g:ale_java_javalsp_executable + Type: |String| + Default: `''` + + This variable must be set to the absolute path of the language server + launcher executable. For example: > + + let g:ale_java_javalsp_executable = '/java-language-server/dist/lang_server_linux.sh' +< + *ale-options.java_javalsp_config* + *g:ale_java_javalsp_config* + *b:ale_java_javalsp_config* +java_javalsp_config +g:ale_java_javalsp_config + Type: |Dictionary| + Default: `{}` + + The javalsp linter automatically detects external dependencies for Maven and + Gradle projects. In case the javalsp fails to detect some of them, you can + specify them configuring settings for the language server, such as in your + ftplugin file. > + + let b:ale_java_javalsp_config = { + \ 'java': { + \ 'externalDependencies': [ + \ 'junit:junit:jar:4.12:test', + \ 'junit:junit:4.1' + \ ], + \ 'classPath': [ + \ 'lib/some-dependency.jar', + \ '/android-sdk/platforms/android-28.jar', + \ ], + \ }, + \} +< + Or in Lua: > + + require("ale").setup.buffer({ + java_lsp_config = { + java = { + externalDependencies = { + "junit:junit:jar:4.12:test", + "junit:junit:4.1" + }, + classPath = { + "lib/some-dependency.jar", + "/android-sdk/platforms/android-28.jar", + }, + }, + } + }) +< + The Java language server will look for the dependencies you specify in + `externalDependencies` array in your Maven and Gradle caches ~/.m2 and + ~/.gradle. + + +=============================================================================== +eclipselsp *ale-java-eclipselsp* + +To enable Eclipse JDT LSP linter you need to clone and build the eclipse.jdt.ls +language server from https://github.com/eclipse/eclipse.jdt.ls. Simply +clone the source code repo and then build the plugin: + + `./mvnw clean verify` + +Note: currently, the build can only run when launched with JDK 11. More +recent versions can be used to run the server though. + +After build completes the files required to run the language server will be +located inside the repository folder `eclipse.jdt.ls`. Please ensure to set +|g:ale_java_eclipselsp_path| to the absolute path of that folder. + +You could customize compiler options and code assists of the server. +Under your project folder, modify the file `.settings/org.eclipse.jdt.core.prefs` +with options presented at +https://help.eclipse.org/neon/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/JavaCore.html. + + *ale-options.java_eclipselsp_path* + *g:ale_java_eclipselsp_path* + *b:ale_java_eclipselsp_path* +java_eclipselsp_path +g:ale_java_eclipselsp_path + Type: |String| + Default: `'$HOME/eclipse.jdt.ls'` + + Absolute path to the location of the eclipse.jdt.ls repository folder. Or if + you have VSCode extension installed the absolute path to the VSCode + extensions folder (e.g. $HOME/.vscode/extensions/redhat.java-0.4x.0 in + Linux). + + *ale-options.java_eclipselsp_executable* + *g:ale_java_eclipselsp_executable* + *b:ale_java_eclipse_executable* +java_eclipselsp_executable +g:ale_java_eclipselsp_executable + Type: |String| + Default: `'java'` + + This variable can be set to change the executable path used for java. + + *ale-options.java_eclipselsp_config_path* + *g:ale_java_eclipselsp_config_path* + *b:ale_java_eclipse_config_path* +java_eclipselsp_config_path +g:ale_java_eclipselsp_config_path + Type: |String| + Default: `''` + + Set this variable to change the configuration directory path used by + eclipselsp (e.g. `$HOME/.jdtls` in Linux). By default ALE will attempt to + use the configuration within the installation directory. + + This setting is particularly useful when eclipselsp is installed in a + non-writable directory like `/usr/share/java/jdtls`, as is the case when + installed via system package. + + *ale-options.java_eclipselsp_workspace_path* + *g:ale_java_eclipselsp_workspace_path* + *b:ale_java_eclipselsp_workspace_path* +java_eclipselsp_workspace_path +g:ale_java_eclipselsp_workspace_path + Type: |String| + Default: `''` + + If you have Eclipse installed it is a good idea to set this variable to the + absolute path of the Eclipse workspace. If not set this value will be set to + the parent folder of the project root. + + *ale-options.java_eclipselsp_javaagent* + *g:ale_java_eclipselsp_javaagent* + *b:ale_java_eclipselsp_javaagent* +java_eclipselsp_javaagent +g:ale_java_eclipselsp_javaagent + Type: |String| + Default: `''` + + A variable to add java agent for annotation processing such as Lombok. + If you have multiple java agent files, use space to separate them. + For example: > + + let g:ale_java_eclipselsp_javaagent='/eclipse/lombok.jar /eclipse/jacoco.jar' +< + +=============================================================================== +uncrustify *ale-java-uncrustify* + +See |ale-c-uncrustify| for information about the available options. + + +=============================================================================== + vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: