equal
deleted
inserted
replaced
150 val commas_quote: string list -> string |
150 val commas_quote: string list -> string |
151 val cat_lines: string list -> string |
151 val cat_lines: string list -> string |
152 val space_explode: string -> string -> string list |
152 val space_explode: string -> string -> string list |
153 val split_lines: string -> string list |
153 val split_lines: string -> string list |
154 val prefix_lines: string -> string -> string |
154 val prefix_lines: string -> string -> string |
155 val untabify: string list -> string list |
|
156 val prefix: string -> string -> string |
155 val prefix: string -> string -> string |
157 val suffix: string -> string -> string |
156 val suffix: string -> string -> string |
158 val unprefix: string -> string -> string |
157 val unprefix: string -> string -> string |
159 val unsuffix: string -> string -> string |
158 val unsuffix: string -> string -> string |
160 val replicate_string: int -> string -> string |
159 val replicate_string: int -> string -> string |
755 val split_lines = space_explode "\n"; |
754 val split_lines = space_explode "\n"; |
756 |
755 |
757 fun prefix_lines "" txt = txt |
756 fun prefix_lines "" txt = txt |
758 | prefix_lines prfx txt = txt |> split_lines |> map (fn s => prfx ^ s) |> cat_lines; |
757 | prefix_lines prfx txt = txt |> split_lines |> map (fn s => prfx ^ s) |> cat_lines; |
759 |
758 |
760 fun untabify chs = |
|
761 let |
|
762 val tab_width = 8; |
|
763 |
|
764 fun untab pos [] ys = rev ys |
|
765 | untab pos ("\n" :: xs) ys = untab 0 xs ("\n" :: ys) |
|
766 | untab pos ("\t" :: xs) ys = |
|
767 let val d = tab_width - (pos mod tab_width) |
|
768 in untab (pos + d) xs (funpow d (cons " ") ys) end |
|
769 | untab pos (c :: xs) ys = untab (pos + 1) xs (c :: ys); |
|
770 in |
|
771 if not (exists (fn c => c = "\t") chs) then chs |
|
772 else untab 0 chs [] |
|
773 end; |
|
774 |
|
775 fun prefix prfx s = prfx ^ s; |
759 fun prefix prfx s = prfx ^ s; |
776 fun suffix sffx s = s ^ sffx; |
760 fun suffix sffx s = s ^ sffx; |
777 |
761 |
778 fun unprefix prfx s = |
762 fun unprefix prfx s = |
779 if String.isPrefix prfx s then String.substring (s, size prfx, size s - size prfx) |
763 if String.isPrefix prfx s then String.substring (s, size prfx, size s - size prfx) |