Chris@909: module CodeRay Chris@909: module Encoders Chris@909: Chris@909: # Concats the tokens into a single string, resulting in the original Chris@909: # code string if no tokens were removed. Chris@909: # Chris@909: # Alias: +plain+, +plaintext+ Chris@909: # Chris@909: # == Options Chris@909: # Chris@909: # === :separator Chris@909: # A separator string to join the tokens. Chris@909: # Chris@909: # Default: empty String Chris@909: class Text < Encoder Chris@909: Chris@909: register_for :text Chris@909: Chris@909: FILE_EXTENSION = 'txt' Chris@909: Chris@909: DEFAULT_OPTIONS = { Chris@909: :separator => nil Chris@909: } Chris@909: Chris@909: def text_token text, kind Chris@909: super Chris@909: Chris@909: if @first Chris@909: @first = false Chris@909: else Chris@909: @out << @sep Chris@909: end if @sep Chris@909: end Chris@909: Chris@909: protected Chris@909: def setup options Chris@909: super Chris@909: Chris@909: @first = true Chris@909: @sep = options[:separator] Chris@909: end Chris@909: Chris@909: end Chris@909: Chris@909: end Chris@909: end