resolve conflicts
Dependencies
- [2]
KKQKPGCIresolve conflicts - [3]
AIHGJ4BTbugfix: infinite loop inside a very narrow window - [4]
IPMYE6WTestablish a fairly fundamental invariant - [5]
VHUNJHXBMerge lines.love - [6]
34BZ5ZKNMerge lines.love - [7]
6LJZN727handle chords - [8]
TVCPXAAUrename - [9]
TBTRYEBPMerge lines.love - [10]
T4FRZSYLdelete an ancient, unused file - [11]
VHQCNMARseveral more modules - [12]
3QNOKBFMbeginnings of a test harness - [13]
73OCE2MCafter much struggle, a brute-force undo - [14]
KKMFQDR4editing source code from within the app - [15]
2CTN2IEFMerge lines.love - [16]
ZLJYLPOTMerge lines.love - [17]
OTIBCAUJlove2d scaffold - [18]
BULPIBEGbeginnings of a module for the text editor - [19]
YF2ATH2QMerge lines.love - [20]
AVTNUQYRbasic test-enabled framework - [21]
ORKN6EOBMerge lines.love - [22]
RU4HIK43Merge lines.love - [23]
4SR3Z4Y3document the version of LÖVE I've been using - [24]
R5QXEHUIsomebody stop me - [25]
K2X6G75Zstart writing some tests for drawings - [26]
3PSFWAILMerge lines.love - [27]
4YDBYBA4clean up memory leak experiments - [28]
JOPVPUSAediting source code from within the app - [29]
SGMA5JLEsave the list of tests in repo - [30]
LWPFEZBIMerge lines.love - [31]
VXORMHMEdelete experimental REPL - [32]
CE4LZV4Tdrop last couple of manual tests - [33]
6VJTQKW7start supporting LÖVE v12 - [34]
KMSL74GAsupport selections in the source editor - [35]
2L5MEZV3experiment: new edit namespace - [36]
RSZD5A7Gforgot to add json.lua - [37]
LXTTOB33extract a couple of files - [38]
N2NUGNN4include a brief reference enabling many useful apps - [39]
XX7G2FFJintermingle freehand line drawings with text - [40]
BLWAYPKVextract a module - [41]
OGUV4HSAremove some memory leaks from rendered fragments - [42]
TLOAPLBJadd a license - [43]
D2GCFTTTclean up repl functionality - [44]
UN7GKYV5support hyperlinks in the source editor - [45]
BJ5X5O4Alet's prevent the text cursor from ever getting on a drawing - [46]
FS2ITYYHrecord a known issue - [47]
GZ5WULJVswitch source side to new screen-line-based render - [48]
VP5KC4XZMerge lines.love - [49]
KWIVKQQ7Merge lines.love - [50]
66X36NZNa little more prose describing manual_tests - [51]
ED4Z6ORCcleaner API for file-system access
Change contents
- file deletion: source_text.lua source_text.lua
if x == 0 and bpos == 0 thenassert(false, ("Infinite loop while line-wrapping. Editor is %dpx wide; window is %dpx wide"):format(State.width, App.screen.width))end-- Perform some early sanity checking here, in hopes that we correctly call-- this whenever we change editor state.if State.right <= State.left thenassert(false, ('Right margin %d must be to the right of the left margin %d'):format(State.right, State.left))endState.line_cache = {}for i=1,#State.lines doState.line_cache[i] = {}endpos = pos + bposlocal boffset = Text.offset(frag, bpos+1) -- byte _after_ bposfrag = string.sub(frag, boffset)--? if bpos > 0 then--? print('after chop:', frag)--? endfrag_width = App.width(frag)end--? print('screen line:', pos) - replacement in source_text.lua at line 131
-- everything works if bpos == 0, but is a little inefficientif x == 0 and bpos == 0 thenassert(false, ("Infinite loop while line-wrapping. Editor is %dpx wide; window is %dpx wide"):format(State.width, App.screen.width))end - edit in source_text.lua at line 1040
-- Perform some early sanity checking here, in hopes that we correctly call-- this whenever we change editor state.if State.right <= State.left thenassert(false, ('Right margin %d must be to the right of the left margin %d'):format(State.right, State.left))end