11local log = require (' java.utils.log' )
2+ local notify = require (' java-core.utils.notify' )
23
34local M = {}
45
@@ -23,174 +24,94 @@ id = vim.api.nvim_create_autocmd('LspAttach', {
2324})
2425
2526M .commands = {
26-
27- OPEN_BROWSER = ' vscode.open' ,
28-
29- OPEN_OUTPUT = ' java.open.output' ,
30-
31- SHOW_JAVA_REFERENCES = ' java.show.references' ,
32-
33- SHOW_JAVA_IMPLEMENTATIONS = ' java.show.implementations' ,
34-
35- SHOW_REFERENCES = ' editor.action.showReferences' ,
36-
37- GOTO_LOCATION = ' editor.action.goToLocations' ,
38-
39- MARKDOWN_API_RENDER = ' markdown.api.render' ,
40-
41- CONFIGURATION_UPDATE = ' java.projectConfiguration.update' ,
42-
43- IGNORE_INCOMPLETE_CLASSPATH = ' java.ignoreIncompleteClasspath' ,
44-
45- IGNORE_INCOMPLETE_CLASSPATH_HELP = ' java.ignoreIncompleteClasspath.help' ,
46-
47- RELOAD_WINDOW = ' workbench.action.reloadWindow' ,
48-
49- PROJECT_CONFIGURATION_STATUS = ' java.projectConfiguration.status' ,
50-
51- NULL_ANALYSIS_SET_MODE = ' java.compile.nullAnalysis.setMode' ,
52-
27+ ADD_TO_SOURCEPATH = ' java.project.addToSourcePath' ,
28+ ADD_TO_SOURCEPATH_CMD = ' java.project.addToSourcePath.command' ,
29+ APPLY_REFACTORING_COMMAND = ' java.action.applyRefactoringCommand' ,
5330 APPLY_WORKSPACE_EDIT = ' java.apply.workspaceEdit' ,
54-
55- EXECUTE_WORKSPACE_COMMAND = ' java.execute.workspaceCommand' ,
56-
57- COMPILE_WORKSPACE = ' java.workspace.compile' ,
58-
5931 BUILD_PROJECT = ' java.project.build' ,
60-
61- OPEN_SERVER_LOG = ' java.open.serverLog' ,
62-
63- OPEN_SERVER_STDOUT_LOG = ' java.open.serverStdoutLog' ,
64-
65- OPEN_SERVER_STDERR_LOG = ' java.open.serverStderrLog' ,
66-
67- OPEN_CLIENT_LOG = ' java.open.clientLog' ,
68-
69- OPEN_LOGS = ' java.open.logs' ,
70-
71- OPEN_FORMATTER = ' java.open.formatter.settings' ,
72-
73- OPEN_FILE = ' java.open.file' ,
74-
75- CLEAN_WORKSPACE = ' java.clean.workspace' ,
76-
77- UPDATE_SOURCE_ATTACHMENT_CMD = ' java.project.updateSourceAttachment.command' ,
78- UPDATE_SOURCE_ATTACHMENT = ' java.project.updateSourceAttachment' ,
79-
80- RESOLVE_SOURCE_ATTACHMENT = ' java.project.resolveSourceAttachment' ,
81-
82- ADD_TO_SOURCEPATH_CMD = ' java.project.addToSourcePath.command' ,
83- ADD_TO_SOURCEPATH = ' java.project.addToSourcePath' ,
84-
85- REMOVE_FROM_SOURCEPATH_CMD = ' java.project.removeFromSourcePath.command' ,
86- REMOVE_FROM_SOURCEPATH = ' java.project.removeFromSourcePath' ,
87-
88- LIST_SOURCEPATHS_CMD = ' java.project.listSourcePaths.command' ,
89- LIST_SOURCEPATHS = ' java.project.listSourcePaths' ,
90-
91- IMPORT_PROJECTS_CMD = ' java.project.import.command' ,
92- IMPORT_PROJECTS = ' java.project.import' ,
32+ CHANGE_BASE_TYPE = ' java.action.changeBaseType' ,
9333 CHANGE_IMPORTED_PROJECTS = ' java.project.changeImportedProjects' ,
94-
95- OVERRIDE_METHODS_PROMPT = ' java.action.overrideMethodsPrompt' ,
96-
97- HASHCODE_EQUALS_PROMPT = ' java.action.hashCodeEqualsPrompt' ,
98-
99- OPEN_JSON_SETTINGS = ' workbench.action.openSettingsJson' ,
100-
101- ORGANIZE_IMPORTS = ' java.action.organizeImports' ,
102-
103- ORGANIZE_IMPORTS_SILENTLY = ' java.edit.organizeImports' ,
104- MANUAL_CLEANUP = ' java.action.doCleanup' ,
105-
106- HANDLE_PASTE_EVENT = ' java.edit.handlePasteEvent' ,
107-
34+ CHOOSE_IMPORTS = ' java.action.organizeImports.chooseImports' ,
35+ CLEAN_SHARED_INDEXES = ' java.clean.sharedIndexes' ,
36+ CLEAN_WORKSPACE = ' java.clean.workspace' ,
10837 CLIPBOARD_ONPASTE = ' java.action.clipboardPasteAction' ,
109-
38+ COMPILE_WORKSPACE = ' java.workspace.compile' ,
39+ CONFIGURATION_UPDATE = ' java.projectConfiguration.update' ,
40+ CREATE_MODULE_INFO = ' java.project.createModuleInfo' ,
41+ CREATE_MODULE_INFO_COMMAND = ' java.project.createModuleInfo.command' ,
42+ EXECUTE_WORKSPACE_COMMAND = ' java.execute.workspaceCommand' ,
11043 FILESEXPLORER_ONPASTE = ' java.action.filesExplorerPasteAction' ,
111-
112- CHOOSE_IMPORTS = ' java.action.organizeImports.chooseImports' ,
113-
114- GENERATE_TOSTRING_PROMPT = ' java.action.generateToStringPrompt' ,
115-
11644 GENERATE_ACCESSORS_PROMPT = ' java.action.generateAccessorsPrompt' ,
117-
11845 GENERATE_CONSTRUCTORS_PROMPT = ' java.action.generateConstructorsPrompt' ,
119-
12046 GENERATE_DELEGATE_METHODS_PROMPT = ' java.action.generateDelegateMethodsPrompt' ,
121-
122- APPLY_REFACTORING_COMMAND = ' java.action.applyRefactoringCommand' ,
123-
124- RENAME_COMMAND = ' java.action.rename' ,
125-
126- NAVIGATE_TO_SUPER_IMPLEMENTATION_COMMAND = ' java.action.navigateToSuperImplementation' ,
127-
128- SHOW_TYPE_HIERARCHY = ' java.action.showTypeHierarchy' ,
129-
130- SHOW_SUPERTYPE_HIERARCHY = ' java.action.showSupertypeHierarchy' ,
131-
132- SHOW_SUBTYPE_HIERARCHY = ' java.action.showSubtypeHierarchy' ,
133-
134- SHOW_CLASS_HIERARCHY = ' java.action.showClassHierarchy' ,
135-
136- CHANGE_BASE_TYPE = ' java.action.changeBaseType' ,
137-
138- OPEN_TYPE_HIERARCHY = ' java.navigate.openTypeHierarchy' ,
139-
140- RESOLVE_TYPE_HIERARCHY = ' java.navigate.resolveTypeHierarchy' ,
141-
142- SHOW_SERVER_TASK_STATUS = ' java.show.server.task.status' ,
143-
144- GET_PROJECT_SETTINGS = ' java.project.getSettings' ,
145-
47+ GENERATE_TOSTRING_PROMPT = ' java.action.generateToStringPrompt' ,
48+ GET_ALL_JAVA_PROJECTS = ' java.project.getAll' ,
14649 GET_CLASSPATHS = ' java.project.getClasspaths' ,
147-
50+ GET_DECOMPILED_SOURCE = ' java.decompile' ,
51+ GET_PROJECT_SETTINGS = ' java.project.getSettings' ,
52+ GET_WORKSPACE_PATH = ' _java.workspace.path' ,
53+ GOTO_LOCATION = ' editor.action.goToLocations' ,
54+ HANDLE_PASTE_EVENT = ' java.edit.handlePasteEvent' ,
55+ HASHCODE_EQUALS_PROMPT = ' java.action.hashCodeEqualsPrompt' ,
56+ IGNORE_INCOMPLETE_CLASSPATH = ' java.ignoreIncompleteClasspath' ,
57+ IGNORE_INCOMPLETE_CLASSPATH_HELP = ' java.ignoreIncompleteClasspath.help' ,
58+ IMPORT_PROJECTS = ' java.project.import' ,
59+ IMPORT_PROJECTS_CMD = ' java.project.import.command' ,
14860 IS_TEST_FILE = ' java.project.isTestFile' ,
149-
150- GET_ALL_JAVA_PROJECTS = ' java.project.getAll' ,
151-
152- SWITCH_SERVER_MODE = ' java.server.mode.switch' ,
153-
154- RESTART_LANGUAGE_SERVER = ' java.server.restart' ,
155-
156- LEARN_MORE_ABOUT_REFACTORING = ' _java.learnMoreAboutRefactorings' ,
157-
15861 LEARN_MORE_ABOUT_CLEAN_UPS = ' _java.learnMoreAboutCleanUps' ,
159-
160- TEMPLATE_VARIABLES = ' _java.templateVariables' ,
161-
162- NOT_COVERED_EXECUTION = ' _java.notCoveredExecution' ,
163-
164- METADATA_FILES_GENERATION = ' _java.metadataFilesGeneration' ,
165-
166- RUNTIME_VALIDATION_OPEN = ' java.runtimeValidation.open' ,
167-
168- RESOLVE_WORKSPACE_SYMBOL = ' java.project.resolveWorkspaceSymbol' ,
169-
170- GET_WORKSPACE_PATH = ' _java.workspace.path' ,
171-
172- UPGRADE_GRADLE_WRAPPER_CMD = ' java.project.upgradeGradle.command' ,
173- UPGRADE_GRADLE_WRAPPER = ' java.project.upgradeGradle' ,
174-
62+ LEARN_MORE_ABOUT_REFACTORING = ' _java.learnMoreAboutRefactorings' ,
63+ LIST_SOURCEPATHS = ' java.project.listSourcePaths' ,
64+ LIST_SOURCEPATHS_CMD = ' java.project.listSourcePaths.command' ,
17565 LOMBOK_CONFIGURE = ' java.lombokConfigure' ,
176-
177- CREATE_MODULE_INFO = ' java.project.createModuleInfo' ,
178-
179- CREATE_MODULE_INFO_COMMAND = ' java.project.createModuleInfo.command' ,
180-
66+ MANUAL_CLEANUP = ' java.action.doCleanup' ,
67+ MARKDOWN_API_RENDER = ' markdown.api.render' ,
68+ METADATA_FILES_GENERATION = ' _java.metadataFilesGeneration' ,
69+ NAVIGATE_TO_SUPER_IMPLEMENTATION_COMMAND = ' java.action.navigateToSuperImplementation' ,
70+ NOT_COVERED_EXECUTION = ' _java.notCoveredExecution' ,
71+ NULL_ANALYSIS_SET_MODE = ' java.compile.nullAnalysis.setMode' ,
72+ OPEN_BROWSER = ' vscode.open' ,
73+ OPEN_CLIENT_LOG = ' java.open.clientLog' ,
74+ OPEN_FILE = ' java.open.file' ,
75+ OPEN_FORMATTER = ' java.open.formatter.settings' ,
76+ OPEN_JSON_SETTINGS = ' workbench.action.openSettingsJson' ,
77+ OPEN_LOGS = ' java.open.logs' ,
78+ OPEN_OUTPUT = ' java.open.output' ,
79+ OPEN_SERVER_LOG = ' java.open.serverLog' ,
80+ OPEN_SERVER_STDERR_LOG = ' java.open.serverStderrLog' ,
81+ OPEN_SERVER_STDOUT_LOG = ' java.open.serverStdoutLog' ,
82+ OPEN_STATUS_SHORTCUT = ' _java.openShortcuts' ,
83+ OPEN_TYPE_HIERARCHY = ' java.navigate.openTypeHierarchy' ,
84+ ORGANIZE_IMPORTS = ' java.action.organizeImports' ,
85+ ORGANIZE_IMPORTS_SILENTLY = ' java.edit.organizeImports' ,
86+ OVERRIDE_METHODS_PROMPT = ' java.action.overrideMethodsPrompt' ,
87+ PROJECT_CONFIGURATION_STATUS = ' java.projectConfiguration.status' ,
18188 REFRESH_BUNDLES = ' java.reloadBundles' ,
182-
18389 REFRESH_BUNDLES_COMMAND = ' _java.reloadBundles.command' ,
184-
185- CLEAN_SHARED_INDEXES = ' java.clean.sharedIndexes' ,
186-
187- GET_DECOMPILED_SOURCE = ' java.decompile' ,
188-
189- SMARTSEMICOLON_DETECTION = ' java.edit.smartSemicolonDetection' ,
190-
90+ RELOAD_WINDOW = ' workbench.action.reloadWindow' ,
91+ REMOVE_FROM_SOURCEPATH = ' java.project.removeFromSourcePath' ,
92+ REMOVE_FROM_SOURCEPATH_CMD = ' java.project.removeFromSourcePath.command' ,
93+ RENAME_COMMAND = ' java.action.rename' ,
19194 RESOLVE_PASTED_TEXT = ' java.project.resolveText' ,
192-
193- OPEN_STATUS_SHORTCUT = ' _java.openShortcuts' ,
95+ RESOLVE_SOURCE_ATTACHMENT = ' java.project.resolveSourceAttachment' ,
96+ RESOLVE_TYPE_HIERARCHY = ' java.navigate.resolveTypeHierarchy' ,
97+ RESOLVE_WORKSPACE_SYMBOL = ' java.project.resolveWorkspaceSymbol' ,
98+ RESTART_LANGUAGE_SERVER = ' java.server.restart' ,
99+ RUNTIME_VALIDATION_OPEN = ' java.runtimeValidation.open' ,
100+ SHOW_CLASS_HIERARCHY = ' java.action.showClassHierarchy' ,
101+ SHOW_JAVA_IMPLEMENTATIONS = ' java.show.implementations' ,
102+ SHOW_JAVA_REFERENCES = ' java.show.references' ,
103+ SHOW_REFERENCES = ' editor.action.showReferences' ,
104+ SHOW_SERVER_TASK_STATUS = ' java.show.server.task.status' ,
105+ SHOW_SUBTYPE_HIERARCHY = ' java.action.showSubtypeHierarchy' ,
106+ SHOW_SUPERTYPE_HIERARCHY = ' java.action.showSupertypeHierarchy' ,
107+ SHOW_TYPE_HIERARCHY = ' java.action.showTypeHierarchy' ,
108+ SMARTSEMICOLON_DETECTION = ' java.edit.smartSemicolonDetection' ,
109+ SWITCH_SERVER_MODE = ' java.server.mode.switch' ,
110+ TEMPLATE_VARIABLES = ' _java.templateVariables' ,
111+ UPDATE_SOURCE_ATTACHMENT = ' java.project.updateSourceAttachment' ,
112+ UPDATE_SOURCE_ATTACHMENT_CMD = ' java.project.updateSourceAttachment.command' ,
113+ UPGRADE_GRADLE_WRAPPER = ' java.project.upgradeGradle' ,
114+ UPGRADE_GRADLE_WRAPPER_CMD = ' java.project.upgradeGradle.command' ,
194115}
195116
196117M .handlers = {
@@ -205,3 +126,27 @@ M.handlers = {
205126 require (' java.api.build' ).full_build_workspace (is_full_build )
206127 end ,
207128}
129+
130+ local ignored_commands = { M .commands .REFRESH_BUNDLES_COMMAND }
131+
132+ for _ , command in pairs (M .commands ) do
133+ if
134+ not M .handlers [command ] and not vim .tbl_contains (ignored_commands , command )
135+ then
136+ local message = string.format (
137+ ' "%s" is not supported yet!'
138+ .. ' \n Please request the feature using below link'
139+ .. ' \n https://github.com/nvim-java/nvim-java/issues/new?assignees='
140+ .. ' &labels=enhancement&projects=&template=feature_request.yml&title=feature%%3A+' ,
141+ command
142+ )
143+
144+ M .handlers [command ] = function ()
145+ notify .warn (message )
146+ return vim .lsp .rpc_response_error (
147+ vim .lsp .protocol .ErrorCodes .MethodNotFound ,
148+ ' Not implemented yes'
149+ )
150+ end
151+ end
152+ end
0 commit comments