1:- module(md_hr, [
2 md_hr//0,
3 md_lookahead_hr//0
4]).
11:- use_module(library(dcg/basics)). 12:- use_module(md_line).
18md_hr -->
19 code_hr(0'*, 3, _), !.
20
21md_hr -->
22 code_hr(0'-, 3, _).
28md_lookahead_hr, Codes -->
29 code_hr(0'*, 3, Codes), !.
30
31md_lookahead_hr, Codes -->
32 code_hr(0'-, 3, Codes).
33
37
38code_hr(_, 0, []) -->
39 eos, !.
40
41code_hr(_, 0, [0'\n]) -->
42 "\n", !.
43
44code_hr(Code, 0, [Code|Codes]) -->
45 [Code], !, code_hr(Code, 0, Codes).
46
47code_hr(Code, N, [0' |Codes]) -->
48 " ", !, code_hr(Code, N, Codes).
49
50code_hr(Code, N, [0'\t|Codes]) -->
51 "\t", !, code_hr(Code, N, Codes).
52
53code_hr(Code, N, [Code|Codes]) -->
54 [Code], !, { N1 is N - 1 },
55 code_hr(Code, N1, Codes)
Parser for Markdown horizontal rulers
Recognizes horizontal rulers. */