Stupid simple keymap
This commit is contained in:
parent
cd8c8739b0
commit
4d5ad1a562
31
editing.py
31
editing.py
@ -3,8 +3,7 @@ from fide import *
|
|||||||
global ctx
|
global ctx
|
||||||
ctx = GlobalContext()
|
ctx = GlobalContext()
|
||||||
|
|
||||||
# def cursor_go_left():
|
def cursor_go_left():
|
||||||
def go_left():
|
|
||||||
buf = ctx.current_buffer
|
buf = ctx.current_buffer
|
||||||
cursor = ctx.current_buffer.cursor
|
cursor = ctx.current_buffer.cursor
|
||||||
if cursor.col == 0:
|
if cursor.col == 0:
|
||||||
@ -15,3 +14,31 @@ def go_left():
|
|||||||
else:
|
else:
|
||||||
cursor.col = max(0, cursor.col - 1)
|
cursor.col = max(0, cursor.col - 1)
|
||||||
cursor.want_col = cursor.col
|
cursor.want_col = cursor.col
|
||||||
|
|
||||||
|
def cursor_go_right():
|
||||||
|
buf = ctx.current_buffer
|
||||||
|
cursor = ctx.current_buffer.cursor
|
||||||
|
if cursor.col == buffer_line_len(buf):
|
||||||
|
if cursor.line_num < buffer_total_lines(buf) - 1:
|
||||||
|
cursor.col = 0
|
||||||
|
cursor.want_col = cursor.col
|
||||||
|
cursor.line_num += 1
|
||||||
|
else:
|
||||||
|
cursor.col = min(buffer_line_len(buf), cursor.col + 1)
|
||||||
|
cursor.want_col = cursor.col
|
||||||
|
|
||||||
|
def cursor_go_down():
|
||||||
|
buf = ctx.current_buffer
|
||||||
|
cursor = ctx.current_buffer.cursor
|
||||||
|
line_len = buffer_line_len(buf)
|
||||||
|
cursor.line_num = min(len(buf.lines) - 1, cursor.line_num + 1)
|
||||||
|
cursor.col = min(cursor.want_col, line_len)
|
||||||
|
|
||||||
|
def cursor_go_up():
|
||||||
|
buf = ctx.current_buffer
|
||||||
|
cursor = ctx.current_buffer.cursor
|
||||||
|
cursor.line_num = max(0, cursor.line_num - 1)
|
||||||
|
line_len = buffer_line_len(buf)
|
||||||
|
# TODO: This should be global
|
||||||
|
line_len = 20
|
||||||
|
cursor.col = min(cursor.want_col, line_len)
|
||||||
|
25
fide.py
25
fide.py
@ -134,6 +134,12 @@ def main():
|
|||||||
current_buffer = ctx.current_buffer
|
current_buffer = ctx.current_buffer
|
||||||
console = InteractiveInterpreter(locals())
|
console = InteractiveInterpreter(locals())
|
||||||
console.runsource('from editing import *')
|
console.runsource('from editing import *')
|
||||||
|
key_map = {
|
||||||
|
'left': cursor_go_left,
|
||||||
|
'right': cursor_go_right,
|
||||||
|
'up': cursor_go_up,
|
||||||
|
'down': cursor_go_down
|
||||||
|
}
|
||||||
while running:
|
while running:
|
||||||
dt = clock.tick(120) / 1000.0
|
dt = clock.tick(120) / 1000.0
|
||||||
screen.fill('white')
|
screen.fill('white')
|
||||||
@ -174,24 +180,13 @@ def main():
|
|||||||
curr_line.length -= 1
|
curr_line.length -= 1
|
||||||
cursor.want_col = cursor.col
|
cursor.want_col = cursor.col
|
||||||
elif event.key == pg.K_LEFT:
|
elif event.key == pg.K_LEFT:
|
||||||
cursor_go_left(current_buffer)
|
key_map['left']()
|
||||||
elif event.key == pg.K_RIGHT:
|
elif event.key == pg.K_RIGHT:
|
||||||
if cursor.col == buffer_line_len(current_buffer):
|
key_map['right']()
|
||||||
if cursor.line_num < buffer_total_lines(current_buffer) - 1:
|
|
||||||
cursor.col = 0
|
|
||||||
cursor.want_col = cursor.col
|
|
||||||
cursor.line_num += 1
|
|
||||||
else:
|
|
||||||
cursor.col = min(buffer_line_len(current_buffer), cursor.col + 1)
|
|
||||||
cursor.want_col = cursor.col
|
|
||||||
elif event.key == pg.K_UP:
|
elif event.key == pg.K_UP:
|
||||||
cursor.line_num = max(0, cursor.line_num - 1)
|
key_map['up']()
|
||||||
line_len = buffer_line_len(current_buffer)
|
|
||||||
cursor.col = min(cursor.want_col, line_len)
|
|
||||||
elif event.key == pg.K_DOWN:
|
elif event.key == pg.K_DOWN:
|
||||||
line_len = buffer_line_len(current_buffer)
|
key_map['down']()
|
||||||
cursor.line_num = min(len(current_buffer.lines) - 1, cursor.line_num + 1)
|
|
||||||
cursor.col = min(cursor.want_col, line_len)
|
|
||||||
elif event.key == pg.K_SPACE:
|
elif event.key == pg.K_SPACE:
|
||||||
curr_line.piece.insert(u' ', cursor.col)
|
curr_line.piece.insert(u' ', cursor.col)
|
||||||
curr_line.length += 1
|
curr_line.length += 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user