@@ -10,13 +10,13 @@ use devo_protocol::ACP_TERMINAL_KILL_METHOD;
1010use devo_protocol:: ACP_TERMINAL_OUTPUT_METHOD ;
1111use devo_protocol:: ACP_TERMINAL_RELEASE_METHOD ;
1212use devo_protocol:: ACP_TERMINAL_WAIT_FOR_EXIT_METHOD ;
13- use devo_protocol:: AcpSuccessResponse ;
1413use devo_protocol:: AcpTerminalCreateParams ;
1514use devo_protocol:: AcpTerminalCreateResult ;
1615use devo_protocol:: AcpTerminalExitStatus ;
1716use devo_protocol:: AcpTerminalOutputResult ;
1817use devo_protocol:: AcpTerminalParams ;
1918use devo_protocol:: AcpTerminalWaitForExitResult ;
19+ use devo_protocol:: acp_success_response;
2020use tokio:: io:: AsyncRead ;
2121use tokio:: io:: AsyncReadExt ;
2222use tokio:: process:: Child ;
@@ -95,7 +95,7 @@ pub(crate) async fn handle_acp_terminal_request(
9595 let params = serde_json:: from_value :: < AcpTerminalCreateParams > ( params)
9696 . map_err ( |error| format ! ( "invalid terminal/create params: {error}" ) ) ?;
9797 let terminal_id = create_acp_terminal ( params, terminals, notifications_tx) . await ?;
98- Ok ( acp_terminal_success_response (
98+ Ok ( acp_success_response (
9999 request_id,
100100 AcpTerminalCreateResult {
101101 terminal_id,
@@ -107,13 +107,13 @@ pub(crate) async fn handle_acp_terminal_request(
107107 let params = serde_json:: from_value :: < AcpTerminalParams > ( params)
108108 . map_err ( |error| format ! ( "invalid terminal/output params: {error}" ) ) ?;
109109 let result = acp_terminal_output ( & params. terminal_id , terminals) . await ?;
110- Ok ( acp_terminal_success_response ( request_id, result) )
110+ Ok ( acp_success_response ( request_id, result) )
111111 }
112112 ACP_TERMINAL_WAIT_FOR_EXIT_METHOD => {
113113 let params = serde_json:: from_value :: < AcpTerminalParams > ( params)
114114 . map_err ( |error| format ! ( "invalid terminal/wait_for_exit params: {error}" ) ) ?;
115115 let status = wait_for_acp_terminal_exit ( & params. terminal_id , terminals) . await ?;
116- Ok ( acp_terminal_success_response (
116+ Ok ( acp_success_response (
117117 request_id,
118118 AcpTerminalWaitForExitResult {
119119 exit_code : status. exit_code ,
@@ -126,19 +126,13 @@ pub(crate) async fn handle_acp_terminal_request(
126126 let params = serde_json:: from_value :: < AcpTerminalParams > ( params)
127127 . map_err ( |error| format ! ( "invalid terminal/kill params: {error}" ) ) ?;
128128 kill_acp_terminal ( & params. terminal_id , terminals) . await ?;
129- Ok ( acp_terminal_success_response (
130- request_id,
131- serde_json:: json!( { } ) ,
132- ) )
129+ Ok ( acp_success_response ( request_id, serde_json:: json!( { } ) ) )
133130 }
134131 ACP_TERMINAL_RELEASE_METHOD => {
135132 let params = serde_json:: from_value :: < AcpTerminalParams > ( params)
136133 . map_err ( |error| format ! ( "invalid terminal/release params: {error}" ) ) ?;
137134 release_acp_terminal ( & params. terminal_id , terminals) . await ?;
138- Ok ( acp_terminal_success_response (
139- request_id,
140- serde_json:: json!( { } ) ,
141- ) )
135+ Ok ( acp_success_response ( request_id, serde_json:: json!( { } ) ) )
142136 }
143137 _ => Err ( format ! ( "unknown ACP terminal method {method}" ) ) ,
144138 }
@@ -450,16 +444,9 @@ fn acp_terminal_exit_status_from_process_status(status: ExitStatus) -> AcpTermin
450444 }
451445}
452446
453- fn acp_terminal_success_response < T : serde:: Serialize > (
454- id : serde_json:: Value ,
455- result : T ,
456- ) -> serde_json:: Value {
457- serde_json:: to_value ( AcpSuccessResponse :: new ( id, result) )
458- . expect ( "serialize ACP terminal success response" )
459- }
460-
461447#[ cfg( test) ]
462448mod tests {
449+ use devo_protocol:: AcpSuccessResponse ;
463450 use pretty_assertions:: assert_eq;
464451 use tokio:: sync:: mpsc;
465452 use tokio:: time:: Duration ;
0 commit comments