Sha256: 8eb73251575ba38e8899f746be92c1434db27cd5c869e7aa40bc5685808619e0

Contents?: true

Size: 492 Bytes

Versions: 19

Compression:

Stored size: 492 Bytes

Contents

require 'temple'

module Faml
  class Newline < Temple::Filter
    def on_multi(*exprs)
      i = exprs.size-1
      marker = false
      while i >= 0
        case exprs[i]
        when [:rmnl]
          marker = true
          exprs.delete_at(i)
        when [:mknl]
          if marker
            marker = false
            exprs.delete_at(i)
          else
            exprs[i] = [:static, "\n"]
          end
        end
        i -= 1
      end
      [:multi, *exprs]
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
faml-0.3.2 lib/faml/newline.rb
faml-0.3.1 lib/faml/newline.rb
faml-0.3.0 lib/faml/newline.rb
faml-0.2.16 lib/faml/newline.rb
faml-0.2.15 lib/faml/newline.rb
faml-0.2.14 lib/faml/newline.rb
faml-0.2.13 lib/faml/newline.rb
faml-0.2.12 lib/faml/newline.rb
faml-0.2.11 lib/faml/newline.rb
faml-0.2.10 lib/faml/newline.rb
faml-0.2.9 lib/faml/newline.rb
faml-0.2.8 lib/faml/newline.rb
faml-0.2.7 lib/faml/newline.rb
faml-0.2.6 lib/faml/newline.rb
faml-0.2.5 lib/faml/newline.rb
faml-0.2.4 lib/faml/newline.rb
faml-0.2.3 lib/faml/newline.rb
faml-0.2.2 lib/faml/newline.rb
faml-0.2.1 lib/faml/newline.rb