Sha256: 5a6f6556a0ba776538873d96e3846c0d881bf827d9934c5bed9b611c44c87029

Contents?: true

Size: 672 Bytes

Versions: 12

Compression:

Stored size: 672 Bytes

Contents

# frozen_string_literal: true
##
# An array of attributes which parallels the characters in a string.

class RDoc::Markup::AttrSpan

  ##
  # Creates a new AttrSpan for +length+ characters

  def initialize(length, exclusive)
    @attrs = Array.new(length, 0)
    @exclusive = exclusive
  end

  ##
  # Toggles +bits+ from +start+ to +length+
  def set_attrs(start, length, bits)
    updated = false
    for i in start ... (start+length)
      if (@exclusive & @attrs[i]) == 0 || (@exclusive & bits) != 0
        @attrs[i] |= bits
        updated = true
      end
    end
    updated
  end

  ##
  # Accesses flags for character +n+

  def [](n)
    @attrs[n]
  end

end

Version data entries

12 entries across 12 versions & 3 rubygems

Version Path
rdoc-6.5.1.1 lib/rdoc/markup/attr_span.rb
rdoc-6.4.1.1 lib/rdoc/markup/attr_span.rb
rdoc-6.3.4.1 lib/rdoc/markup/attr_span.rb
rdoc-6.5.0 lib/rdoc/markup/attr_span.rb
ric-0.14.2 vendor/bundle/ruby/2.7.0/gems/rdoc-6.4.0/lib/rdoc/markup/attr_span.rb
ric-0.14.1 vendor/bundle/ruby/2.7.0/gems/rdoc-6.4.0/lib/rdoc/markup/attr_span.rb
ric-0.14.0 vendor/bundle/ruby/2.7.0/gems/rdoc-6.4.0/lib/rdoc/markup/attr_span.rb
rdoc-6.4.0 lib/rdoc/markup/attr_span.rb
rdoc-6.3.3 lib/rdoc/markup/attr_span.rb
rdoc-6.3.2 lib/rdoc/markup/attr_span.rb
gitlab-rdoc-6.3.2 lib/rdoc/markup/attr_span.rb
rdoc-6.3.1 lib/rdoc/markup/attr_span.rb