diff options
Diffstat (limited to 'lib/rdoc/token_stream.rb')
| -rw-r--r-- | lib/rdoc/token_stream.rb | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/lib/rdoc/token_stream.rb b/lib/rdoc/token_stream.rb deleted file mode 100644 index b0035227fa..0000000000 --- a/lib/rdoc/token_stream.rb +++ /dev/null @@ -1,96 +0,0 @@ -# frozen_string_literal: false -## -# A TokenStream is a list of tokens, gathered during the parse of some entity -# (say a method). Entities populate these streams by being registered with the -# lexer. Any class can collect tokens by including TokenStream. From the -# outside, you use such an object by calling the start_collecting_tokens -# method, followed by calls to add_token and pop_token. - -module RDoc::TokenStream - - ## - # Converts +token_stream+ to HTML wrapping various tokens with - # <tt><span></tt> elements. The following tokens types are wrapped in spans - # with the given class names: - # - # TkCONSTANT :: 'ruby-constant' - # TkKW :: 'ruby-keyword' - # TkIVAR :: 'ruby-ivar' - # TkOp :: 'ruby-operator' - # TkId :: 'ruby-identifier' - # TkNode :: 'ruby-node' - # TkCOMMENT :: 'ruby-comment' - # TkREGEXP :: 'ruby-regexp' - # TkSTRING :: 'ruby-string' - # TkVal :: 'ruby-value' - # - # Other token types are not wrapped in spans. - - def self.to_html token_stream - token_stream.map do |t| - next unless t - - style = case t - when RDoc::RubyToken::TkCONSTANT then 'ruby-constant' - when RDoc::RubyToken::TkKW then 'ruby-keyword' - when RDoc::RubyToken::TkIVAR then 'ruby-ivar' - when RDoc::RubyToken::TkOp then 'ruby-operator' - when RDoc::RubyToken::TkId then 'ruby-identifier' - when RDoc::RubyToken::TkNode then 'ruby-node' - when RDoc::RubyToken::TkCOMMENT then 'ruby-comment' - when RDoc::RubyToken::TkREGEXP then 'ruby-regexp' - when RDoc::RubyToken::TkSTRING then 'ruby-string' - when RDoc::RubyToken::TkVal then 'ruby-value' - end - - text = CGI.escapeHTML t.text - - if style then - "<span class=\"#{style}\">#{text}</span>" - else - text - end - end.join - end - - ## - # Adds +tokens+ to the collected tokens - - def add_tokens(*tokens) - tokens.flatten.each { |token| @token_stream << token } - end - - alias add_token add_tokens - - ## - # Starts collecting tokens - - def collect_tokens - @token_stream = [] - end - - alias start_collecting_tokens collect_tokens - - ## - # Remove the last token from the collected tokens - - def pop_token - @token_stream.pop - end - - ## - # Current token stream - - def token_stream - @token_stream - end - - ## - # Returns a string representation of the token stream - - def tokens_to_s - token_stream.compact.map { |token| token.text }.join '' - end - -end - |
