Skip to content

Commit 8987257

Browse files
committed
Add replace_in_file
1 parent d4111c7 commit 8987257

1 file changed

Lines changed: 24 additions & 19 deletions

File tree

src/FileUtils.jl

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,35 @@ module FileUtils
33
using DeepDiffs
44
using Pkg
55

6-
export replace_in_files, map_filenames, replace_filenames, max_version
6+
export replace_in_file, replace_in_files, map_filenames, replace_filenames, max_version
77

88
function _replace_in_files(filenames, replacement; showdiffs)
99
for filename in filenames
1010
!isfile(filename) && continue
11-
txt = read(filename, String)
12-
open(filename, "w") do f
13-
write(f, replace(txt, replacement))
14-
end
15-
if showdiffs
16-
txt_final = read(filename, String)
17-
diff = deepdiff(txt, txt_final)
18-
println(filename)
19-
removed_lines = removed(diff)
20-
added_lines = added(diff)
21-
txt_lines = split(txt, "\n")
22-
txt_final_lines = split(txt_final, "\n")
23-
@assert removed_lines == added_lines
24-
for n in 1:length(removed_lines)
25-
line_diff = deepdiff(txt_lines[removed_lines[n]], txt_final_lines[added_lines[n]])
26-
println("Line $(removed_lines[n]): ", line_diff)
27-
end
28-
println()
11+
replace_in_file(filename, replacement; showdiffs)
12+
end
13+
return nothing
14+
end
15+
16+
function replace_in_file(filename, replacement; showdiffs=true)
17+
txt = read(filename, String)
18+
open(filename, "w") do f
19+
write(f, replace(txt, replacement))
20+
end
21+
if showdiffs
22+
txt_final = read(filename, String)
23+
diff = deepdiff(txt, txt_final)
24+
println(filename)
25+
removed_lines = removed(diff)
26+
added_lines = added(diff)
27+
txt_lines = split(txt, "\n")
28+
txt_final_lines = split(txt_final, "\n")
29+
@assert removed_lines == added_lines
30+
for n in 1:length(removed_lines)
31+
line_diff = deepdiff(txt_lines[removed_lines[n]], txt_final_lines[added_lines[n]])
32+
println("Line $(removed_lines[n]): ", line_diff)
2933
end
34+
println()
3035
end
3136
return nothing
3237
end

0 commit comments

Comments
 (0)