merge bugfix
Dependencies
- [2]
FBBHEUQNresolve conflicts - [3]
BDUAJA6Tresolve conflicts - [4]
FS2ITYYHrecord a known issue - [5]
TLOAPLBJadd a license - [6]
5SM6DRHKport inscript's bugfix to source editor - [7]
AVTNUQYRbasic test-enabled framework - [8]
2CTN2IEFMerge lines.love - [9]
VHUNJHXBMerge lines.love - [10]
CRBLAWBOresolve conflicts - [11]
QZUFJMD5resolve conflicts - [12]
CAG7PP5YMerge text.love - [13]
R5QXEHUIsomebody stop me - [14]
BULPIBEGbeginnings of a module for the text editor - [15]
66X36NZNa little more prose describing manual_tests - [16]
6VJTQKW7start supporting LÖVE v12 - [17]
N2NUGNN4include a brief reference enabling many useful apps - [18]
4J3Y3DJWpijul bug: redo upstream change - [19]
VSGPLJFAresolve conflicts - [20]
VXRYVZ74Merge text.love - [21]
T4FRZSYLdelete an ancient, unused file - [22]
ORKN6EOBMerge lines.love - [23]
TOXPJJYYresolve conflicts - [24]
2CFLXLIEMerge text.love - [25]
D2GCFTTTclean up repl functionality - [26]
VP5KC4XZMerge lines.love - [27]
4SR3Z4Y3document the version of LÖVE I've been using - [28]
3QNOKBFMbeginnings of a test harness - [29]
VXORMHMEdelete experimental REPL - [30]
6LJZN727handle chords - [31]
4YDBYBA4clean up memory leak experiments - [32]
KKMFQDR4editing source code from within the app - [33]
SGMA5JLEsave the list of tests in repo - [34]
VLTU33KWresolve conflicts - [35]
R6MNUXDJpijul bug - [36]
4Y2QDDAZresolve conflicts - [37]
KQ22RW43resolve conflicts - [38]
KKQKPGCIresolve conflicts - [39]
KJLZCK2Rresolve conflicts - [40]
6TBU3VTNexplicitly state when operations manage undo - [41]
ED4Z6ORCcleaner API for file-system access - [42]
52YBYUCOresolve conflicts - [43]
JCRUUD2SMerge text.love - [44]
CE4LZV4Tdrop last couple of manual tests - [45]
LXTTOB33extract a couple of files - [46]
OTIBCAUJlove2d scaffold - [47]
XX7G2FFJintermingle freehand line drawings with text - [48]
2L5MEZV3experiment: new edit namespace - [49]
TBTRYEBPMerge lines.love - [50]
KMSL74GAsupport selections in the source editor - [51]
PJ5PQAQErecord support for multiple versions - [52]
BLWAYPKVextract a module - [53]
LWPFEZBIMerge lines.love - [54]
OGUV4HSAremove some memory leaks from rendered fragments - [55]
36Z442IVback to commit 8123959e52f without code editing - [56]
HWTLXESCMerge lines.love - [57]
G3DLS5OUaudit all asserts - [58]
RXMHAZ6Vresolve conflicts - [59]
K2X6G75Zstart writing some tests for drawings - [60]
BJ5X5O4Alet's prevent the text cursor from ever getting on a drawing - [61]
73OCE2MCafter much struggle, a brute-force undo - [62]
RSZD5A7Gforgot to add json.lua - [63]
ZS5IYZH5stop caching screen_bottom1 - [64]
JOPVPUSAediting source code from within the app - [65]
QMRQL2FOresolve conflicts - [66]
MBAJPTDJresolve conflicts - [67]
VHQCNMARseveral more modules - [68]
3PSFWAILMerge lines.love - [69]
ZLJYLPOTMerge lines.love - [70]
D4B52CQ2Merge lines.love - [71]
X43ZIKR3Merge text.love - [72]
TVCPXAAUrename
Change contents
- file deletion: source_select.lua source_select.lua
function Text.cut_selection_and_record_undo_event(State)Text.delete_selection_and_record_undo_event(State)function Text.delete_selection_and_record_undo_event(State)if State.selection1.line == nil then return endlocal minl,maxl = minmax(State.selection1.line, State.cursor1.line)local before = snapshot(State, minl, maxl)Text.delete_selection_without_undo(State)record_undo_event(State, {before=before, after=snapshot(State, State.cursor1.line)})endfunction Text.delete_selection_without_undo(State)if State.selection1.line == nil then return end-- min,max = sorted(State.selection1,State.cursor1)local minl,minp = State.selection1.line,State.selection1.poslocal maxl,maxp = State.cursor1.line,State.cursor1.posif minl > maxl thenminl,maxl = maxl,minlminp,maxp = maxp,minpelseif minl == maxl thenif minp > maxp thenminp,maxp = maxp,minpendend-- update State.cursor1 and State.selection1State.cursor1.line = minlState.cursor1.pos = minpif Text.lt1(State.cursor1, State.screen_top1) thenState.screen_top1.line = State.cursor1.lineState.screen_top1.pos = Text.pos_at_start_of_screen_line(State, State.cursor1)endState.selection1 = {}-- delete everything between min (inclusive) and max (exclusive)Text.clear_screen_line_cache(State, minl)local min_offset = Text.offset(State.lines[minl].data, minp)local max_offset = Text.offset(State.lines[maxl].data, maxp)if minl == maxl then--? print('minl == maxl')State.lines[minl].data = State.lines[minl].data:sub(1, min_offset-1)..State.lines[minl].data:sub(max_offset)returnendreturn resultendif State.selection1.line == nil then return endlocal result = Text.selection(State) - file deletion: source_text.lua source_text.lua
Text.delete_selection_and_record_undo_event(State)Text.delete_selection_and_record_undo_event(State)schedule_save(State)returnendschedule_save(State)returnend - file deletion: source_edit.lua source_edit.lua
Drawing.before = nilText.delete_selection_and_record_undo_event(State)local s = Text.cut_selection_and_record_undo_event(State)if s thenendschedule_save(State)