@@ -26,6 +26,7 @@ use tracing::instrument;
2626use crate :: cli_util:: CommandHelper ;
2727use crate :: cli_util:: print_conflicted_paths;
2828use crate :: cli_util:: print_snapshot_stats;
29+ use crate :: cli_util:: print_unmatched_explicit_paths;
2930use crate :: command_error:: CommandError ;
3031use crate :: diff_util:: DiffFormat ;
3132use crate :: diff_util:: get_copy_records;
@@ -69,9 +70,8 @@ pub(crate) fn cmd_status(
6970 . get_wc_commit_id ( )
7071 . map ( |id| repo. store ( ) . get_commit ( id) )
7172 . transpose ( ) ?;
72- let matcher = workspace_command
73- . parse_file_patterns ( ui, & args. paths ) ?
74- . to_matcher ( ) ;
73+ let fileset_expression = workspace_command. parse_file_patterns ( ui, & args. paths ) ?;
74+ let matcher = fileset_expression. to_matcher ( ) ;
7575 ui. request_pager ( ) ;
7676 let mut formatter = ui. stdout_formatter ( ) ;
7777 let formatter = formatter. as_mut ( ) ;
@@ -110,7 +110,7 @@ pub(crate) fn cmd_status(
110110 writeln ! ( formatter, "Untracked paths:" ) ?;
111111 visit_collapsed_untracked_files (
112112 snapshot_stats. untracked_paths . keys ( ) ,
113- tree,
113+ tree. clone ( ) ,
114114 |path, is_dir| {
115115 let ui_path = workspace_command. path_converter ( ) . format_file_path ( path) ;
116116 writeln ! (
@@ -127,6 +127,13 @@ pub(crate) fn cmd_status(
127127 )
128128 . block_on ( ) ?;
129129 }
130+
131+ print_unmatched_explicit_paths (
132+ ui,
133+ & workspace_command,
134+ & fileset_expression,
135+ [ & parent_tree, & tree] ,
136+ ) ?;
130137 }
131138
132139 let template = workspace_command. commit_summary_template ( ) ;
0 commit comments