PT7ICD7ZAB4IT6K5B4LURL5LUXHSN4ML5YWCG52YFLE2IBNZ53UAC ZC7UBMKI3XSECB6VC2YYSXZYSWFQTPFGPNX2JQTILJQWHOA6FKYAC G2LAMLBUE5WQUYUCB5RTS2STJEJHF2Q4JMX56Y5TYQKUXHCIJ4EQC K55LM3DPVFNOUQEWDFZ7TYESMTLPIDPEDZ5QSWOXHFQIXSSQHJEQC BKX2TYUGRVEKPGG7B5PK5LUEPMAQLB7J6PFVJBVMSVVJFUMIPYPQC GYPLUBXNFEHHAYSCFNW65WADQB7ZBQTAQASGBPPER6GMDRQ35UMAC R5QXEHUIZLELJGGCZAE7ATNS3CLRJ7JFRENMGH4XXH24C5WABZDQC KKMFQDR43ZWVCDRHQLWWX3FCWCFA3ZSXYOBRJNPHUQZR2XPKWULAC FYJXSWXVSHXNII6UEG77UKQ6OSOMY2FRTAIROVJHUGAXN2HK5PPQC KMSL74GAMFNTAKGDKZFP2AMQXUMOC3XH373BO4IABZWBEP3YAXKAC A42EMHOQV2GBLLYYVASKUJY6JF5CGBWXYUD2PW5OZPX365QUZ2MQC O4RRXNOK7GKGZB2AH3FULDJDQLVSQCQFWZLBMCDGNIRA63OSSMCAC G54H3YG2NEZPW2F6OYT5JPV7KSKVMNW5D3QT3FBCXTJHAQYTV5UAC 6TBU3VTNCIYJXXZEWNPVYTDIJ4TA5U7PTC5QOT6JCZDLSEJLR44QC BH7BT36LM3D7HF3GOHXUPVNKLJ5LFJHOHRLD3KTC5HA627M3II4AC 2EELKVO233KIH36SRY6LHYCDGARR52V62QPGONRZIKHXGV4RSNEQC EVMVBLXDZPG6ITFFKUMTEVYB6ZB6H3SEL3U5MEJMQ2G4OSYNDDUAC UZQ2LGHQ4SKSSPID5HSPHAO56XNMYZTDMSJLIPEA5ZQ7G7DBVMCQC JOPVPUSAMMU6RFVDQR4NJC4GNNUFB7GPKVH7OS5FKCYS5QZ53VLQC D4B52CQ2QKG2HQKFUQOO5S2ME325DTW3PH2D7SBXCW4BPQFYG7CAC CRBLAWBOTECOU5MFURWCRBR43OO7NWIHP5LC35IMGTQKN73AUS6AC FBBHEUQNDHGZQES6GC3VW55DXILRP7PYYXNLQF3HGHKYLUGWAUBQC 2TQUKHBC2EB3WDBD5UL62DQYV7CV6B7OJYK7CHOEDNOZENSOG42AC SCOXD4EOOL76VOGQSSNYDQS4IPXJTQ7FABDLG66GLLNREYRZF5CQC RU4HIK436ZRQJEPZXFS4FQTYVRL7BK5NWKYFGHFHZQOEOBF7M5SQC JKENJ2UGUCIHH27LSUZLVZIYOTUR3JDWUG453OFYTRL3V3IRQGTAC YGCT2D2ORMLTBHANLGHZV3EBGGHD7ZK55UAM7HF2AVSHDXAAKK5QC OTIBCAUJ3KDQJLVDN3A536DLZGNRYMGJLORZVR3WLCGXGO6UGO6AC 5GHT3LUX5SHCBV5ZPHCZM5H56BV5IVY7MXBDEO2NZKSMSL24PZOAC Z2VZTIXYXUZXF4ZUVG54IOIRSMBGUZJZ2RTBPYOJC7NWBOUFU6YAC R2ASHK5CEE3PTRLS37GP4PXJ7HIGJ6UD72KKBI57UDJI7VRROQGQC 2L5MEZV344TOZLVY3432RHJFIRVXFD6O3GWLL5O4CV66BGAFTURQC MBAJPTDJ4KHWACEHWYGCFMHPQYM6FQKCSIIDKWCE765UI3VTDMIAC PTDO2SOTXEI6FROZ2AVRFXSKKNKCRMPPTQSI5LWD45UVGDJPMSGQC PV2YA7KSWRCOKDS2WYO45WKE5L3CK56HPYT6DRVQRI3ZIE3B633AC QCPXQ2E3USF3Z6R6WJ2JKHTRMPKA6QWXFKKRMLXA3MXABJEL543AC elseif chord == 'home' or (OS == 'OS X' and chord == 's-left') thenelseif chord == 'end' or (OS == 'OS X' and chord == 's-right') thenText.end_of_line(State)Text.start_of_line(State)
local dm = App.default_modifierchord ~= dm('a') and chord ~= dm('c') and chord ~= dm('x') and chord ~= 'backspace' and chord ~= 'delete' and chord ~= dm('z') and chord ~= dm('y') and not App.is_cursor_movement(key) thenelseif chord == dm('f') thenelseif chord == dm('=') thenelseif chord == dm('-') thenelseif chord == dm('0') thenelseif chord == dm('z') thenelseif chord == dm('y') thenelseif chord == dm('a') thenelseif chord == dm('c') thenelseif chord == dm('x') thenelseif chord == dm('v') then-- We don't have a good sense of when to scroll, so we'll be conservative-- and sometimes scroll when we didn't quite need to.local before_line = State.cursor1.linelocal before = snapshot(State, before_line)local s = Text.cut_selection_and_record_undo_event(State)local s = Text.selection(State)if s thenState.selection1 = {line=1, pos=1}local event = redo_event(State)if event thenlocal src = event.afterState.screen_top1 = deepcopy(src.screen_top)State.cursor1 = deepcopy(src.cursor)local event = undo_event(State)if event thenlocal src = event.beforeState.screen_top1 = deepcopy(src.screen_top)State.cursor1 = deepcopy(src.cursor)edit.update_font_settings(State, 20)Text.redraw_all(State)-- undoif State.font_height > 2 thenedit.update_font_settings(State, State.font_height-2)Text.redraw_all(State)endedit.update_font_settings(State, State.font_height+2)Text.redraw_all(State)State.search_term = ''State.search_backup = {Text.delete_selection_and_record_undo_event(State)if State.selection1.line andnot State.lines.current_drawing and-- printable character created using shift key => delete selection-- (we're not creating any ctrl-shift- or alt-shift- combinations using regular/printable keys)(not App.shift_down() or utf8.len(key) == 1) and
if OS == 'Linux' then-- love.window.setPosition doesn't quite seem to do what is asked of it on Linux.App.screen.move(settings.x, settings.y-37, settings.displayindex)elseApp.screen.move(settings.x, settings.y, settings.displayindex)end
if OS == 'Linux' then-- love.window.setPosition doesn't quite seem to do what is asked of it on Linux.App.screen.move(settings.x, settings.y-37, settings.displayindex)elseApp.screen.move(settings.x, settings.y, settings.displayindex)end
chord ~= 'C-a' and chord ~= 'C-c' and chord ~= 'C-x' and chord ~= 'backspace' and chord ~= 'delete' and chord ~= 'C-z' and chord ~= 'C-y' and not App.is_cursor_movement(key) then
chord ~= dm('a') and chord ~= dm('c') and chord ~= dm('x') and chord ~= 'backspace' and chord ~= 'delete' and chord ~= dm('z') and chord ~= dm('y') and not App.is_cursor_movement(key) then
chord ~= 'C-a' and chord ~= 'C-c' and chord ~= 'C-x' and chord ~= 'backspace' and chord ~= 'delete' and chord ~= 'C-z' and chord ~= 'C-y' and not App.is_cursor_movement(key) then
chord ~= dm('a') and chord ~= dm('c') and chord ~= dm('x') and chord ~= 'backspace' and chord ~= 'delete' and chord ~= dm('z') and chord ~= dm('y') and not App.is_cursor_movement(key) then
elseif chord == dm('v') thenelseif chord == dm('x') thenelseif chord == dm('c') thenelseif chord == dm('a') thenelseif chord == dm('y') thenelseif chord == dm('z') thenelseif chord == dm('0') thenelseif chord == dm('-') thenelseif chord == dm('=') thenelseif chord == dm('f') thenchord ~= dm('a') and chord ~= dm('c') and chord ~= dm('x') and chord ~= 'backspace' and chord ~= 'delete' and chord ~= dm('z') and chord ~= dm('y') and not App.is_cursor_movement(key) thenlocal dm = App.default_modifier