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
begin_group(kind)

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
begin_line(kind)
# 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
end_group(kind)

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
end_line(kind)

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
text_token(text, kind)

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