Sha256: dd2546ca2b38c6dc80553a906aa00231cb719160b434d3be23bc11e4ecb4e177
Contents?: true
Size: 794 Bytes
Versions: 3
Compression:
Stored size: 794 Bytes
Contents
module Todoloo class Transformer < Parslet::Transform rule(file: subtree(:x)) { x.compact } rule(lines: subtree(:x)) { x } rule(line: {code: subtree(:x)}) { nil } rule(line: {code: subtree(:x), comment: subtree(:y)}) { y } # Discard lines with only code and comments without tasks rule(line: {code: subtree(:x), comment: simple(:y)}) { nil } rule(line: {comment: subtree(:x)}) { x } rule(line: {comment: simple(:x)}) { nil } rule(type: simple(:type), topics: sequence(:topics), description: sequence(:description)) do {type: type, topics: topics, description: description.empty? ? "" : (raise "must be empty")} end rule(topic: simple(:x)) { x } rule(task: subtree(:task)) { task } rule([{text: simple(:x)}]) { x } end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
todoloo-0.0.3 | lib/todoloo/transformer.rb |
todoloo-0.0.2 | lib/todoloo/transformer.rb |
todoloo-0.0.1 | lib/todoloo/transformer.rb |