diff options
author | Philipp Gesang <pgesang@ix.urz.uni-heidelberg.de> | 2010-09-16 01:10:15 +0200 |
---|---|---|
committer | Philipp Gesang <pgesang@ix.urz.uni-heidelberg.de> | 2010-09-16 01:10:15 +0200 |
commit | 4b62abbe95a34b6a358288efa7a0f776eadda0d4 (patch) | |
tree | 30bcc048fe2f5db1ef49838891e00c172c86c781 /rst_parser.lua | |
parent | 4f882783dec316286c050563279fbc9b7b1f70a5 (diff) | |
download | context-rst-4b62abbe95a34b6a358288efa7a0f776eadda0d4.tar.gz |
new environment for definition lists (still don’t know what to use them for, though).
Diffstat (limited to 'rst_parser.lua')
-rw-r--r-- | rst_parser.lua | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/rst_parser.lua b/rst_parser.lua index 88c894d..bee69f7 100644 --- a/rst_parser.lua +++ b/rst_parser.lua @@ -722,32 +722,31 @@ local parser = P{ -- Definition lists -------------------------------------------------------------------------------- - definition_list = Cs(V"definition_item" + definition_list = Ct(V"definition_item" * (V"blank_line" * V"definition_item")^0) * V"end_block" / rst.deflist , - definition_item = Cs(V"definition_term" + definition_item = Ct(C(V"definition_term") * V"definition_classifiers" * V"eol" - * V"definition_def") - / rst.deflist_item, + * Ct(V"definition_def")) + , - definition_term = Cs((1 - V"eol" - V"definition_classifier_separator")^1) - / rst.deflist_term, + definition_term = (1 - V"eol" - V"definition_classifier_separator")^1 + , definition_classifier_separator = V"space" * V"colon" * V"space", definition_classifiers = V"definition_classifier"^0, definition_classifier = V"definition_classifier_separator" - * Cs((1 - V"eol" - V"definition_classifier_separator")^1) - / rst.deflist_classifier, + * C((1 - V"eol" - V"definition_classifier_separator")^1) + , - definition_def = Cs(V"definition_firstpar" - * V"definition_par"^0) - / rst.deflist_def, + definition_def = C(V"definition_firstpar") * C(V"definition_par")^0 + , definition_indent = Cmt(V"space"^1, function(s, i, indent) warn("def-i", #indent, #state.currentindent, indent == state.currentindent, i) @@ -755,13 +754,13 @@ local parser = P{ return true end), - definition_firstpar = Cs(V"definition_parinit" - * (V"definition_parline" - V"blank_line")^0) - / rst.paragraph, + definition_firstpar = V"definition_parinit" + * (V"definition_parline" - V"blank_line")^0 + , definition_par = V"blank_line" - * Cs((V"definition_parline" - V"blank_line")^1) - / rst.paragraph, + * (V"definition_parline" - V"blank_line")^1 + , definition_parinit = V"definition_indent" * (1 - V"eol")^1 |