Merge lines.love

[?]
Apr 20, 2023, 5:15 AM
MXSAHZN4AGTGEXFTMREVVYJLR2KY7X2Z4SUYKEPO2TGSVYR6N5MQC

Dependencies

  • [2] JYZKEDDG Merge lines.love
  • [3] VDFARWQX remove some support for long lines from source editor
  • [4] TVCPXAAU rename
  • [5] 2JBAEQHU Merge lines.love
  • [6] KMSL74GA support selections in the source editor
  • [7] 4SR3Z4Y3 document the version of LÖVE I've been using
  • [8] XX7G2FFJ intermingle freehand line drawings with text
  • [9] LF7BWEG4 group all editor globals
  • [10] JOPVPUSA editing source code from within the app
  • [11] 2CTN2IEF Merge lines.love
  • [12] A4BSGS2C Merge lines.love
  • [13] 2RXZ3PGO beginning of a new approach to scroll+wrap
  • [14] VXORMHME delete experimental REPL
  • [15] RSZD5A7G forgot to add json.lua
  • [16] MDXGMZU2 disable all debug prints
  • [17] LXTTOB33 extract a couple of files
  • [18] 4YDBYBA4 clean up memory leak experiments
  • [19] MXA3RZYK deduce left/right from state where possible
  • [20] VP5KC4XZ Merge lines.love
  • [21] BLWAYPKV extract a module
  • [22] G54H3YG2 get rid of all bifold text
  • [23] MD3W5IRA new fork: rip out drawing support
  • [24] ZLJYLPOT Merge lines.love
  • [25] VHQCNMAR several more modules
  • [26] K2X6G75Z start writing some tests for drawings
  • [27] 66X36NZN a little more prose describing manual_tests
  • [28] 2L5MEZV3 experiment: new edit namespace
  • [29] ORKN6EOB Merge lines.love
  • [30] T4FRZSYL delete an ancient, unused file
  • [31] CE4LZV4T drop last couple of manual tests
  • [32] K74U4BAU Merge lines.love
  • [33] 2TQUKHBC Merge lines.love
  • [34] KWIVKQQ7 Merge lines.love
  • [35] JZR3QMTN Merge lines.love
  • [36] 3QNOKBFM beginnings of a test harness
  • [37] N2NUGNN4 include a brief reference enabling many useful apps
  • [38] TLOAPLBJ add a license
  • [39] 6LJZN727 handle chords
  • [40] R5QXEHUI somebody stop me
  • [41] FS2ITYYH record a known issue
  • [42] 3PSFWAIL Merge lines.love
  • [43] 242L3OQX bugfix: ensure Cursor_line is always on a text line
  • [44] ZTZOO2OQ Merge lines.love
  • [45] 73OCE2MC after much struggle, a brute-force undo
  • [46] OGUV4HSA remove some memory leaks from rendered fragments
  • [47] QCPXQ2E3 add state arg to a few functions
  • [48] D2GCFTTT clean up repl functionality
  • [49] OI4FPFIN support drawings in the source editor
  • [50] BULPIBEG beginnings of a module for the text editor
  • [51] AVTNUQYR basic test-enabled framework
  • [52] VHUNJHXB Merge lines.love
  • [53] KKMFQDR4 editing source code from within the app
  • [54] OTIBCAUJ love2d scaffold
  • [55] BJ5X5O4A let's prevent the text cursor from ever getting on a drawing

Change contents

  • file deletion: source_text.lua (----------)source_text.lua (----------)
    [4.2][4.147062:147101](),[4.2][4.147062:147101](),[4.147101][4.83723:83723]()
    end
    if State.cursor1.pos == nil then
    State.cursor1.pos = 1
    end
    -- hack: insert a text line at bottom of file if necessary
    if State.cursor1.line > #State.lines then
    assert(State.cursor1.line == #State.lines+1)
    table.insert(State.lines, {mode='text', data=''})
    table.insert(State.line_cache, {})
    end
    --? print(y, App.screen.height, App.screen.height-State.line_height)
    if y > App.screen.height - State.line_height then
    State.screen_top1 = {line=State.screen_bottom1.line, pos=State.screen_bottom1.pos}
    --? print('setting top to', State.screen_top1.line, State.screen_top1.pos)
  • edit in text.lua at line 570
    [4.226][3.3:70](),[4.226][3.3:70]()
    if State.cursor1.pos == nil then
    State.cursor1.pos = 1
    end
  • resolve order conflict in text.lua at line 570
    [4.6899]
    [4.1554]
  • replacement in source_text.lua at line 432
    [4.108453][4.3599:3762](),[4.3762][4.108453:108506](),[4.108453][4.108453:108506](),[4.108506][4.3763:3856](),[4.3856][4.108506:108635](),[4.108506][4.108506:108635](),[4.108635][4.3857:3944](),[4.3944][4.108722:108728](),[4.5439][4.108722:108728](),[4.108722][4.108722:108728]()
    -- If a line/paragraph gets to a page boundary, I often want to scroll
    -- before I get to the bottom.
    -- However, only do this if it makes forward progress.
    local bot2 = Text.to2(State, State.screen_bottom1)
    if bot2.screen_line > 1 then
    bot2.screen_line = math.max(bot2.screen_line-10, 1)
    end
    local new_top1 = Text.to1(State, bot2)
    if Text.lt1(State.screen_top1, new_top1) then
    State.screen_top1 = new_top1
    else
    State.screen_top1 = {line=State.screen_bottom1.line, pos=State.screen_bottom1.pos}
    end
    [4.108453]
    [4.108728]
    State.screen_top1 = {line=State.screen_bottom1.line, pos=State.screen_bottom1.pos}
  • edit in source_text.lua at line 678
    [4.9398]
    [4.9398]
    end
    if State.cursor1.pos == nil then
    State.cursor1.pos = 1