Merge lines.love
[?]
Sep 17, 2023, 4:24 PM
I4S4EFYX6P4RSBCCRAYYXA5MD63T3YINN36LOQXXDKMN7MVS6WNACDependencies
- [2]
34BZ5ZKNMerge lines.love - [3]
T7EAACC5bugfix to the helper I added yesterday - [4]
O2IL6JT2port an old fix to source editor - [5]
IENTL2ITindent - [6]
R5QXEHUIsomebody stop me - [7]
TLOAPLBJadd a license - [8]
K2X6G75Zstart writing some tests for drawings - [9]
IX5YTLSVstate validation in source editor as well - [10]
3QNOKBFMbeginnings of a test harness - [11]
NVSC4N4Kchange a helper slightly - [12]
LNUHQOGHstart passing in Editor_state explicitly - [13]
LWPFEZBIMerge lines.love - [14]
T4FRZSYLdelete an ancient, unused file - [15]
2TQUKHBCMerge lines.love - [16]
VHQCNMARseveral more modules - [17]
7VGDIPLCmore robust state validation - [18]
ZLJYLPOTMerge lines.love - [19]
BLWAYPKVextract a module - [20]
BULPIBEGbeginnings of a module for the text editor - [21]
2344TV56Merge lines.love - [22]
SW7BSBMJseveral bugfixes in saving/loading cursor position - [23]
XX7G2FFJintermingle freehand line drawings with text - [24]
VXORMHMEdelete experimental REPL - [25]
BJ5X5O4Alet's prevent the text cursor from ever getting on a drawing - [26]
ED4Z6ORCcleaner API for file-system access - [27]
RSZD5A7Gforgot to add json.lua - [28]
LIKTH6HMupdate stale source X-( - [29]
4SR3Z4Y3document the version of LÖVE I've been using - [30]
D2GCFTTTclean up repl functionality - [31]
RU4HIK43Merge lines.love - [32]
ORKN6EOBMerge lines.love - [33]
ONHKBLLCMerge lines.love - [34]
TVCPXAAUrename - [35]
APX2PY6Gstop tracking wallclock time - [36]
4YDBYBA4clean up memory leak experiments - [37]
VHUNJHXBMerge lines.love - [38]
2L5MEZV3experiment: new edit namespace - [39]
SGMA5JLEsave the list of tests in repo - [40]
WB6SIB7HMerge lines.love - [41]
73OCE2MCafter much struggle, a brute-force undo - [42]
OGUV4HSAremove some memory leaks from rendered fragments - [43]
SPNMXTYRhave file API operate on state object - [44]
3PSFWAILMerge lines.love - [45]
OTIBCAUJlove2d scaffold - [46]
MD3W5IRAnew fork: rip out drawing support - [47]
VP5KC4XZMerge lines.love - [48]
3XNFQDDNMerge lines.love - [49]
AVTNUQYRbasic test-enabled framework - [50]
LXTTOB33extract a couple of files - [51]
K74U4BAUMerge lines.love - [52]
6LJZN727handle chords - [53]
CE4LZV4Tdrop last couple of manual tests - [54]
U3MJNFUYMerge lines.love - [55]
2CTN2IEFMerge lines.love - [56]
PJEQCTBLadd state arg to Drawing.update - [57]
FS2ITYYHrecord a known issue - [58]
OI4FPFINsupport drawings in the source editor - [59]
JOPVPUSAediting source code from within the app - [60]
REAIVN7WMerge lines.love - [61]
B6DS4GZCMerge lines.love - [62]
66X36NZNa little more prose describing manual_tests - [63]
AF253GHLbugfix - [64]
KKMFQDR4editing source code from within the app - [65]
R2ASHK5Cfix a bad merge - [66]
KMSL74GAsupport selections in the source editor - [67]
N2NUGNN4include a brief reference enabling many useful apps
Change contents
- file deletion: source_edit.lua source_edit.lua
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 + 1if State.cursor1.line >= #State.lines thenbreakendif State.lines[State.cursor1.line].mode == 'text' thenbreakendState.cursor1.line = State.cursor1.line+1State.cursor1.pos = 1endendfunction edit.cursor_on_text(State)return State.cursor1.line <= #State.linesand State.lines[State.cursor1.line].mode == 'text'endor not edit.cursor_on_text(State)or not Text.le1(State.screen_top1, State.cursor1) thenState.screen_top1 = {line=1, pos=1}State.cursor1 = {line=1, pos=1}edit.put_cursor_on_next_text_line(State) - replacement in source_edit.lua at line 114
or edit.invalid1(State, State.cursor1)or edit.invalid_cursor1(State) - edit in source_edit.lua at line 118
State.cursor1 = {line=1, pos=1} - edit in source_edit.lua at line 130
-- 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 - replacement in source_edit.lua at line 147
if State.cursor1.line >= #State.lines thenbreakendif State.lines[State.cursor1.line].mode == 'text' thenbreakendState.cursor1.line = State.cursor1.line+1State.cursor1.pos = 1if State.cursor1.line >= #State.lines thenbreakendif State.lines[State.cursor1.line].mode == 'text' thenbreakendState.cursor1.line = State.cursor1.line+1State.cursor1.pos = 1 - edit in edit.lua at line 79
State.cursor1 = {line=1, pos=1} - resurrect zombie in edit.lua at line 79
State.cursor1 = {line=1, pos=1} - edit in edit.lua at line 98
if State.next_save and State.next_save < Current_time thenif State.cursor1.line >= #State.lines thenbreakendif State.lines[State.cursor1.line].mode == 'text' thenbreakendState.cursor1.line = State.cursor1.line+1State.cursor1.pos = 1