7Y7C7N6OVIL4YT33DYCBAPTH7COHOAWQGHGPUNBNLYQ2HW65PWFAC 3PDXBOECMZBG3MJMCNRWFE7GOXAVTFDW6BGOGNQEZ2QVJGF5MG2AC 5PSPUX5U3OGNE2WDC7ERJ6QHUZMCJWRPTUH5PC63WFYDSS6VOOUAC 3XNFQDDNFGTN6ZFAB47AR6Q3663WLXDYC3K5TERYUWDM6U2FNOVAC ICUW7F3XQLURK4LSNPH5E3NDEFSRHKATEUHH2UPFJTMHYR3ZJF3QC JOPVPUSAMMU6RFVDQR4NJC4GNNUFB7GPKVH7OS5FKCYS5QZ53VLQC FNJFBXABRFX5WK6SSRDLZDCNCABN5X36HUPKRMJ7ECQTEK2XJJJQC 3VHUIIATPOF7FXB7NTL5MESCV5BCQACII2D7QZ4UIUCBX3CWXMMAC ZLJYLPOTXIVBVWJ4NTRM2YCQPT2FCSN7446P56MJFEFY45QTB7IAC Y7UTUTXR5YTRQTXQJXYHFXYY5R4RRI2YJDUESNTJYRNDGGKI7PXQC 2L5MEZV344TOZLVY3432RHJFIRVXFD6O3GWLL5O4CV66BGAFTURQC 7VGDIPLCFDG3PVE4JH3WDKZ4A7PG5UYW7TLFFFOWN2JEUZYYTFJQC SW7BSBMJZLUDRMHO2HMCHQW6PPGCEBL4JSDTAHVYPCZLBEKY54XQC LLQC2M2IMEJBJQXZTKC3OAKG5WKHSERXKAKCYHQRUZZD6CVRIHAQC SAATXLBLJS4VRZAFGDCKO45AKVFLS7TNXN4SZLBNOSPE7SKGKB2AC AF253GHLDMRDMDL5X3OV2UJ5NPKBBMHGH4B3R5IGR35KO6IKYPKQC F52PSTYSIIUD7UPEVLEJPVSBQU7IKVHM4GN4YASNSKFP4MRE6S6AC Z6ITQSTTHQZMTZDDP3SDJCTGIGY4DXTEGYTYN6JCRAPMB7KDHJZAC APYPFFS3G6TDEUMIHQGMDBJNRNDTCNTPKI5M2AFACJ73P725XQRQC HMMUQOIY7EMGDJB6KWOWCSKA5OXBQXTT5PT3QXXQOMTA742LSGNAC BJ5X5O4ACBBJ56LRBBSTCW6IBQP4HAEOOOPNH3SKTA4F66YTOIDAC EWJZ6XHBINBUKIZQ3MCDG3RADOZSF3YFQVWCKQK2VJYIR5WFQBJAC QFOQPDDW2C7TDPDNT67VU76HGZGTFXQY52R3BNONU5C4F5NYPAOQC filename=absolutize(Editor_state.filename),function absolutize(path)if is_relative_path(path) thenreturn love.filesystem.getWorkingDirectory()..'/'..path -- '/' should work even on Windowsendreturn pathend
end-- cursor loc in particular differs from other locs in one way:-- pos might occur just after end of linefunction edit.invalid_cursor1(State)local cursor1 = State.cursor1if cursor1.line > #State.lines then return true endlocal l = State.lines[cursor1.line]if l.mode ~= 'text' then return false end -- pos is irrelevant to validity for a drawing linereturn cursor1.pos > #State.lines[cursor1.line].data + 1
or edit.invalid_cursor1(State)end-- cursor loc in particular differs from other locs in one way:-- pos might occur just after end of linefunction edit.invalid_cursor1(State)local cursor1 = State.cursor1if cursor1.line > #State.lines then return true endlocal l = State.lines[cursor1.line]if l.mode ~= 'text' then return false end -- pos is irrelevant to validity for a drawing linereturn cursor1.pos > #State.lines[cursor1.line].data + 1end
- run with a filename on commandline, scroll around, quit; restart without a filename; window opens running the text editor in same position+dimensions- run with a filename on commandline, scroll around, quit; restart with same filename; window opens running the text editor in same position+dimensions- run with a filename on commandline, scroll around, quit; restart with new filename; window opens new filename with cursor up top- run editor, scroll around, move cursor to end of some line, quit; restart with new filename; window opens running the text editor in same position+dimensions