Skip to content

Commit 1d4b782

Browse files
Merge pull request #186 from ahrefs/emile/fix-file-escaping
add a missing case in escaping
2 parents edab758 + 4b52d17 commit 1d4b782

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

lib/text_cleanup/lexer.mll

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,12 @@ let timestamp = esc "_bk;t=" digit* '\007'
88

99
let color_code = esc '[' (digit | ';') * ['a'-'z' 'A'-'Z']
1010

11-
let to_delete = timestamp | color_code
11+
let cursor_show_hide = esc "[?25" ('l' | 'h')
12+
13+
let to_delete = timestamp | color_code | cursor_show_hide
1214

1315
rule cleanup buf = parse
1416
| to_delete { cleanup buf lexbuf }
17+
| esc { Buffer.add_string buf "\\027"; cleanup buf lexbuf }
1518
| _ { Buffer.add_string buf (Lexing.lexeme lexbuf); cleanup buf lexbuf }
1619
| eof { () }

lib/text_cleanup/test/job_log.t/log3

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2+
[?25lInstalling to existing venv 'something'
3+
4+
5+
[?25h[09:52:01 #] sudo aptitude install -y package1 package2
6+
7+


lib/text_cleanup/test/job_log.t/run.t

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,3 +452,12 @@
452452
user command error: exit status 1
453453
454454
"
455+
$ dune exec text_cleanup -- log3 | sed 's/\$/%/g' | sed 's/\\n/\n/g'
456+
"
457+
Installing to existing venv 'something'
458+
459+
460+
[09:52:01 #] sudo aptitude install -y package1 package2
461+
462+
\\027
463+
"

0 commit comments

Comments
 (0)