Sha256: a1cf51913cf3fb1d19bbbfa2046b1cd4b211755e25092a58b84828bf17a6028c

Contents?: true

Size: 671 Bytes

Versions: 14

Compression:

Stored size: 671 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

14 entries across 14 versions & 5 rubygems

Version Path
rdoc-6.11.0 lib/rdoc/markup/attr_span.rb
minato_ruby_api_client-0.2.2 vendor/bundle/ruby/3.2.0/gems/rdoc-6.7.0/lib/rdoc/markup/attr_span.rb
rdoc-6.10.0 lib/rdoc/markup/attr_span.rb
rdoc-6.9.1 lib/rdoc/markup/attr_span.rb
rdoc-6.9.0 lib/rdoc/markup/attr_span.rb
rdoc-6.8.1 lib/rdoc/markup/attr_span.rb
rdoc-6.8.0 lib/rdoc/markup/attr_span.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/rdoc-6.7.0/lib/rdoc/markup/attr_span.rb
tinymce-rails-7.1.2 vendor/bundle/ruby/3.3.0/gems/rdoc-6.7.0/lib/rdoc/markup/attr_span.rb
rdoc-6.6.3.1 lib/rdoc/markup/attr_span.rb
rdoc-6.6.2 lib/rdoc/markup/attr_span.rb
rdoc-6.6.1 lib/rdoc/markup/attr_span.rb
honeybadger-5.4.0 vendor/bundle/ruby/3.2.0/gems/rdoc-6.6.0/lib/rdoc/markup/attr_span.rb
rdoc-6.6.0 lib/rdoc/markup/attr_span.rb