[valadoc] libvaladoc: Allow @link tags to be split over multiple lines



commit cea97673a791485df5948c48534a1e03689dc9aa
Author: Michael James Gratton <mike vee net>
Date:   Tue Jan 9 12:36:43 2018 +1100

    libvaladoc: Allow @link tags to be split over multiple lines
    
    * libvaladoc/documentation/documentationparser.vala
      (DocumentationParser.init_valadoc_rules): Allow both SP and NL in
      general tag rule to separate tag name and body.
    
    * libvaladoc/taglets/tagletlink.vala (Link): Allow multiple further SP
      and NL chars before the link.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=646982

 .../documentation/documentationparser.vala         |   10 +++++++++-
 src/libvaladoc/taglets/tagletlink.vala             |    9 ++++++++-
 2 files changed, 17 insertions(+), 2 deletions(-)
---
diff --git a/src/libvaladoc/documentation/documentationparser.vala 
b/src/libvaladoc/documentation/documentationparser.vala
index 6e1535f..27c3b06 100644
--- a/src/libvaladoc/documentation/documentationparser.vala
+++ b/src/libvaladoc/documentation/documentationparser.vala
@@ -396,7 +396,15 @@ public class Valadoc.DocumentationParser : Object, ResourceLocator {
                                                push (taglet);
                                                Rule? taglet_rule = taglet.get_parser_rule (multiline_run);
                                                if (taglet_rule != null) {
-                                                       _parser.push_rule (Rule.seq ({ TokenType.SPACE, 
taglet_rule }));
+                                                       _parser.push_rule (
+                                                               Rule.seq ({
+                                                                       Rule.one_of({
+                                                                               TokenType.SPACE,
+                                                                               TokenType.EOL
+                                                                       }),
+                                                                       taglet_rule
+                                                               })
+                                                       );
                                                }
                                        }),
                                        TokenType.CLOSED_BRACE
diff --git a/src/libvaladoc/taglets/tagletlink.vala b/src/libvaladoc/taglets/tagletlink.vala
index b489a58..70fc21a 100644
--- a/src/libvaladoc/taglets/tagletlink.vala
+++ b/src/libvaladoc/taglets/tagletlink.vala
@@ -52,7 +52,14 @@ public class Valadoc.Taglets.Link : InlineTaglet {
 
        public override Rule? get_parser_rule (Rule run_rule) {
                return Rule.seq ({
-                       Rule.option ({ Rule.many ({ TokenType.SPACE }) }),
+                       Rule.option ({
+                               Rule.many ({
+                                       Rule.one_of({
+                                               TokenType.SPACE,
+                                               TokenType.EOL
+                                       }),
+                               }),
+                       }),
                        TokenType.any_word ().action ((token) => { symbol_name = token.to_string (); }),
                        Rule.option ({
                                Rule.many ({


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]