Class: Textbringer::Mark

Inherits:
Object
  • Object
show all
Defined in:
lib/textbringer/buffer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(buffer, location) ⇒ Mark

Returns a new instance of Mark.



1737
1738
1739
1740
1741
# File 'lib/textbringer/buffer.rb', line 1737

def initialize(buffer, location)
  @buffer = buffer
  @file_name = nil
  @location = location
end

Instance Attribute Details

#bufferObject (readonly)

Returns the value of attribute buffer.



1734
1735
1736
# File 'lib/textbringer/buffer.rb', line 1734

def buffer
  @buffer
end

#file_nameObject (readonly)

Returns the value of attribute file_name.



1734
1735
1736
# File 'lib/textbringer/buffer.rb', line 1734

def file_name
  @file_name
end

#locationObject

Returns the value of attribute location.



1735
1736
1737
# File 'lib/textbringer/buffer.rb', line 1735

def location
  @location
end

Instance Method Details

#deleteObject



1747
1748
1749
1750
1751
# File 'lib/textbringer/buffer.rb', line 1747

def delete
  if @buffer
    @buffer.marks.delete(self)
  end
end

#deleted?Boolean

Returns:

  • (Boolean)


1753
1754
1755
# File 'lib/textbringer/buffer.rb', line 1753

def deleted?
  !@buffer.marks.include?(self)
end

#detachObject



1757
1758
1759
1760
1761
1762
# File 'lib/textbringer/buffer.rb', line 1757

def detach
  if @buffer
    @file_name = @buffer.file_name
    @buffer = nil
  end
end

#detached?Boolean

Returns:

  • (Boolean)


1764
1765
1766
# File 'lib/textbringer/buffer.rb', line 1764

def detached?
  @buffer.nil?
end

#dupObject



1768
1769
1770
1771
1772
# File 'lib/textbringer/buffer.rb', line 1768

def dup
  mark = @buffer.new_mark
  mark.location = @location
  mark
end

#inspectObject



1743
1744
1745
# File 'lib/textbringer/buffer.rb', line 1743

def inspect
  "#<Mark:#{@buffer&.name || @file_name}:#{@location}>"
end