Changeset 1836
- Timestamp:
- 10/22/06 12:29:30 (2 years ago)
- Files:
-
- pyreadline/branches/refactor/doc/ChangeLog (modified) (1 diff)
- pyreadline/branches/refactor/pyreadline/keysyms/common.py (modified) (1 diff)
- pyreadline/branches/refactor/pyreadline/lineeditor/history.py (modified) (4 diffs)
- pyreadline/branches/refactor/pyreadline/logger.py (modified) (1 diff)
- pyreadline/branches/refactor/pyreadline/modes/basemode.py (modified) (1 diff)
- pyreadline/branches/refactor/pyreadline/modes/vi.py (modified) (2 diffs)
- pyreadline/branches/refactor/pyreadline/test/common.py (modified) (2 diffs)
- pyreadline/branches/refactor/pyreadline/test/emacs_test.py (modified) (1 diff)
- pyreadline/branches/refactor/pyreadline/test/vi_test.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
pyreadline/branches/refactor/doc/ChangeLog
r1834 r1836 1 2006-10-19 Jörgen Stenarson <jorgen.stenarson -at- bostream.nu> 2 * Fixed bug in history_search_* 3 * Fixed bug in beginning_of_line_extend_selection and end_of_line_extend_selection 4 * Fixd bugs to make vi_test work again, one test failure remains 5 * 6 7 1 8 2006-10-19 Jörgen Stenarson <jorgen.stenarson -at- bostream.nu> 2 9 * Adding argument handling. pyreadline/branches/refactor/pyreadline/keysyms/common.py
r1775 r1836 98 98 else: 99 99 if len(keydescr) > 1: 100 if keydescr.strip() in validkey:101 keyinfo.keyname=keydescr.strip() 100 if keydescr.strip().lower() in validkey: 101 keyinfo.keyname=keydescr.strip().lower() 102 102 keyinfo.char="" 103 103 else: pyreadline/branches/refactor/pyreadline/lineeditor/history.py
r1830 r1836 102 102 if startpos is None: 103 103 startpos=self.history_cursor 104 res=[(idx,line) for idx,line in enumerate(self.history[startpos:0:-1]) if searchfor in line]104 res=[(idx,line) for idx,line in enumerate(self.history[startpos:0:-1]) if line.startswith(searchfor)] 105 105 if res: 106 106 self.history_cursor-=res[0][0] … … 111 111 if startpos is None: 112 112 startpos=self.history_cursor 113 res=[(idx,line) for idx,line in enumerate(self.history[startpos:]) if searchfor in line]113 res=[(idx,line) for idx,line in enumerate(self.history[startpos:]) if line.startswith(searchfor)] 114 114 if res: 115 115 self.history_cursor+=res[0][0] … … 168 168 self.lastcommand != self.history_search_backward): 169 169 self.query = ''.join(partial[0:partial.point].get_line_text()) 170 hcstart=max(self.history_cursor -1,0)170 hcstart=max(self.history_cursor,0) 171 171 hc = self.history_cursor + direction 172 172 while (direction < 0 and hc >= 0) or (direction > 0 and hc < len(self.history)): … … 211 211 q=LineHistory() 212 212 RL=lineobj.ReadLineTextBuffer 213 q.add_history(RL("apan")) 214 q.add_history(RL("apbn")) 215 q.add_history(RL("apcn")) 216 q.add_history(RL("apdn")) 217 q.add_history(RL("apen")) 213 q.add_history(RL("aaaa")) 214 q.add_history(RL("aaba")) 215 q.add_history(RL("aaca")) 216 q.add_history(RL("akca")) 217 q.add_history(RL("bbb")) 218 q.add_history(RL("ako")) pyreadline/branches/refactor/pyreadline/logger.py
r1832 r1836 30 30 show_event=["bound_function"] 31 31 32 sock_silent=False 33 32 34 def log_sock(s,event_type=None): 33 if event_type is None: 34 logsocket.sendto(s,(host,port)) 35 elif event_type in show_event: 36 logsocket.sendto(s,(host,port)) 35 if sock_silent: 36 pass 37 37 else: 38 pass 39 38 if event_type is None: 39 logsocket.sendto(s,(host,port)) 40 elif event_type in show_event: 41 logsocket.sendto(s,(host,port)) 42 else: 43 pass 44 40 45 41 46 log_sock("Starting pyreadline") pyreadline/branches/refactor/pyreadline/modes/basemode.py
r1834 r1836 266 266 def beginning_of_line_extend_selection(self, e): # 267 267 '''Move to the start of the current line. ''' 268 self.l_buffer.beginning_of_line_extend_selection( self.argument_reset)268 self.l_buffer.beginning_of_line_extend_selection() 269 269 270 270 def end_of_line_extend_selection(self, e): # 271 271 '''Move to the end of the line. ''' 272 self.l_buffer.end_of_line_extend_selection( self.argument_reset)272 self.l_buffer.end_of_line_extend_selection() 273 273 274 274 def forward_char_extend_selection(self, e): # pyreadline/branches/refactor/pyreadline/modes/vi.py
r1419 r1836 10 10 import os 11 11 import pyreadline.logger as logger 12 from pyreadline.logger import log 12 from pyreadline.logger import log,log_sock 13 13 import pyreadline.lineeditor.lineobj as lineobj 14 14 import pyreadline.lineeditor.history as history … … 39 39 raise EOFError 40 40 41 dispatch_func = self.key_dispatch.get(event.keyinfo ,self.self_insert)42 log("readline from keyboard:%s "%(event.keyinfo,))41 dispatch_func = self.key_dispatch.get(event.keyinfo.tuple(),self.vi_key) 42 log("readline from keyboard:%s->%s"%(event.keyinfo.tuple(),dispatch_func)) 43 43 r = None 44 44 if dispatch_func: pyreadline/branches/refactor/pyreadline/test/common.py
r1267 r1836 9 9 from pyreadline import keysyms 10 10 from pyreadline.lineeditor import lineobj 11 from pyreadline.keysyms import key_text_to_keyinfo 11 from pyreadline.keysyms.common import make_KeyPress_from_keydescr 12 12 13 import unittest 13 14 class MockReadline: … … 52 53 class Event: 53 54 def __init__ (self, char): 54 self.char = char 55 if char=="escape": 56 self.char='\x1b' 57 elif char=="backspace": 58 self.char='\x08' 59 else: 60 self.char = char 55 61 56 62 def keytext_to_keyinfo_and_event (keytext): 57 keyinfo = keysyms. key_text_to_keyinfo(keytext)63 keyinfo = keysyms.common.make_KeyPress_from_keydescr (keytext) 58 64 if len(keytext) == 3 and keytext[0] == '"' and keytext[2] == '"': 59 65 event = Event (keytext[1]) 60 66 else: 61 event = Event ( chr (keyinfo [3]))67 event = Event (keyinfo.tuple() [3]) 62 68 return keyinfo, event 69 70 63 71 64 72 #override runTests from from main in unittest to remove sys.exit call pyreadline/branches/refactor/pyreadline/test/emacs_test.py
r1267 r1836 52 52 for key in lst_key: 53 53 keyinfo, event = keytext_to_keyinfo_and_event (key) 54 dispatch_func = self.key_dispatch.get(keyinfo ,self.self_insert)54 dispatch_func = self.key_dispatch.get(keyinfo.tuple(),self.self_insert) 55 55 self.tested_commands[dispatch_func.__name__]=dispatch_func 56 56 # print key,dispatch_func.__name__ 57 57 dispatch_func (event) 58 log_sock("emacs readline from keyboard:%s->%s"%(keyinfo.tuple(),dispatch_func)) 58 59 self.previous_func=dispatch_func 59 60 pyreadline/branches/refactor/pyreadline/test/vi_test.py
r1267 r1836 7 7 #***************************************************************************** 8 8 9 import sys, unittest 9 import sys, unittest,pdb 10 10 sys.path.append ('../..') 11 11 from pyreadline.modes.vi import * 12 12 from pyreadline import keysyms 13 13 from pyreadline.lineeditor import lineobj 14 from pyreadline.logger import log_sock 15 import pyreadline.logger as logger 16 from common import * 14 17 15 18 from common import * … … 50 53 for key in lst_key: 51 54 keyinfo, event = keytext_to_keyinfo_and_event (key) 52 dispatch_func = self.key_dispatch [keyinfo]55 dispatch_func = self.key_dispatch.get( keyinfo.tuple(),self.vi_key) 53 56 self.tested_commands[dispatch_func.__name__]=dispatch_func 54 57 dispatch_func (event)
