[pypy-commit] pyrepl codecheck-clean: finish codeclean commands
RonnyPfannschmidt
noreply at buildbot.pypy.org
Mon Feb 25 09:20:18 CET 2013
Author: Ronny Pfannschmidt <Ronny.Pfannschmidt at gmx.de>
Branch: codecheck-clean
Changeset: r234:c15e4771846b
Date: 2013-02-24 23:29 +0100
http://bitbucket.org/pypy/pyrepl/changeset/c15e4771846b/
Log: finish codeclean commands
diff --git a/pyrepl/commands.py b/pyrepl/commands.py
--- a/pyrepl/commands.py
+++ b/pyrepl/commands.py
@@ -19,7 +19,7 @@
# CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-import sys, os
+import os
# Catgories of actions:
# killing
@@ -30,6 +30,7 @@
# finishing
# [completion]
+
class Command(object):
finish = 0
kills_digit_arg = 1
@@ -42,6 +43,7 @@
def do(self):
pass
+
class KillCommand(Command):
def kill_range(self, start, end):
if start == end:
@@ -60,29 +62,37 @@
r.pos = start
r.dirty = 1
+
class YankCommand(Command):
pass
+
class MotionCommand(Command):
pass
+
class EditCommand(Command):
pass
+
class FinishCommand(Command):
finish = 1
pass
+
def is_kill(command):
return command and issubclass(command, KillCommand)
+
def is_yank(command):
return command and issubclass(command, YankCommand)
# etc
+
class digit_arg(Command):
kills_digit_arg = 0
+
def do(self):
r = self.reader
c = self.event[-1]
@@ -97,26 +107,30 @@
r.arg = d
else:
if r.arg < 0:
- r.arg = 10*r.arg - d
+ r.arg = 10 * r.arg - d
else:
- r.arg = 10*r.arg + d
+ r.arg = 10 * r.arg + d
r.dirty = 1
+
class clear_screen(Command):
def do(self):
r = self.reader
r.console.clear()
r.dirty = 1
+
class refresh(Command):
def do(self):
self.reader.dirty = 1
+
class repaint(Command):
def do(self):
self.reader.dirty = 1
self.reader.console.repaint_prep()
+
class kill_line(KillCommand):
def do(self):
r = self.reader
@@ -127,7 +141,8 @@
self.kill_range(r.pos, eol)
return
else:
- self.kill_range(r.pos, eol+1)
+ self.kill_range(r.pos, eol + 1)
+
class unix_line_discard(KillCommand):
def do(self):
@@ -137,24 +152,28 @@
# XXX unix_word_rubout and backward_kill_word should actually
# do different things...
+
class unix_word_rubout(KillCommand):
def do(self):
r = self.reader
for i in range(r.get_arg()):
self.kill_range(r.bow(), r.pos)
+
class kill_word(KillCommand):
def do(self):
r = self.reader
for i in range(r.get_arg()):
self.kill_range(r.pos, r.eow())
+
class backward_kill_word(KillCommand):
def do(self):
r = self.reader
for i in range(r.get_arg()):
self.kill_range(r.bow(), r.pos)
+
class yank(YankCommand):
def do(self):
r = self.reader
@@ -163,6 +182,7 @@
return
r.insert(r.kill_ring[-1])
+
class yank_pop(YankCommand):
def do(self):
r = self.reader
@@ -180,12 +200,14 @@
r.pos = r.pos - repl + len(t)
r.dirty = 1
+
class interrupt(FinishCommand):
def do(self):
import signal
self.reader.console.finish()
os.kill(os.getpid(), signal.SIGINT)
+
class suspend(Command):
def do(self):
import signal
@@ -201,6 +223,7 @@
r.dirty = 1
r.console.screen = []
+
class up(MotionCommand):
def do(self):
r = self.reader
@@ -213,7 +236,7 @@
r.pos = 0
r.error("start of buffer")
return
- bol2 = r.bol(bol1-1)
+ bol2 = r.bol(bol1 - 1)
line_pos = r.pos - bol1
if line_pos > bol1 - bol2 - 1:
r.sticky_y = line_pos
@@ -221,6 +244,7 @@
else:
r.pos = bol2 + line_pos
+
class down(MotionCommand):
def do(self):
r = self.reader
@@ -236,22 +260,24 @@
r.pos = len(b)
r.error("end of buffer")
return
- eol2 = r.eol(eol1+1)
+ eol2 = r.eol(eol1 + 1)
if r.pos - bol1 > eol2 - eol1 - 1:
r.pos = eol2
else:
r.pos = eol1 + (r.pos - bol1) + 1
+
class left(MotionCommand):
def do(self):
r = self.reader
- for i in range(r.get_arg()):
+ for i in range(r.get_arg()):
p = r.pos - 1
if p >= 0:
r.pos = p
else:
self.reader.error("start of buffer")
+
class right(MotionCommand):
def do(self):
r = self.reader
@@ -263,45 +289,53 @@
else:
self.reader.error("end of buffer")
+
class beginning_of_line(MotionCommand):
def do(self):
self.reader.pos = self.reader.bol()
+
class end_of_line(MotionCommand):
def do(self):
- r = self.reader
self.reader.pos = self.reader.eol()
+
class home(MotionCommand):
def do(self):
self.reader.pos = 0
-
+
+
class end(MotionCommand):
def do(self):
self.reader.pos = len(self.reader.buffer)
-
+
+
class forward_word(MotionCommand):
def do(self):
r = self.reader
for i in range(r.get_arg()):
r.pos = r.eow()
-
+
+
class backward_word(MotionCommand):
def do(self):
r = self.reader
for i in range(r.get_arg()):
r.pos = r.bow()
+
class self_insert(EditCommand):
def do(self):
r = self.reader
r.insert(self.event * r.get_arg())
+
class insert_nl(EditCommand):
def do(self):
r = self.reader
r.insert("\n" * r.get_arg())
+
class transpose_characters(EditCommand):
def do(self):
r = self.reader
@@ -319,6 +353,7 @@
r.pos = t
r.dirty = 1
+
class backspace(EditCommand):
def do(self):
r = self.reader
@@ -331,12 +366,13 @@
else:
self.reader.error("can't backspace at start")
+
class delete(EditCommand):
def do(self):
r = self.reader
b = r.buffer
- if ( r.pos == 0 and len(b) == 0 # this is something of a hack
- and self.event[-1] == "\004"):
+ if (r.pos == 0 and len(b) == 0 and # this is something of a hack
+ self.event[-1] == "\004"):
r.update_screen()
r.console.finish()
raise EOFError
@@ -347,25 +383,30 @@
else:
self.reader.error("end of buffer")
+
class accept(FinishCommand):
def do(self):
pass
+
class help(Command):
def do(self):
self.reader.msg = self.reader.help_text
self.reader.dirty = 1
+
class invalid_key(Command):
def do(self):
pending = self.reader.console.getpending()
s = ''.join(self.event) + pending.data
- self.reader.error("`%r' not bound"%s)
+ self.reader.error("`%r' not bound" % s)
+
class invalid_command(Command):
def do(self):
s = self.event_name
- self.reader.error("command `%s' not known"%s)
+ self.reader.error("command `%s' not known" % s)
+
class qIHelp(Command):
def do(self):
@@ -373,15 +414,17 @@
r.insert((self.event + r.console.getpending().data) * r.get_arg())
r.pop_input_trans()
-from pyrepl import input
class QITrans(object):
def push(self, evt):
self.evt = evt
+
def get(self):
return ('qIHelp', self.evt.raw)
+
class quoted_insert(Command):
kills_digit_arg = 0
+
def do(self):
self.reader.push_input_trans(QITrans())
More information about the pypy-commit
mailing list