summaryrefslogtreecommitdiff
path: root/rst_parser.lua
diff options
context:
space:
mode:
authorPhilipp Gesang <pgesang@ix.urz.uni-heidelberg.de>2010-09-16 01:10:15 +0200
committerPhilipp Gesang <pgesang@ix.urz.uni-heidelberg.de>2010-09-16 01:10:15 +0200
commit4b62abbe95a34b6a358288efa7a0f776eadda0d4 (patch)
tree30bcc048fe2f5db1ef49838891e00c172c86c781 /rst_parser.lua
parent4f882783dec316286c050563279fbc9b7b1f70a5 (diff)
downloadcontext-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.lua31
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