@@ -4,7 +4,7 @@ use notification::ShowMessage;
4
4
use pg_commands:: CommandType ;
5
5
use pg_workspace:: Workspace ;
6
6
use tokio:: sync:: RwLock ;
7
- use tower_lsp:: jsonrpc:: Error ;
7
+ use tower_lsp:: jsonrpc;
8
8
use tower_lsp:: lsp_types:: * ;
9
9
use tower_lsp:: { Client , LanguageServer } ;
10
10
@@ -134,7 +134,7 @@ impl Server {
134
134
135
135
#[ tower_lsp:: async_trait]
136
136
impl LanguageServer for Server {
137
- async fn initialize ( & self , params : InitializeParams ) -> tower_lsp :: jsonrpc:: Result < InitializeResult > {
137
+ async fn initialize ( & self , params : InitializeParams ) -> jsonrpc:: Result < InitializeResult > {
138
138
let flags = ClientFlags :: from_initialize_request_params ( & params) ;
139
139
self . client_capabilities . blocking_write ( ) . replace ( flags) ;
140
140
@@ -174,7 +174,7 @@ impl LanguageServer for Server {
174
174
. await ;
175
175
}
176
176
177
- async fn shutdown ( & self ) -> anyhow :: Result < ( ) > {
177
+ async fn shutdown ( & self ) -> jsonrpc :: Result < ( ) > {
178
178
self . client
179
179
. log_message ( MessageType :: INFO , "Postgres LSP terminated." )
180
180
. await ;
@@ -202,19 +202,16 @@ impl LanguageServer for Server {
202
202
async fn execute_command (
203
203
& self ,
204
204
params : ExecuteCommandParams ,
205
- ) -> tower_lsp :: jsonrpc:: Result < Option < serde_json:: Value > > {
205
+ ) -> jsonrpc:: Result < Option < serde_json:: Value > > {
206
206
match CommandType :: from_id ( params. command . replace ( "pglsp." , "" ) . as_str ( ) ) {
207
207
Some ( CommandType :: ExecuteStatement ) => {
208
208
if params. arguments . is_empty ( ) {
209
- return tower_lsp :: jsonrpc:: Result :: Err ( Error :: new ( "No arguments provided!" ) ) ;
209
+ return jsonrpc:: Result :: Err ( jsonrpc :: Error :: invalid_request ( ) ) ;
210
210
}
211
211
212
- let stmt = params
213
- . arguments
214
- . into_iter ( )
215
- . next ( )
216
- . map ( |v| serde_json:: from_value ( v) )
217
- . unwrap ( ) ?;
212
+ let params = params. arguments . into_iter ( ) . next ( ) . unwrap ( ) ;
213
+ let stmt = serde_json:: from_value ( params)
214
+ . map_err ( |_| jsonrpc:: Error :: invalid_request ( ) ) ?;
218
215
219
216
let conn = self . db . read ( ) . await ;
220
217
match conn
0 commit comments