-
-
Notifications
You must be signed in to change notification settings - Fork 83
Expand file tree
/
Copy pathjava.lua
More file actions
118 lines (93 loc) · 4.03 KB
/
java.lua
File metadata and controls
118 lines (93 loc) · 4.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
require('java.commands')
local decomple_watch = require('java.startup.decompile-watcher')
local mason_dep = require('java.startup.mason-dep')
local setup_wrap = require('java.startup.lspconfig-setup-wrap')
local startup_check = require('java.startup.startup-check')
local test = require('java.api.test')
local dap = require('java.api.dap')
local runner = require('java.api.runner')
local profile_ui = require('java.ui.profile')
local refactor = require('java.api.refactor')
local build_api = require('java.api.build')
local settings_api = require('java.api.settings')
local global_config = require('java.config')
local M = {}
function M.setup(custom_config)
vim.api.nvim_exec_autocmds('User', { pattern = 'JavaPreSetup' })
local config =
vim.tbl_deep_extend('force', global_config, custom_config or {})
vim.g.nvim_java_config = config
vim.api.nvim_exec_autocmds(
'User',
{ pattern = 'JavaSetup', data = { config = config } }
)
if not startup_check() then
return
end
local is_installing = mason_dep.install(config)
if not is_installing then
setup_wrap.setup(config)
decomple_watch.setup()
dap.setup_dap_on_lsp_attach()
end
vim.api.nvim_exec_autocmds(
'User',
{ pattern = 'JavaPostSetup', data = { config = config } }
)
end
----------------------------------------------------------------------
-- Experimental APIs --
----------------------------------------------------------------------
M.build = {}
M.build.build_workspace = build_api.full_build_workspace
----------------------------------------------------------------------
-- DAP APIs --
----------------------------------------------------------------------
M.dap = {}
M.dap.config_dap = dap.config_dap
----------------------------------------------------------------------
-- Test APIs --
----------------------------------------------------------------------
M.test = {}
M.test.run_current_class = test.run_current_class
M.test.debug_current_class = test.debug_current_class
M.test.run_current_method = test.run_current_method
M.test.debug_current_method = test.debug_current_method
M.test.view_last_report = test.view_last_report
----------------------------------------------------------------------
-- Manipulate --
----------------------------------------------------------------------
M.manipulate = {}
-- M.manipulate.organize_imports = {}
----------------------------------------------------------------------
-- Refactor --
----------------------------------------------------------------------
M.refactor = {}
M.refactor.extract_variable = refactor.extract_variable
M.refactor.extract_constant = refactor.extract_constant
M.refactor.extract_method = refactor.extract_method
M.refactor.extract_variable_all_occurrence =
refactor.extract_variable_all_occurrence
----------------------------------------------------------------------
-- Runner APIs --
----------------------------------------------------------------------
M.runner = {}
M.runner.built_in = {}
M.runner.built_in.run_app = runner.built_in.run_app
M.runner.built_in.toggle_logs = runner.built_in.toggle_logs
M.runner.built_in.stop_app = runner.built_in.stop_app
M.runner.built_in.switch_app = runner.built_in.switch_app
----------------------------------------------------------------------
-- Profile UI --
----------------------------------------------------------------------
M.profile = {}
M.profile.ui = profile_ui.ui
----------------------------------------------------------------------
-- Settings --
----------------------------------------------------------------------
M.settings = {}
M.settings.change_runtime = settings_api.change_runtime
function M.__run()
test.debug_current_method()
end
return M