Module: Coradoc::AsciiDoc::Parser::Text
- Included in:
- Base
- Defined in:
- lib/coradoc/asciidoc/parser/text.rb
Instance Method Summary collapse
- #attr_name ⇒ Object
-
#block_image ⇒ Object
block_image is defined in inline.rb with full syntax inline_image is defined in inline.rb for inline images (image:).
- #comment_block ⇒ Object
- #comment_line ⇒ Object
- #date ⇒ Object
- #digit ⇒ Object
- #digits ⇒ Object
- #email ⇒ Object
- #empty_line ⇒ Object
- #endline ⇒ Object
- #eof? ⇒ Boolean
- #file_path ⇒ Object
- #include_directive ⇒ Object
- #keyword ⇒ Object
- #line_end ⇒ Object
- #line_ending ⇒ Object
- #line_start? ⇒ Boolean
-
#newline ⇒ Object
def endline_single newline_single | any.absent? end.
- #newline_single ⇒ Object
- #rich_text ⇒ Object
- #rich_texts ⇒ Object
- #space ⇒ Object
- #space? ⇒ Boolean
- #special_character ⇒ Object
- #tag ⇒ Object
- #text ⇒ Object
- #word ⇒ Object
- #words ⇒ Object
Instance Method Details
#attr_name ⇒ Object
96 97 98 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 96 def attr_name match("[^\t\s]").repeat(1) end |
#block_image ⇒ Object
block_image is defined in inline.rb with full syntax inline_image is defined in inline.rb for inline images (image:)
115 116 117 118 119 120 121 122 123 124 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 115 def block_image (element_id.maybe >> block_title.maybe >> (attribute_list >> newline).maybe >> match('^i') >> str('mage::') >> file_path.as(:path) >> attribute_list(:attribute_list_macro) >> newline.as(:line_break) ).as(:block_image) end |
#comment_block ⇒ Object
146 147 148 149 150 151 152 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 146 def comment_block (str('////') >> line_ending >> ((line_ending >> str('////')).absent? >> any ).repeat.as(:comment_text) >> line_ending >> str('////') ).as(:comment_block) end |
#comment_line ⇒ Object
126 127 128 129 130 131 132 133 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 126 def comment_line tag.absent? >> (str('//') >> str('/').absent? >> space? >> text.maybe.as(:comment_text) >> line_ending.as(:line_break) ).as(:comment_line) end |
#date ⇒ Object
91 92 93 94 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 91 def date digit.repeat(2, 4) >> str('-') >> digit.repeat(1, 2) >> str('-') >> digit.repeat(1, 2) end |
#digit ⇒ Object
59 60 61 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 59 def digit match('[0-9]') end |
#digits ⇒ Object
63 64 65 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 63 def digits match('[0-9]').repeat(1) end |
#email ⇒ Object
83 84 85 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 83 def email word >> str('@') >> word >> str('.') >> word end |
#empty_line ⇒ Object
55 56 57 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 55 def empty_line str("\n") end |
#endline ⇒ Object
35 36 37 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 35 def endline newline | any.absent? end |
#eof? ⇒ Boolean
27 28 29 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 27 def eof? any.absent? end |
#file_path ⇒ Object
100 101 102 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 100 def file_path match('[^\[]').repeat(1) end |
#include_directive ⇒ Object
104 105 106 107 108 109 110 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 104 def include_directive (str('include::') >> file_path.as(:path) >> attribute_list >> (newline | str('')).as(:line_break) ).as(:include) end |
#keyword ⇒ Object
51 52 53 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 51 def keyword (match('[a-zA-Z0-9_\-.,]') | str('.')).repeat(1) end |
#line_end ⇒ Object
31 32 33 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 31 def line_end str("\n") | str("\r\n") | eof? end |
#line_ending ⇒ Object
23 24 25 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 23 def line_ending str("\n") # | match('[\z]')# | match('$') end |
#line_start? ⇒ Boolean
19 20 21 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 19 def line_start? match('^[^\n]').present? end |
#newline ⇒ Object
def endline_single
newline_single | any.absent?
end
43 44 45 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 43 def newline (str("\n") | str("\r\n")).repeat(1) end |
#newline_single ⇒ Object
47 48 49 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 47 def newline_single (str("\n") | str("\r\n")) end |
#rich_text ⇒ Object
79 80 81 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 79 def rich_text (match('[a-zA-Z0-9_-]') | str('.') | str('*') | match('@')).repeat(1) end |
#rich_texts ⇒ Object
75 76 77 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 75 def rich_texts rich_text >> (space? >> rich_text).repeat end |
#space ⇒ Object
11 12 13 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 11 def space str(' ').repeat(1) end |
#space? ⇒ Boolean
7 8 9 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 7 def space? space.maybe end |
#special_character ⇒ Object
87 88 89 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 87 def special_character match('^[*:=-]') | str('[#') | str('[[') end |
#tag ⇒ Object
135 136 137 138 139 140 141 142 143 144 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 135 def tag (str('//') >> str('/').absent? >> space? >> (str('tag') | str('end')).as(:prefix) >> str('::') >> str(':').absent? >> match('[^\[]').repeat(1).as(:name) >> attribute_list >> line_ending.maybe.as(:line_break) ).as(:tag) end |
#text ⇒ Object
15 16 17 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 15 def text match("[^\n]").repeat(1) end |
#word ⇒ Object
67 68 69 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 67 def word match('[a-zA-Z0-9_-]').repeat(1) end |
#words ⇒ Object
71 72 73 |
# File 'lib/coradoc/asciidoc/parser/text.rb', line 71 def words word >> (space? >> word).repeat end |