From 4acf520a94968b24b4ee35b04129bfae0884eca5 Mon Sep 17 00:00:00 2001 From: Holger Rapp Date: Thu, 9 Jul 2009 14:24:43 +0200 Subject: [PATCH] Range is now Span --- plugin/PySnipEmu/Geometry.py | 4 +-- plugin/PySnipEmu/TextObjects.py | 47 +++++++++++++++------------------ plugin/PySnipEmu/__init__.py | 10 +++---- 3 files changed, 28 insertions(+), 33 deletions(-) diff --git a/plugin/PySnipEmu/Geometry.py b/plugin/PySnipEmu/Geometry.py index d36dfc0..857beda 100644 --- a/plugin/PySnipEmu/Geometry.py +++ b/plugin/PySnipEmu/Geometry.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # encoding: utf-8 -__all__ = [ "Position", "Range" ] +__all__ = [ "Position", "Span" ] class Position(object): @@ -48,7 +48,7 @@ class Position(object): def __repr__(self): return "(%i,%i)" % (self._line, self._col) -class Range(object): +class Span(object): def __init__(self, start, end): self._s = start self._e = end diff --git a/plugin/PySnipEmu/TextObjects.py b/plugin/PySnipEmu/TextObjects.py index 7168b5a..dad8c6d 100644 --- a/plugin/PySnipEmu/TextObjects.py +++ b/plugin/PySnipEmu/TextObjects.py @@ -4,7 +4,7 @@ import re from PySnipEmu.Buffer import TextBuffer -from PySnipEmu.Geometry import Range, Position +from PySnipEmu.Geometry import Span, Position __all__ = [ "Mirror", "Transformation", "SnippetInstance", "StartMarker" ] @@ -38,11 +38,13 @@ class TextObject(object): self._current_text = initial_text - # TODO: span or range. To use both is not clever - def span(self): - return Range(self._start, self._end) - span = property(span) + def __cmp__(self, other): + return cmp(self._start, other._start) + + ############## + # PROPERTIES # + ############## def abs_start(self): if self._parent: ps = self._parent.abs_start @@ -64,12 +66,21 @@ class TextObject(object): return self._end abs_end = property(abs_end) - def abs_range(self): - return Range(self.abs_start, self.abs_end) - abs_range = property(abs_range) + def span(self): + return Span(self._start, self._end) + span = property(span) - def __cmp__(self, other): - return cmp(self._start, other._start) + def start(self): + return self._start + start = property(start) + + def end(self): + return self._end + end = property(end) + + def abs_span(self): + return Span(self.abs_start, self.abs_end) + abs_span = property(abs_span) def _do_update(self): pass @@ -222,22 +233,6 @@ class TextObject(object): self._children.append(c) self._children.sort() - def parent(): - doc = "The parent TextObject this TextObject resides in" - def fget(self): - return self._parent - def fset(self, value): - self._parent = value - return locals() - parent = property(**parent()) - - def start(self): - return self._start - start = property(start) - - def end(self): - return self._end - end = property(end) class ChangeableText(TextObject): def __init__(self, parent, start, end, initial = ""): diff --git a/plugin/PySnipEmu/__init__.py b/plugin/PySnipEmu/__init__.py index f582089..38476a0 100644 --- a/plugin/PySnipEmu/__init__.py +++ b/plugin/PySnipEmu/__init__.py @@ -87,7 +87,7 @@ class VimState(object): self._text_changed = self._lline != vim.current.buffer[line] self._lline = vim.current.buffer[line] - def select_range(self, r): + def select_span(self, r): delta = r.end - r.start lineno, col = r.start.line, r.start.col @@ -220,7 +220,7 @@ class SnippetManager(object): self._expect_move_wo_change = True self._ctab = self._csnippet.select_next_tab(backwards) if self._ctab: - self._vstate.select_range(self._ctab.abs_range) + self._vstate.select_span(self._ctab.abs_span) self._tab_selected = True else: self._csnippet = None @@ -279,7 +279,7 @@ class SnippetManager(object): self._ctab = self._csnippet.select_next_tab() if self._ctab is not None: self._tab_selected = True - self._vstate.select_range(self._ctab.abs_range) + self._vstate.select_span(self._ctab.abs_span) self._vstate.update() @@ -294,7 +294,7 @@ class SnippetManager(object): # Did we leave the snippet with this movement? if self._csnippet and not \ - (self._vstate.pos in self._csnippet.abs_range): + (self._vstate.pos in self._csnippet.abs_span): self.reset() if not self._ctab: @@ -354,7 +354,7 @@ class SnippetManager(object): if self._csnippet and self._tab_selected: # This only happens when a default value is delted using backspace - old_range = self._csnippet.abs_range + old_span = self._csnippet.abs_span vim.command(r'call feedkeys("i")') self._chars_entered('')