All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gems.sass-3.5.5.lib.sass.source.position.rb Maven / Gradle / Ivy

There is a newer version: 3.7.2
Show newest version
module Sass::Source
  class Position
    # The one-based line of the document associated with the position.
    #
    # @return [Integer]
    attr_accessor :line

    # The one-based offset in the line of the document associated with the
    # position.
    #
    # @return [Integer]
    attr_accessor :offset

    # @param line [Integer] The source line
    # @param offset [Integer] The source offset
    def initialize(line, offset)
      @line = line
      @offset = offset
    end

    # @return [String] A string representation of the source position.
    def inspect
      "#{line.inspect}:#{offset.inspect}"
    end

    # @param str [String] The string to move through.
    # @return [Position] The source position after proceeding forward through
    #   `str`.
    def after(str)
      newlines = str.count("\n")
      Position.new(line + newlines,
        if newlines == 0
          offset + str.length
        else
          str.length - str.rindex("\n") - 1
        end)
    end
  end
end




© 2015 - 2025 Weber Informatics LLC | Privacy Policy