annotate .svn/pristine/b9/b982f3bb626cbc93a53ddb7f7ab16811202b4d33.svn-base @ 1524:82fac3dcf466 redmine-2.5-integration

Fix failure to interpret Javascript when autocompleting members for project
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Thu, 11 Sep 2014 10:24:38 +0100
parents cbb26bc654de
children
rev   line source
Chris@909 1 module CodeRay
Chris@909 2 module Encoders
Chris@909 3
Chris@909 4 # A Filter encoder has another Tokens instance as output.
Chris@909 5 # It can be subclass to select, remove, or modify tokens in the stream.
Chris@909 6 #
Chris@909 7 # Subclasses of Filter are called "Filters" and can be chained.
Chris@909 8 #
Chris@909 9 # == Options
Chris@909 10 #
Chris@909 11 # === :tokens
Chris@909 12 #
Chris@909 13 # The Tokens object which will receive the output.
Chris@909 14 #
Chris@909 15 # Default: Tokens.new
Chris@909 16 #
Chris@909 17 # See also: TokenKindFilter
Chris@909 18 class Filter < Encoder
Chris@909 19
Chris@909 20 register_for :filter
Chris@909 21
Chris@909 22 protected
Chris@909 23 def setup options
Chris@909 24 super
Chris@909 25
Chris@909 26 @tokens = options[:tokens] || Tokens.new
Chris@909 27 end
Chris@909 28
Chris@909 29 def finish options
Chris@909 30 output @tokens
Chris@909 31 end
Chris@909 32
Chris@909 33 public
Chris@909 34
Chris@909 35 def text_token text, kind # :nodoc:
Chris@909 36 @tokens.text_token text, kind
Chris@909 37 end
Chris@909 38
Chris@909 39 def begin_group kind # :nodoc:
Chris@909 40 @tokens.begin_group kind
Chris@909 41 end
Chris@909 42
Chris@909 43 def begin_line kind # :nodoc:
Chris@909 44 @tokens.begin_line kind
Chris@909 45 end
Chris@909 46
Chris@909 47 def end_group kind # :nodoc:
Chris@909 48 @tokens.end_group kind
Chris@909 49 end
Chris@909 50
Chris@909 51 def end_line kind # :nodoc:
Chris@909 52 @tokens.end_line kind
Chris@909 53 end
Chris@909 54
Chris@909 55 end
Chris@909 56
Chris@909 57 end
Chris@909 58 end