Class: VER::Status::NanoPosition
- Defined in:
- lib/ver/status/nano_position.rb
Instance Attribute Summary
Attributes inherited from Label
#column, #format, #row, #status, #sticky, #variable, #weight
Instance Method Summary collapse
Methods inherited from Label
#buffer, #destroyed?, #initialize, #on_destroy, #register, #update
Methods included from LabelToggle
Constructor Details
This class inherits a constructor from VER::Status::Label
Instance Method Details
#setup ⇒ Object
4 5 6 |
# File 'lib/ver/status/nano_position.rb', line 4 def setup register :position end |
#style=(config) ⇒ Object
8 9 10 |
# File 'lib/ver/status/nano_position.rb', line 8 def style=(config) configure(config) end |
#to_s ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/ver/status/nano_position.rb', line 12 def to_s line_now = buffer.count(1.0, :insert, :lines) + 1 line_total = buffer.count(1.0, :end, :lines) line_percent = ((100.0 / line_total) * line_now) line_percent = 0 if line_percent.nan? col_now = buffer.count('insert linestart', :insert, :chars) + 1 col_total = buffer.count('insert linestart', 'insert lineend', :chars) + 1 col_percent = ((100.0 / col_total) * col_now) col_percent = 0 if col_percent.nan? char_now = buffer.count(1.0, :insert, :chars) char_total = buffer.count(1.0, :end, :chars) - 1 char_percent = ((100.0 / char_total) * char_now) char_percent = 0 if char_percent.nan? inner = "%d/%d (%d%%), %d/%d (%d%%), %d/%d (%d%%)" % [ line_now, line_total, line_percent.round, col_now, col_total, col_percent.round, char_now, char_total, char_percent.round, ] "[ #{inner} ]" end |