Merge lines.love

[?]
Dec 24, 2022, 4:46 AM
XGHCLIKBWIW24G7O5QLYH6EUIY3TWTYFTUIYTWE25RFEGBHMZOKQC

Dependencies

  • [2] ORKN6EOB Merge lines.love
  • [3] DFGPHG5T overzealous search-and-replace
  • [4] 3P5RYCBL another missed rename
  • [5] IM6GSGVZ fix some arg names
  • [6] KKMFQDR4 editing source code from within the app
  • [7] VXORMHME delete experimental REPL
  • [8] EMHRPJ3R no, that's not right
  • [9] GUOQRUL7 Merge lines.love
  • [10] HRWN5V6J Devine's suggestion to try to live with just freehand
  • [11] RSZD5A7G forgot to add json.lua
  • [12] AVTNUQYR basic test-enabled framework
  • [13] OGUV4HSA remove some memory leaks from rendered fragments
  • [14] LXTTOB33 extract a couple of files
  • [15] CIQN2MDE bugfix: typing a capital letter deletes selection
  • [16] VHUNJHXB Merge lines.love
  • [17] KMSL74GA support selections in the source editor
  • [18] PX7DDEMO autosave slightly less aggressively
  • [19] VHQCNMAR several more modules
  • [20] FS2ITYYH record a known issue
  • [21] BULPIBEG beginnings of a module for the text editor
  • [22] 4YDBYBA4 clean up memory leak experiments
  • [23] 2L5MEZV3 experiment: new edit namespace
  • [24] 73OCE2MC after much struggle, a brute-force undo
  • [25] ETXNVRPT Merge lines.love
  • [26] 6DE7RBZ6 move mouse_released events to Drawing
  • [27] BYG5CEMV support for naming points
  • [28] 2Y7YH7UP infrastructure for caching LÖVE text objects
  • [29] BLWAYPKV extract a module
  • [30] OTIBCAUJ love2d scaffold
  • [31] R5QXEHUI somebody stop me
  • [32] D4B52CQ2 Merge lines.love
  • [33] TLOAPLBJ add a license
  • [34] K2X6G75Z start writing some tests for drawings
  • [35] BJ5X5O4A let's prevent the text cursor from ever getting on a drawing
  • [36] 3QNOKBFM beginnings of a test harness
  • [37] EF6MFB46 assume we always have a filename
  • [38] MD3W5IRA new fork: rip out drawing support
  • [39] TVCPXAAU rename
  • [40] APX2PY6G stop tracking wallclock time
  • [41] XX7G2FFJ intermingle freehand line drawings with text
  • [42] IFGAJAF7 add a level of indirection to vertices of shapes
  • [43] VP5KC4XZ Merge lines.love
  • [44] FYS7TCDW bugfix
  • [45] TXDMRA5J bugfix: alt-tab shouldn't emit keypress events
  • [46] T4FRZSYL delete an ancient, unused file
  • [47] 6LJZN727 handle chords
  • [48] 2CK5QI7W make love event names consistent
  • [49] JCSLDGAH beginnings of support for multiple shapes
  • [50] 66X36NZN a little more prose describing manual_tests
  • [51] KYNGDE2C consistent names in a few more places
  • [52] 2CTN2IEF Merge lines.love
  • [53] CE4LZV4T drop last couple of manual tests
  • [54] LNUHQOGH start passing in Editor_state explicitly
  • [55] VO2ZVTWK Merge lines.love
  • [56] D2GCFTTT clean up repl functionality
  • [57] 3PSFWAIL Merge lines.love
  • [58] JOPVPUSA editing source code from within the app

Change contents

  • file deletion: source_text_tests.lua (----------)source_text_tests.lua (----------)
    [6.2][6.83676:83721](),[6.2][6.83676:83721](),[6.83721][6.3498:3498]()
    -- selection persists even after shift is released
    check_eq(Editor_state.selection1.line, 1, 'F - test_select_text/selection:line')
    check_eq(Editor_state.selection1.pos, 1, 'F - test_select_text/selection:pos')
    check_eq(Editor_state.cursor1.line, 1, 'F - test_select_text/cursor:line')
    check_eq(Editor_state.cursor1.pos, 2, 'F - test_select_text/cursor:pos')
    end
    function test_cursor_movement_without_shift_resets_selection()
    io.write('\ntest_cursor_movement_without_shift_resets_selection')
    -- display a line of text with some part selected
    App.screen.init{width=75, height=80}
    Editor_state = edit.initialize_test_state()
    Editor_state.lines = load_array{'abc'}
    Text.redraw_all(Editor_state)
    Editor_state.cursor1 = {line=1, pos=1}
    Editor_state.selection1 = {line=1, pos=2}
    Editor_state.screen_top1 = {line=1, pos=1}
    Editor_state.screen_bottom1 = {}
    edit.draw(Editor_state)
    -- press an arrow key without shift
    edit.run_after_keychord(Editor_state, 'right')
    -- no change to data, selection is reset
    check_nil(Editor_state.selection1.line, 'F - test_cursor_movement_without_shift_resets_selection')
    check_eq(Editor_state.lines[1].data, 'abc', 'F - test_cursor_movement_without_shift_resets_selection/data')
  • replacement in source_text_tests.lua at line 610
    [2.2863][2.2863:2915]()
    -- selection persists even after shift is release
    [2.2863]
    [6.1366]
    -- selection persists even after shift is released
  • edit in main.lua at line 210
    [6.3121][6.189648:189757](),[6.189757][6.471:471]()
    function App.keyreleased(chord, key)
    -- ignore events for some time after window in focus (mostly alt-tab)
  • resurrect zombie in main.lua at line 210
    [6.3121][5.17:57](),[6.3121][5.17:57]()
    function App.keyreleased(key, scancode)
  • edit in main.lua at line 211
    [5.57]
    [6.669]
    -- ignore events for some time after window in focus (mostly alt-tab)
  • replacement in main.lua at line 219
    [6.190433][6.4885:4951](),[6.190433][6.4885:4951](),[6.190680][4.17:84](),[6.190680][4.17:84](),[6.190789][4.85:158](),[6.190789][4.85:158]()
    if source.key_release then source.key_release(chord, key) end
    if run.mouse_press then run.mouse_press(x,y, mouse_button) end
    if source.mouse_press then source.mouse_press(x,y, mouse_button) end
    [6.190433]
    [6.190866]
    if source.key_release then source.key_release(key, scancode) end
  • replacement in main.lua at line 228
    [6.190137][2.8176:8245]()
    if run.mouse_pressed then run.mouse_press(x,y, mouse_button) end
    [6.190137]
    [6.190208]
    if run.mouse_press then run.mouse_press(x,y, mouse_button) end
  • replacement in main.lua at line 230
    [6.190246][2.8247:8247](),[2.8247][2.8248:8323]()
    if source.mouse_pressed then source.mouse_press(x,y, mouse_button) end
    [6.190246]
    [6.191200]
    if source.mouse_press then source.mouse_press(x,y, mouse_button) end
  • edit in main.lua at line 264
    [6.268][6.473:473](),[6.190433][5.122:191](),[6.190433][5.122:191]()
    if source.key_release then source.key_release(key, scancode) end
  • resolve order conflict in main.lua at line 264
    [6.268]