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