Mercurial > hg > soundsoftware-site
view .svn/pristine/66/66ab50d76f6f50210c09955e4a16c4d364df47ff.svn-base @ 1423:40e82f170353 biblio_alt_search_auth
small adjustments to text box size.
author | luisf <luis.figueira@eecs.qmul.ac.uk> |
---|---|
date | Wed, 02 Oct 2013 16:47:03 +0100 |
parents | cbb26bc654de |
children |
line wrap: on
line source
module CodeRay module Encoders load :filter # A Filter that selects tokens based on their token kind. # # == Options # # === :exclude # # One or many symbols (in an Array) which shall be excluded. # # Default: [] # # === :include # # One or many symbols (in an array) which shall be included. # # Default: :all, which means all tokens are included. # # Exclusion wins over inclusion. # # See also: CommentFilter class TokenKindFilter < Filter register_for :token_kind_filter DEFAULT_OPTIONS = { :exclude => [], :include => :all } protected def setup options super @group_excluded = false @exclude = options[:exclude] @exclude = Array(@exclude) unless @exclude == :all @include = options[:include] @include = Array(@include) unless @include == :all end def include_text_token? text, kind include_group? kind end def include_group? kind (@include == :all || @include.include?(kind)) && !(@exclude == :all || @exclude.include?(kind)) end public # Add the token to the output stream if +kind+ matches the conditions. def text_token text, kind super if !@group_excluded && include_text_token?(text, kind) end # Add the token group to the output stream if +kind+ matches the # conditions. # # If it does not, all tokens inside the group are excluded from the # stream, even if their kinds match. def begin_group kind if @group_excluded @group_excluded += 1 elsif include_group? kind super else @group_excluded = 1 end end # See +begin_group+. def begin_line kind if @group_excluded @group_excluded += 1 elsif include_group? kind super else @group_excluded = 1 end end # Take care of re-enabling the delegation of tokens to the output stream # if an exluded group has ended. def end_group kind if @group_excluded @group_excluded -= 1 @group_excluded = false if @group_excluded.zero? else super end end # See +end_group+. def end_line kind if @group_excluded @group_excluded -= 1 @group_excluded = false if @group_excluded.zero? else super end end end end end