@@ -11,7 +11,11 @@ use codesnap::{
1111 utils:: clipboard:: Clipboard ,
1212} ;
1313
14- use crate :: { range:: Range , CLI , STDIN_CODE_DEFAULT_CHAR } ;
14+ use crate :: {
15+ highlight:: { create_highlight_lines_by_opt_range, create_highlight_lines_by_ranges} ,
16+ range:: Range ,
17+ CLI , STDIN_CODE_DEFAULT_CHAR ,
18+ } ;
1519
1620pub fn create_code ( cli : & CLI , config_code : Code ) -> anyhow:: Result < Code > {
1721 let range = Range :: from_opt_string ( cli. range . clone ( ) ) ?;
@@ -48,20 +52,17 @@ fn create_highlight_lines(cli: &CLI, code_snippet: &str) -> anyhow::Result<Vec<H
4852 return Ok ( highlight_lines) ;
4953 }
5054
51- let highlight_lines = match cli. highlight_range {
52- Some ( ref highlight_range) => {
53- let Range ( start, end) = Range :: from_str ( & highlight_range) ?. parse_range ( code_snippet) ?;
54-
55- vec ! [ HighlightLine :: Range (
56- start as u32 ,
57- end as u32 ,
58- cli. highlight_range_color. clone( ) ,
59- ) ]
60- }
61- None => vec ! [ ] ,
62- } ;
63-
64- Ok ( highlight_lines)
55+ let highlight_lines = create_highlight_lines_by_opt_range (
56+ & cli. highlight_range ,
57+ & cli. highlight_range_color ,
58+ code_snippet,
59+ ) ?;
60+ let delete_highlight_lines =
61+ create_highlight_lines_by_ranges ( & cli. delete_line , & cli. delete_line_color , code_snippet) ?;
62+ let new_highlight_lines =
63+ create_highlight_lines_by_ranges ( & cli. add_line , & cli. add_line_color , code_snippet) ?;
64+
65+ Ok ( [ highlight_lines, delete_highlight_lines, new_highlight_lines] . concat ( ) )
6566}
6667
6768fn create_breadcrumbs ( cli : & CLI ) -> Option < Breadcrumbs > {
0 commit comments