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
Methods
Constants
| DEFAULT_OPTIONS | = | { :exclude => [], :include => :all |
Public Instance methods
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.
# File lib/coderay/encoders/token_kind_filter.rb, line 66 def begin_group kind if @group_excluded @group_excluded += 1 elsif include_group? kind super else @group_excluded = 1 end end
See begin_group.
# File lib/coderay/encoders/token_kind_filter.rb, line 77 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.
# File lib/coderay/encoders/token_kind_filter.rb, line 89 def end_group kind if @group_excluded @group_excluded -= 1 @group_excluded = false if @group_excluded.zero? else super end end
See end_group.
# File lib/coderay/encoders/token_kind_filter.rb, line 99 def end_line kind if @group_excluded @group_excluded -= 1 @group_excluded = false if @group_excluded.zero? else super end end
Add the token to the output stream if kind matches the conditions.
# File lib/coderay/encoders/token_kind_filter.rb, line 57 def text_token text, kind super if !@group_excluded && include_text_token?(text, kind) end
