Class: Kramdown::Merge::Backend::Node
- Inherits:
-
TreeHaver::Base::Node
- Object
- TreeHaver::Base::Node
- Kramdown::Merge::Backend::Node
- Defined in:
- lib/kramdown/merge/backend.rb
Constant Summary collapse
- TYPE_MAP =
{ root: 'document', header: 'heading', codeblock: 'code_block', p: 'paragraph' }.freeze
Instance Method Summary collapse
- #children ⇒ Object
- #end_byte ⇒ Object
- #end_point ⇒ Object
- #raw_type ⇒ Object
- #start_byte ⇒ Object
- #start_point ⇒ Object
- #text ⇒ Object
- #type ⇒ Object (also: #kind)
Instance Method Details
#children ⇒ Object
80 81 82 |
# File 'lib/kramdown/merge/backend.rb', line 80 def children Array(inner_node.children).map { |child| self.class.new(child, source: source, lines: lines) } end |
#end_byte ⇒ Object
97 98 99 |
# File 'lib/kramdown/merge/backend.rb', line 97 def end_byte calculate_byte_offset(end_point.row, end_point.column) end |
#end_point ⇒ Object
89 90 91 |
# File 'lib/kramdown/merge/backend.rb', line 89 def end_point Point.new([start_point.row + text.lines.count - 1, start_point.row].max, 0) end |
#raw_type ⇒ Object
69 70 71 |
# File 'lib/kramdown/merge/backend.rb', line 69 def raw_type inner_node.type.to_s end |
#start_byte ⇒ Object
93 94 95 |
# File 'lib/kramdown/merge/backend.rb', line 93 def start_byte calculate_byte_offset(start_point.row, start_point.column) end |
#start_point ⇒ Object
84 85 86 87 |
# File 'lib/kramdown/merge/backend.rb', line 84 def start_point line = [inner_node..fetch(:location, 1).to_i - 1, 0].max Point.new(line, 0) end |
#text ⇒ Object
73 74 75 76 77 78 |
# File 'lib/kramdown/merge/backend.rb', line 73 def text return inner_node.value.to_s if inner_node.value return inner_node.[:raw_text].to_s if inner_node..key?(:raw_text) children.map(&:text).join end |
#type ⇒ Object Also known as: kind
63 64 65 |
# File 'lib/kramdown/merge/backend.rb', line 63 def type TYPE_MAP.fetch(raw_type.to_sym, raw_type) end |