Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Francis <francis@sugarlabs.org>2012-09-08 23:00:22 (GMT)
committer Daniel Francis <francis@sugarlabs.org>2012-09-08 23:00:22 (GMT)
commit8f6502a5fbf6c77dbef8d94a5ed6a851b8d3566a (patch)
treed6b6eaab5d5629f47c5549be83e419d345f77d5b
parenta3800a37971a073b2d8e9df3ef8f2fbc8f302113 (diff)
Complete word-chars setter
-rw-r--r--sugarvte/vteview.py26
1 files changed, 18 insertions, 8 deletions
diff --git a/sugarvte/vteview.py b/sugarvte/vteview.py
index f4843f3..3a789c1 100644
--- a/sugarvte/vteview.py
+++ b/sugarvte/vteview.py
@@ -65,19 +65,29 @@ treat all graphic non-punctuation non-space characters as word characters.
if spec == None or spec[0] == '\0':
self.notify('word-chars')
ubuf = unicode(spec)
- count = 0
- for i in ubuf:
- if i == '-':
- range.start = i
- range.end = i
+ i = -1
+ while i < len(ubuf):
+ i += 1
+ if ubuf[i] == '-':
+ range.start = ubuf[i]
+ range.end = ubuf[i]
self.word_chars.append(range)
logger.debug('Word charset includes hypen')
continue
- if ubuf[1] != '-' and ubuf[count + 1] != '-':
- range.start = i
- range.end = i
+ if ubuf[i] != '-' and ubuf[i + 1] != '-':
+ range.start = ubuf[i]
+ range.end = ubuf[i]
self.word_chars.append(range)
continue
+ if ubuf[i] != '-' and\
+ ubuf[i + 1] == u'-' and\
+ ubuf[i + 2] != u'-' and\
+ ubuf[i + 2] != unichr(0):
+ range.start = ubuf[i]
+ range.end = ubuf[i + 1]
+ self.word_chars.append(range)
+ continue
+ self.notify('word-chars')
if __name__ == "__main__":