@@ -14,13 +14,13 @@ use ide::{
14
14
InlayFieldsToResolve , InlayHint , InlayHintLabel , InlayHintLabelPart , InlayKind , LazyProperty ,
15
15
Markup , NavigationTarget , ReferenceCategory , RenameError , Runnable , Severity , SignatureHelp ,
16
16
SnippetEdit , SourceChange , StructureNodeKind , SymbolKind , TextEdit , TextRange , TextSize ,
17
+ UpdateTest ,
17
18
} ;
18
19
use ide_db:: { assists, rust_doc:: format_docs, FxHasher } ;
19
20
use itertools:: Itertools ;
20
21
use paths:: { Utf8Component , Utf8Prefix } ;
21
22
use semver:: VersionReq ;
22
23
use serde_json:: to_value;
23
- use syntax:: SmolStr ;
24
24
use vfs:: AbsPath ;
25
25
26
26
use crate :: {
@@ -1623,8 +1623,7 @@ pub(crate) fn code_lens(
1623
1623
}
1624
1624
if lens_config. update_test && client_commands_config. run_single {
1625
1625
let label = update_test. label ( ) ;
1626
- let env = update_test. env ( ) ;
1627
- if let Some ( r) = make_update_runnable ( & r, & label, & env) {
1626
+ if let Some ( r) = make_update_runnable ( & r, update_test) {
1628
1627
let command = command:: run_single ( & r, label. unwrap ( ) . as_str ( ) ) ;
1629
1628
acc. push ( lsp_types:: CodeLens {
1630
1629
range : annotation_range,
@@ -1871,22 +1870,22 @@ pub(crate) mod command {
1871
1870
1872
1871
pub ( crate ) fn make_update_runnable (
1873
1872
runnable : & lsp_ext:: Runnable ,
1874
- label : & Option < SmolStr > ,
1875
- env : & [ ( & str , & str ) ] ,
1873
+ update_test : UpdateTest ,
1876
1874
) -> Option < lsp_ext:: Runnable > {
1877
- if !matches ! ( runnable. args, lsp_ext:: RunnableArgs :: Cargo ( _) ) {
1878
- return None ;
1879
- }
1880
- let label = label. as_ref ( ) ?;
1875
+ let label = update_test. label ( ) ?;
1881
1876
1882
1877
let mut runnable = runnable. clone ( ) ;
1883
1878
runnable. label = format ! ( "{} + {}" , runnable. label, label) ;
1884
1879
1885
1880
let lsp_ext:: RunnableArgs :: Cargo ( r) = & mut runnable. args else {
1886
- unreachable ! ( ) ;
1881
+ return None ;
1887
1882
} ;
1888
1883
1889
- r. environment . extend ( env. iter ( ) . map ( |( k, v) | ( k. to_string ( ) , v. to_string ( ) ) ) ) ;
1884
+ r. environment . extend ( update_test. env ( ) . iter ( ) . map ( |( k, v) | ( k. to_string ( ) , v. to_string ( ) ) ) ) ;
1885
+
1886
+ if update_test. insta {
1887
+ r. cargo_args . insert ( 0 , "insta" . to_owned ( ) ) ;
1888
+ }
1890
1889
1891
1890
Some ( runnable)
1892
1891
}
0 commit comments