Merge text.love
[?]
May 14, 2023, 12:34 AM
ZJFSVE47FYDOAPGKXNF6TNKD4Q2ESVYQBG4VBF54PQRA7FI2JSOACDependencies
- [2]
2CFLXLIEMerge text.love - [3]
RAXUQQ6ZMerge lines.love - [4]
TVCPXAAUrename - [5]
5ZA3BRNYadd state arg to a few functions - [6]
RSZD5A7Gforgot to add json.lua - [7]
R5QXEHUIsomebody stop me - [8]
Q6RXCILQMerge text.love - [9]
LF7BWEG4group all editor globals - [10]
LLAOOMULbugfix: search upwards - [11]
BJ5X5O4Alet's prevent the text cursor from ever getting on a drawing - [12]
OGUV4HSAremove some memory leaks from rendered fragments - [13]
73OCE2MCafter much struggle, a brute-force undo - [14]
JOPVPUSAediting source code from within the app - [15]
ZTZOO2OQMerge lines.love - [16]
VHQCNMARseveral more modules - [17]
3PSFWAILMerge lines.love - [18]
O3WZWLYCMerge text.love - [19]
PJ5PQAQErecord support for multiple versions - [20]
BLWAYPKVextract a module - [21]
KB7KTSCPMerge lines.love - [22]
VP5KC4XZMerge lines.love - [23]
KMSL74GAsupport selections in the source editor - [24]
4YDBYBA4clean up memory leak experiments - [25]
OTIBCAUJlove2d scaffold - [26]
BULPIBEGbeginnings of a module for the text editor - [27]
2JBAEQHUMerge lines.love - [28]
AMOPICKVbugfix: check after cursor on same line when searching upwards - [29]
4SR3Z4Y3document the version of LÖVE I've been using - [30]
JZR3QMTNMerge lines.love - [31]
MVFQNLLIMerge text.love - [32]
EETIR4GXbugfix: skip over drawings when searching - [33]
MD3W5IRAnew fork: rip out drawing support - [34]
A4BSGS2CMerge lines.love - [35]
MSOQI3A5bugfix: check before cursor on same line - [36]
YDUIKWSFMerge text.love - [37]
LXTTOB33extract a couple of files - [38]
KKMFQDR4editing source code from within the app - [39]
MUJTM6REbring back a level of wrapping - [40]
D2GCFTTTclean up repl functionality - [41]
JCXL74WVbring back everything from commit a68647ae22 - [42]
EX43CDDIMerge text.love - [43]
AVTNUQYRbasic test-enabled framework - [44]
UAYCSFSKMerge text.love - [45]
3QNOKBFMbeginnings of a test harness - [46]
VXORMHMEdelete experimental REPL - [47]
XX7G2FFJintermingle freehand line drawings with text - [48]
ECBDENZ4Merge text.love - [49]
CE4LZV4Tdrop last couple of manual tests - [50]
K74U4BAUMerge lines.love - [51]
ORKN6EOBMerge lines.love - [52]
FS2ITYYHrecord a known issue - [53]
C3GUE45IMerge text.love - [54]
VHUNJHXBMerge lines.love - [55]
6LJZN727handle chords - [56]
66X36NZNa little more prose describing manual_tests - [57]
ZLJYLPOTMerge lines.love - [58]
36Z442IVback to commit 8123959e52f without code editing - [59]
KWIVKQQ7Merge lines.love - [60]
2L5MEZV3experiment: new edit namespace - [61]
2CTN2IEFMerge lines.love - [62]
T4FRZSYLdelete an ancient, unused file - [63]
2H76FV5Sbugfix: searching files containing unicode - [64]
QSKWIEU3support special chars like '(' in search - [65]
7PZ4CQFVsearch: transparently handle drawings everywhere - [66]
K2X6G75Zstart writing some tests for drawings - [67]
N2NUGNN4include a brief reference enabling many useful apps - [68]
ATQO62TFMerge lines.love - [69]
QD4LOFQRMerge text.love - [70]
TLOAPLBJadd a license
Change contents
- file deletion: source_text_tests.lua source_text_tests.lua
check_eq(Editor_state.cursor1.pos, 6, '1/cursor:pos')endEditor_state.lines = load_array{'abc ’abd'} -- contains unicode quoteText.redraw_all(Editor_state)Editor_state.cursor1 = {line=1, pos=1}Editor_state.screen_top1 = {line=1, pos=1}Editor_state.screen_bottom1 = {}edit.draw(Editor_state)-- search upwards for a stringedit.run_after_keychord(Editor_state, 'C-f')check_eq(Editor_state.cursor1.pos, 2, '1/cursor:pos')endfunction test_search_wrap_upwards()Editor_state.cursor1 = {line=2, pos=1}Editor_state.screen_top1 = {line=1, pos=1}Editor_state.screen_bottom1 = {}edit.draw(Editor_state)-- search for a stringedit.run_after_keychord(Editor_state, 'C-f')Editor_state.lines = load_array{'’abc', 'def'} -- contains unicode quote in first lineText.redraw_all(Editor_state)check_eq(Editor_state.cursor1.pos, 2, '2/cursor:pos')endfunction test_search_wrap()Editor_state.cursor1 = {line=2, pos=1}Editor_state.screen_top1 = {line=1, pos=1}Editor_state.screen_bottom1 = {}edit.draw(Editor_state)-- search for a stringedit.run_after_keychord(Editor_state, 'C-f')Editor_state.lines = load_array{'’abc', 'abd'} -- contains unicode quoteText.redraw_all(Editor_state)check_eq(Editor_state.cursor1.pos, 2, '2/cursor:pos')endfunction test_search_upwards()Editor_state.lines = load_array{'```lines', '```', 'def', 'ghi', '’deg'} -- contains unicode quote in final lineText.redraw_all(Editor_state)Editor_state.cursor1 = {line=1, pos=1}Editor_state.screen_top1 = {line=1, pos=1}Editor_state.screen_bottom1 = {}edit.draw(Editor_state)-- search for a stringedit.run_after_keychord(Editor_state, 'C-f') - edit in search.lua at line 21
local pos = find(State.lines[State.cursor1.line].data, State.search_term, State.cursor1.pos, --[[literal]] true) - edit in search.lua at line 31[4.211]→[4.1152:1251](∅→∅),[4.211]→[4.1152:1251](∅→∅),[4.219]→[4.1252:1294](∅→∅),[4.219]→[4.1252:1294](∅→∅)
pos = find(State.lines[i].data, State.search_term, --[[from start]] nil, --[[literal]] true)State.cursor1 = {line=i, pos=pos} - edit in search.lua at line 42[4.368]→[4.1295:1394](∅→∅),[4.368]→[4.1295:1394](∅→∅),[4.50207]→[4.1395:1437](∅→∅),[4.50207]→[4.1395:1437](∅→∅)
pos = find(State.lines[i].data, State.search_term, --[[from start]] nil, --[[literal]] true)State.cursor1 = {line=i, pos=pos} - edit in search.lua at line 52
pos = find(State.lines[State.cursor1.line].data, State.search_term, --[[from start]] nil, --[[literal]] true) - edit in search.lua at line 74
local pos = rfind(State.lines[State.cursor1.line].data, State.search_term, State.cursor1.pos-1, --[[literal]] true) - edit in search.lua at line 84[4.1238]→[4.1672:1770](∅→∅),[4.1238]→[4.1672:1770](∅→∅),[4.51016]→[4.1771:1813](∅→∅),[4.51016]→[4.1771:1813](∅→∅)
pos = rfind(State.lines[i].data, State.search_term, --[[from end]] nil, --[[literal]] true)State.cursor1 = {line=i, pos=pos} - edit in search.lua at line 95[4.1411]→[4.1814:1912](∅→∅),[4.1411]→[4.1814:1912](∅→∅),[4.51247]→[4.1913:1955](∅→∅),[4.51247]→[4.1913:1955](∅→∅)
pos = rfind(State.lines[i].data, State.search_term, --[[from end]] nil, --[[literal]] true)State.cursor1 = {line=i, pos=pos} - edit in search.lua at line 105
pos = rfind(State.lines[State.cursor1.line].data, State.search_term, --[[from end]] nil, --[[literal]] true)