Skip to content

Commit 5def9bd

Browse files
committed
feat: add refactoring APIs
1 parent 0bb2ec1 commit 5def9bd

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

lua/java-core/ls/clients/jdtls-client.lua

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ local await = async.wait_handle_error
1616
---| 'java/generateHashCodeEquals'
1717
---| 'java/checkDelegateMethodsStatus'
1818
---| 'java/generateDelegateMethods'
19+
---| 'java/move'
20+
---| 'java/searchSymbols'
21+
---| 'java/getMoveDestinations'
1922

2023
---@alias jdtls.CodeActionCommand
2124
---| 'extractVariable'
@@ -95,6 +98,55 @@ function JdtlsClient:workspace_execute_command(command, params, buffer)
9598
}, buffer)
9699
end
97100

101+
---@class jdtls.ResourceMoveDestination
102+
---@field displayName string
103+
---@field isDefaultPackage boolean
104+
---@field isParentOfSelectedFile boolean
105+
---@field path string
106+
---@field project string
107+
---@field uri string
108+
109+
---@class jdtls.InstanceMethodMoveDestination
110+
---@field bindingKey string
111+
---@field isField boolean
112+
---@field isSelected boolean
113+
---@field name string
114+
---@field type string
115+
116+
---@class jdtls.MoveDestinationsResponse
117+
---@field errorMessage? string
118+
---@field destinations jdtls.InstanceMethodMoveDestination[]|jdtls.ResourceMoveDestination[]
119+
120+
---@param params jdtls.MoveParams
121+
---@return jdtls.MoveDestinationsResponse
122+
function JdtlsClient:get_move_destination(params)
123+
return self:request('java/getMoveDestinations', params)
124+
end
125+
126+
---@class jdtls.MoveParams
127+
---@field moveKind string
128+
---@field sourceUris string[]
129+
---@field params lsp.CodeActionParams | nil
130+
---@field destination? any
131+
---@field updateReferences? boolean
132+
133+
---@param params jdtls.MoveParams
134+
---@return jdtls.RefactorWorkspaceEdit
135+
function JdtlsClient:java_move(params)
136+
return self:request('java/move', params)
137+
end
138+
139+
---@class jdtls.SearchSymbolParams: lsp.WorkspaceSymbolParams
140+
---@field projectName string
141+
---@field maxResults? number
142+
---@field sourceOnly? boolean
143+
144+
---@param params jdtls.SearchSymbolParams
145+
---@return lsp.SymbolInformation
146+
function JdtlsClient:java_search_symbols(params)
147+
return self:request('java/searchSymbols', params)
148+
end
149+
98150
---Returns more information about the object the cursor is on
99151
---@param command jdtls.CodeActionCommand
100152
---@param params lsp.CodeActionParams

0 commit comments

Comments
 (0)