mirror of
https://github.com/mfussenegger/nvim-jdtls
synced 2024-09-16 14:34:13 +02:00
503a399e0d
Alternative to https://github.com/mfussenegger/nvim-jdtls/pull/556
280 lines
9.5 KiB
Text
280 lines
9.5 KiB
Text
==============================================================================
|
|
LSP extensions for Neovim and eclipse.jdt.ls *jdtls*
|
|
|
|
*jdtls.start_or_attach*
|
|
M.start_or_attach({config}, {opts?}, {start_opts?})
|
|
Start the language server (if not started), and attach the current buffer.
|
|
|
|
|
|
Parameters: ~
|
|
{config} (table<string,any>) configuration. See |vim.lsp.start_client|
|
|
{opts?} (jdtls.start.opts)
|
|
{start_opts?} (lsp.StartOpts) options passed to vim.lsp.start
|
|
|
|
Returns: ~
|
|
(integer|nil) client_id
|
|
|
|
|
|
M.organize_imports() *jdtls.organize_imports*
|
|
Organize the imports in the current buffer
|
|
|
|
|
|
M.compile({type}) *jdtls.compile*
|
|
Compile the Java workspace
|
|
If there are compile errors they'll be shown in the quickfix list.
|
|
|
|
Parameters: ~
|
|
{type} (string|nil) |"full"
|
|
|"incremental"
|
|
|
|
|
|
M.build_projects({opts}) *jdtls.build_projects*
|
|
Trigger a rebuild of one or more projects.
|
|
|
|
|
|
Parameters: ~
|
|
{opts} (JdtBuildProjectOpts|nil) optional configuration options
|
|
|
|
|
|
JdtBuildProjectOpts *JdtBuildProjectOpts*
|
|
|
|
Fields: ~
|
|
{select_mode?} (JdtProjectSelectMode) Show prompt to select projects or select all. Defaults to "prompt"
|
|
{full_build?} (boolean) full rebuild or incremental build. Defaults to true (full build)
|
|
|
|
|
|
M.update_project_config() *jdtls.update_project_config*
|
|
Update the project configuration (from Gradle or Maven).
|
|
In a multi-module project this will only update the configuration of the
|
|
module of the current buffer.
|
|
|
|
|
|
M.update_projects_config({opts}) *jdtls.update_projects_config*
|
|
Process changes made to the Gradle or Maven configuration of one or more projects.
|
|
Requires eclipse.jdt.ls >= 1.13.0
|
|
|
|
|
|
Parameters: ~
|
|
{opts} (JdtUpdateProjectsOpts|nil) configuration options
|
|
|
|
|
|
JdtUpdateProjectsOpts *JdtUpdateProjectsOpts*
|
|
|
|
Fields: ~
|
|
{select_mode?} (JdtProjectSelectMode) show prompt to select projects or select all. Defaults to "prompt"
|
|
|
|
|
|
JdtProjectSelectMode *JdtProjectSelectMode*
|
|
|
|
Type: ~
|
|
string
|
|
|
|
|
|
jdtls.extract.opts *jdtls.extract.opts*
|
|
|"all"
|
|
|"prompt"
|
|
|
|
Type: ~
|
|
{visual?:boolean,name?:string|fun():string}
|
|
|
|
|
|
M.extract_constant({opts?}) *jdtls.extract_constant*
|
|
Extract a constant from the expression under the cursor
|
|
|
|
Parameters: ~
|
|
{opts?} (jdtls.extract.opts)
|
|
|
|
|
|
M.extract_variable({opts?}) *jdtls.extract_variable*
|
|
Extract a variable from the expression under the cursor
|
|
|
|
Parameters: ~
|
|
{opts?} (jdtls.extract.opts)
|
|
|
|
|
|
M.extract_variable_all({opts?}) *jdtls.extract_variable_all*
|
|
Extract a local variable from the expression under the cursor and replace all occurrences
|
|
|
|
Parameters: ~
|
|
{opts?} (jdtls.extract.opts)
|
|
|
|
|
|
M.extract_method({opts?}) *jdtls.extract_method*
|
|
Extract a method
|
|
|
|
Parameters: ~
|
|
{opts?} (jdtls.extract.opts)
|
|
|
|
|
|
M.super_implementation() *jdtls.super_implementation*
|
|
Jump to the super implementation of the method under the cursor
|
|
|
|
|
|
M.javap() *jdtls.javap*
|
|
Run the `javap` tool in a terminal buffer.
|
|
Sets the classpath based on the current project.
|
|
|
|
|
|
M.jshell() *jdtls.jshell*
|
|
Run the `jshell` tool in a terminal buffer.
|
|
Sets the classpath based on the current project.
|
|
|
|
|
|
M.jol({mode?}, {classname?}) *jdtls.jol*
|
|
Run the `jol` tool in a terminal buffer to print the class layout
|
|
You must configure `jol_path` to point to the `jol` jar file:
|
|
|
|
```
|
|
require('jdtls').jol_path = '/absolute/path/to/jol.jar`
|
|
```
|
|
|
|
https://github.com/openjdk/jol
|
|
|
|
Must be called from a regular java source file.
|
|
|
|
Examples:
|
|
```
|
|
lua require('jdtls').jol()
|
|
```
|
|
|
|
```
|
|
lua require('jdtls').jol(nil, "java.util.ImmutableCollections$List12")
|
|
```
|
|
|
|
Parameters: ~
|
|
{mode?} (string) |"estimates"
|
|
|"footprint"
|
|
|"externals"
|
|
|"internals"
|
|
{classname?} (string) fully qualified class name. Defaults to the current class.
|
|
|
|
|
|
M.open_classfile({fname}) *jdtls.open_classfile*
|
|
Open `jdt://` uri or decompile class contents and load them into the buffer
|
|
|
|
nvim-jdtls by defaults configures a `BufReadCmd` event which uses this function.
|
|
You shouldn't need to call this manually.
|
|
|
|
|
|
Parameters: ~
|
|
{fname} (string)
|
|
|
|
|
|
M.set_runtime({runtime}) *jdtls.set_runtime*
|
|
Change the Java runtime.
|
|
This requires a `settings.java.configuration.runtimes` configuration.
|
|
|
|
|
|
Parameters: ~
|
|
{runtime} (nil|string) Java runtime. Prompts for runtime if nil
|
|
|
|
|
|
==============================================================================
|
|
nvim-dap support for jdtls *jdtls.dap*
|
|
|
|
M.test_class() *jdtls.dap.test_class*
|
|
Debug the test class in the current buffer
|
|
@param opts JdtTestOpts|nil
|
|
|
|
|
|
M.test_nearest_method() *jdtls.dap.test_nearest_method*
|
|
Debug the nearest test method in the current buffer
|
|
@param opts nil|JdtTestOpts
|
|
|
|
|
|
M.pick_test({opts}) *jdtls.dap.pick_test*
|
|
Prompt for a test method from the current buffer to run
|
|
|
|
Parameters: ~
|
|
{opts} (nil|JdtTestOpts)
|
|
|
|
|
|
M.fetch_main_configs({opts}, {callback}) *jdtls.dap.fetch_main_configs*
|
|
Discover executable main functions in the project
|
|
|
|
Parameters: ~
|
|
{opts} (nil|JdtMainConfigOpts) See |JdtMainConfigOpts|
|
|
{callback} (fun(configurations:table[]))
|
|
|
|
|
|
JdtMainConfigOpts *JdtMainConfigOpts*
|
|
|
|
Fields: ~
|
|
{config_overrides} (nil|JdtDapConfig) Overrides for the |dap-configuration|, see |JdtDapConfig|
|
|
|
|
|
|
M.setup_dap_main_class_configs({opts}) *jdtls.dap.setup_dap_main_class_configs*
|
|
Discover main classes in the project and setup |dap-configuration| entries for Java for them.
|
|
|
|
Parameters: ~
|
|
{opts} (nil|JdtSetupMainConfigOpts) See |JdtSetupMainConfigOpts|
|
|
|
|
|
|
*JdtSetupMainConfigOpts*
|
|
JdtSetupMainConfigOpts : JdtMainConfigOpts
|
|
|
|
Fields: ~
|
|
{verbose} (nil|boolean) Print notifications on start and once finished. Default is false.
|
|
{on_ready} (nil|function) Callback called when the configurations got updated
|
|
|
|
|
|
M.setup_dap({opts}) *jdtls.dap.setup_dap*
|
|
Register a |dap-adapter| for java. Requires nvim-dap
|
|
|
|
Parameters: ~
|
|
{opts} (nil|JdtSetupDapOpts) See |JdtSetupDapOpts|
|
|
|
|
|
|
JdtSetupDapOpts *JdtSetupDapOpts*
|
|
|
|
Fields: ~
|
|
{config_overrides} (JdtDapConfig) These will be used as default overrides for |jdtls.dap.test_class|, |jdtls.dap.test_nearest_method| and discovered main classes
|
|
{hotcodereplace?} (string) "auto"
|
|
|
|
|
|
JdtDapContext *JdtDapContext*
|
|
|
|
Fields: ~
|
|
{bufnr} (number)
|
|
{win} (number)
|
|
{uri} (string) uri equal to vim.uri_from_bufnr(bufnr)
|
|
|
|
|
|
JdtDapConfig *JdtDapConfig*
|
|
|
|
Fields: ~
|
|
{cwd} (string|nil) working directory for the test
|
|
{vmArgs} (string|nil) vmArgs for the test
|
|
{noDebug} (boolean|nil) If the test should run in debug mode
|
|
|
|
|
|
JdtTestOpts *JdtTestOpts*
|
|
|
|
Fields: ~
|
|
{config} (nil|table) Skeleton used for the |dap-configuration|
|
|
{config_overrides} (nil|JdtDapConfig) Overrides for the |dap-configuration|, see |JdtDapConfig|
|
|
{until_error} (number|nil) Number of times the test should be repeated if it doesn't fail
|
|
{after_test} (nil|function) Callback triggered after test run
|
|
{bufnr?} (number) Buffer that contains the test
|
|
{lnum?} (number) 1-indexed line number. Used to find nearest test. Defaults to cursor position of the current window.
|
|
|
|
|
|
==============================================================================
|
|
Functions which require vscode-java-test *jdtls.tests*
|
|
|
|
M.generate() *jdtls.tests.generate*
|
|
Generate tests for the current class
|
|
@param opts? {bufnr: integer}
|
|
|
|
|
|
M.goto_subjects() *jdtls.tests.goto_subjects*
|
|
Go to the related subjects
|
|
If in a test file, this will jump to classes the test might cover
|
|
If in a non-test file, this will jump to related tests.
|
|
|
|
If no candidates are found, this calls `generate()`
|
|
|
|
@param opts? {goto_tests: boolean}
|
|
|
|
|
|
vim:tw=78:ts=8:noet:ft=help:norl:
|