Merge lines.love

[?]
May 15, 2023, 12:31 AM
2344TV56YERMZVRV4NPBVJSJWDPNUF43FFQAZ22EYUAZDUQU3JAQC

Dependencies

  • [2] JZR3QMTN Merge lines.love
  • [3] 23KRQC4Y Merge lines.love
  • [4] SR4C3ZYZ add an assert
  • [5] AIBA4RWQ hide cursor in log browser window
  • [6] MD3W5IRA new fork: rip out drawing support
  • [7] 2JBAEQHU Merge lines.love
  • [8] VHUNJHXB Merge lines.love
  • [9] BULPIBEG beginnings of a module for the text editor
  • [10] 4SR3Z4Y3 document the version of LÖVE I've been using
  • [11] BYKXF3YY bugfix: draw menu after everything else
  • [12] XX7G2FFJ intermingle freehand line drawings with text
  • [13] D2GCFTTT clean up repl functionality
  • [14] B4JEWKWI hide editor cursor while in file navigator
  • [15] FS2ITYYH record a known issue
  • [16] OTIBCAUJ love2d scaffold
  • [17] VHQCNMAR several more modules
  • [18] 66X36NZN a little more prose describing manual_tests
  • [19] OI4FPFIN support drawings in the source editor
  • [20] RAXUQQ6Z Merge lines.love
  • [21] VBU5YHLR Merge lines.love
  • [22] LXTTOB33 extract a couple of files
  • [23] A4BSGS2C Merge lines.love
  • [24] 2L5MEZV3 experiment: new edit namespace
  • [25] N2NUGNN4 include a brief reference enabling many useful apps
  • [26] K2X6G75Z start writing some tests for drawings
  • [27] KMSL74GA support selections in the source editor
  • [28] ME7WBLF5 bugfix: log filenames can have 2 formats
  • [29] BLWAYPKV extract a module
  • [30] BJ5X5O4A let's prevent the text cursor from ever getting on a drawing
  • [31] CE4LZV4T drop last couple of manual tests
  • [32] 3PSFWAIL Merge lines.love
  • [33] 4YDBYBA4 clean up memory leak experiments
  • [34] ZTZOO2OQ Merge lines.love
  • [35] 3QNOKBFM beginnings of a test harness
  • [36] R5QXEHUI somebody stop me
  • [37] RSZD5A7G forgot to add json.lua
  • [38] VXORMHME delete experimental REPL
  • [39] 2CTN2IEF Merge lines.love
  • [40] ORKN6EOB Merge lines.love
  • [41] AVTNUQYR basic test-enabled framework
  • [42] KWIVKQQ7 Merge lines.love
  • [43] OGUV4HSA remove some memory leaks from rendered fragments
  • [44] VP5KC4XZ Merge lines.love
  • [45] R3KXFRZN get rid of to_text
  • [46] JOPVPUSA editing source code from within the app
  • [47] 6LJZN727 handle chords
  • [48] TLOAPLBJ add a license
  • [49] ZLJYLPOT Merge lines.love
  • [50] KKMFQDR4 editing source code from within the app
  • [51] T4FRZSYL delete an ancient, unused file
  • [52] TVCPXAAU rename
  • [53] 73OCE2MC after much struggle, a brute-force undo
  • [54] K74U4BAU Merge lines.love
  • [55] GZ5WULJV switch source side to new screen-line-based render
  • [56] OB5XOXVC deemphasize the source editor

Change contents

  • file deletion: source_text.lua (----------)source_text.lua (----------)
    [6.2][6.147062:147101](),[6.2][6.147062:147101](),[6.147101][6.83723:83723]()
    assert(State.cursor1.pos)
    if Text.cursor_at_final_screen_line(State) then
    -- line is done, skip to next text line
    --? print('cursor at final screen line of its line')
  • file deletion: source.lua (----------)source.lua (----------)
    [6.2][6.177652:177686](),[6.2][6.177652:177686](),[6.177686][6.165766:165766]()
    log_browser.draw(Log_browser_state, --[[hide_cursor]] Focus ~= 'log_browser')
    end
  • file deletion: log_browser.lua (----------)log_browser.lua (----------)
    [6.2][6.203223:203262](),[6.2][6.203223:203262](),[6.203262][6.191782:191782]()
    Text.draw(State, line_index, y, --[[startpos]] 1, hide_cursor)
    State.left,State.right = old_left,old_right
    else
    height = log_render[line.data.name](line.data, xleft, y, xright-xleft)
    end
    end
    if App.mouse_x() > Log_browser_state.left and line_index == mouse_line_index then
    App.color(Cursor_line_background_color)
    love.graphics.rectangle('fill', xleft,y, xright-xleft, height)
    end
    y = y + height
    end
    end
    end
    function render_stack_left_margin(State, line_index, line, y)
    if line.section_stack == nil then
    -- assertion message
    for k,v in pairs(line) do
    print(k)
    end
    end
    App.color(Section_border_color)
    for i=1,#line.section_stack do
    local x = State.left + (i-1)*Section_border_padding_horizontal
    love.graphics.line(x,y, x,y+log_browser.height(State, line_index))
    if y < 30 then
    love.graphics.print(line.section_stack[i].name, x+State.font_height+5, y+5, --[[vertically]] math.pi/2)
    end
    if y > App.screen.height-log_browser.height(State, line_index) then
    function log_browser.draw(State, hide_cursor)
    assert(#State.lines == #State.line_cache)
    local mouse_line_index = log_browser.line_index(State, App.mouse_x(), App.mouse_y())
    local y = State.top
    for line_index = State.screen_top1.line,#State.lines do
    App.color(Text_color)
    local line = State.lines[line_index]
    if y + State.line_height > App.screen.height then break end
    local height = State.line_height
    if should_show(line) then
    local xleft = render_stack_left_margin(State, line_index, line, y)
    local xright = render_stack_right_margin(State, line_index, line, y)
    if line.section_name then
    App.color(Section_border_color)
  • edit in source_text.lua at line 489
    [6.115058]
    [6.115058]
    assert(State.cursor1.pos)
  • replacement in source.lua at line 268
    [6.173146][6.173146:173186]()
    log_browser.draw(Log_browser_state)
    [6.173146]
    [6.173186]
    log_browser.draw(Log_browser_state, --[[hide_cursor]] Focus ~= 'log_browser')
  • replacement in log_browser.lua at line 87
    [6.194248][6.194248:194281]()
    function log_browser.draw(State)
    [6.194248]
    [6.194281]
    function log_browser.draw(State, hide_cursor)
  • replacement in log_browser.lua at line 120
    [6.196035][6.4718:4778]()
    Text.draw(State, line_index, y, --[[startpos]] 1)
    [6.196035]
    [6.196099]
    Text.draw(State, line_index, y, --[[startpos]] 1, hide_cursor)