parent
c6de3642ad
commit
eda2cd274f
|
@ -677,7 +677,6 @@ class Binary32Buffer(FileBuffer):
|
|||
def __init__(self, path, name=None):
|
||||
'''fb = FileBuffer(path)'''
|
||||
FileBuffer.__init__(self, path, name)
|
||||
#self.rawdata = []
|
||||
def _detect_nl_type(self, data):
|
||||
return '\n'
|
||||
def cursorx_to_datax(self, cy, cx):
|
||||
|
|
21
mode/hex.py
21
mode/hex.py
|
@ -3,6 +3,7 @@ from subprocess import Popen, PIPE, STDOUT
|
|||
import color, mode
|
||||
from lex import Grammar, PatternRule, RegionRule
|
||||
from method import Method, Argument
|
||||
from method.move import GotoBeginning, GotoEnd
|
||||
from point import Point
|
||||
from render import RenderString
|
||||
|
||||
|
@ -19,20 +20,22 @@ class HexSetByteOrder(Method):
|
|||
|
||||
class HexForward(Method):
|
||||
def _execute(self, w, **vargs):
|
||||
end = w.buffer.get_buffer_end()
|
||||
if w.cursor >= end.add(-2, 0):
|
||||
return
|
||||
w.forward()
|
||||
if w.mode.symbolic_edit:
|
||||
w.forward()
|
||||
end = w.buffer.get_buffer_end()
|
||||
while w.cursor_char().isspace() and w.cursor < end:
|
||||
w.forward()
|
||||
class HexBackward(Method):
|
||||
def _execute(self, w, **vargs):
|
||||
w.backward()
|
||||
if w.mode.symbolic_edit:
|
||||
w.backward()
|
||||
start = w.buffer.get_buffer_start()
|
||||
while w.cursor_char().isspace() and w.cursor > start:
|
||||
w.backward()
|
||||
if w.mode.symbolic_edit:
|
||||
w.backward()
|
||||
|
||||
class HexForwardWord(Method):
|
||||
def _execute(self, w, **vargs):
|
||||
|
@ -56,6 +59,14 @@ class HexEndOfLine(Method):
|
|||
if w.cursor_char() == '\n':
|
||||
w.backward()
|
||||
|
||||
class HexGotoBeginning(GotoBeginning):
|
||||
'''Move the cursor to the start of the current hex line'''
|
||||
class HexGotoEnd(GotoEnd):
|
||||
'''Move the cursor to the end of the current hex line'''
|
||||
def _execute(self, w, **vargs):
|
||||
w.application.methods['goto-end'].execute(w)
|
||||
w.application.methods['hex-backward'].execute(w)
|
||||
|
||||
class HexRead(Method):
|
||||
_is_method = False
|
||||
def __init__(self, type_, fmt):
|
||||
|
@ -219,7 +230,7 @@ class Hex(mode.Fundamental):
|
|||
HexStartOfLine, HexEndOfLine, ShowAddress, ShowX86Instruction,
|
||||
GotoAddress, HexSetByteOrder, HexToggleSymbolic,
|
||||
HexOverwriteCharSpace, HexOverwriteCharTab,
|
||||
HexOverwriteCharNewline]
|
||||
HexOverwriteCharNewline, HexGotoBeginning, HexGotoEnd]
|
||||
def __init__(self, w):
|
||||
mode.Fundamental.__init__(self, w)
|
||||
self.bindings = {}
|
||||
|
@ -277,6 +288,8 @@ class Hex(mode.Fundamental):
|
|||
self.add_bindings('hex-backward-word', ('M-b', 'M-L_ARROW',))
|
||||
self.add_bindings('hex-start-of-line', ('C-a', 'HOME',))
|
||||
self.add_bindings('hex-end-of-line', ('C-e', 'END',))
|
||||
self.add_bindings('hex-goto-beginning', ('M-<',))
|
||||
self.add_bindings('hex-goto-end', ('M->',))
|
||||
|
||||
self.add_action_and_bindings(HexRead('char', 'b'), ('C-c b',))
|
||||
self.add_action_and_bindings(HexRead('uchar', 'B'), ('C-c B',))
|
||||
|
|
Loading…
Reference in New Issue