add numeric suffix to stashed files

akkartik
Mar 17, 2024, 10:03 PM
TQUPMJPKOZDDU5JME3AAS3YIYA2SRKHZB3BI4CHI4FR3IQSHMBGAC

Dependencies

  • [2] 6VPJTZFS reset file system state with everything else
  • [3] YRN76EXV load stashed files
  • [4] BJ5X5O4A let's prevent the text cursor from ever getting on a drawing
  • [5] 2L5MEZV3 experiment: new edit namespace
  • [6] 5MEJ7XNH lay out buttons based on device dimensions
  • [7] LXTTOB33 extract a couple of files
  • [8] TVCPXAAU rename
  • [9] ESOJS6ZW extract a function
  • [10] GVX7YSQY initial script after splitting up text-zoom
  • [11] AZMYKWMH resolve conflicts
  • [12] E75L5QGU ok/cancel buttons in file dialog
  • [13] BTMACW42 resolve conflicts
  • [14] TLOAPLBJ add a license
  • [15] HVXZLNCC send errors from event handlers to output editor
  • [16] FIUQJVL2 first draft of load/save buttons
  • [17] D2GCFTTT clean up repl functionality
  • [18] 2Q437U4F starting to experiment with animated pane transitions
  • [19] JV27LDDK sliders for font size and color settings
  • [20] SGMA5JLE save the list of tests in repo
  • [21] W4EQ6IW4 simplify state management for menus
  • [22] 3DRVHB7C run script on startup; new button to switch to source editor
  • [23] SJXIMERS type out a filename to load/save
  • [24] NBTKJTI5 resolve conflicts
  • [25] YR7AXEYB add keyboard shortcuts for common operations
  • [26] JOY24JW6 indicate local modifications in load/save dialog
  • [27] PRE6XPRN responsively increase/decrease font height
  • [28] LRG2TNA7 screens now run
  • [29] TBTRYEBP Merge lines.love
  • [30] CMZDG7CJ bugfix: tapping in scrollbar area
  • [31] WR2WMEPE implement 'Run' button
  • [32] ADXY3K5Z wire up new-style car.* handlers
  • [33] UEG224LH debug animations
  • [34] RJPNFXVQ new fork: a personal dashboard for mobile devices
  • [35] KJLZCK2R resolve conflicts
  • [36] VUF2SX7B implement carousel buttons for inserting/switching current pane
  • [37] VXRYVZ74 Merge text.love
  • [38] NM2SILGF start implementing stashed files
  • [39] 2DVVKKVA flesh out Readme
  • [40] VLTU33KW resolve conflicts
  • [41] R5QXEHUI somebody stop me
  • [42] VHUNJHXB Merge lines.love
  • [43] LGIEVJE6 activate buttons for some time
  • [44] 36Z442IV back to commit 8123959e52f without code editing
  • [45] 6MQCFHXM remember when someone deletes an example
  • [46] SIJ5I4NZ extract a helper for buttons
  • [47] UUAIVZ4U 2 bugfixes in font rendering
  • [48] PN6VP3LV escape hatch when print is overridden
  • [49] OOSUBWKX subject people to a tutorial
  • [50] NVZTMKER partition handlers between screen regions
  • [51] PTBOQDJ7 resolve stale conflicts
  • [52] SW5GN5LP suggest a default layout for freewheeling apps
  • [53] IYXT7GFC resolve conflicts
  • [54] BLWAYPKV extract a module
  • [55] KKMFQDR4 editing source code from within the app
  • [56] JOPVPUSA editing source code from within the app
  • [57] 2AZCZD6X Lua Carousel now tested to load/save screens from/to save dir.
  • [58] BULPIBEG beginnings of a module for the text editor
  • [59] 3QNOKBFM beginnings of a test harness
  • [60] MBAJPTDJ resolve conflicts
  • [61] 4QFVRJ5U get rid of pane transition animations
  • [62] DDWCYLPL explicitly state stance on autosave
  • [63] VXORMHME delete experimental REPL
  • [64] 5RUFNRJO start of the visual skeleton
  • [65] 66X36NZN a little more prose describing manual_tests
  • [66] LRDM35CE app running again
  • [67] CZQ3NJ4N Merge text0
  • [68] QLJY3CKC bugfix: use border color in scrollbars
  • [69] N2NUGNN4 include a brief reference enabling many useful apps
  • [70] 3PSFWAIL Merge lines.love
  • [71] Z5M23NTK implement second, 'output' editor
  • [72] 47VXAH2H delete some old code
  • [73] 4YDBYBA4 clean up memory leak experiments
  • [74] GYFNSF33 new menu option: revert local changes
  • [75] OC4P6P36 greatly simplify slider implementation
  • [76] VEAVIL4X resize handler
  • [77] TOXPJJYY resolve conflicts
  • [78] MZ3DMYPD start sketching out a scrollbar
  • [79] SIASJPGR save the list of open files across restart
  • [80] ARLTID7G replace some calls with my names
  • [81] QMRQL2FO resolve conflicts
  • [82] G6WO7RL4 resolve conflicts
  • [83] OGUV4HSA remove some memory leaks from rendered fragments
  • [84] 4GX6NAY4 some very basic animations for switching panes
  • [85] 72OBZ3VM bundle support for .wav files
  • [86] EZHO4TSW new file-system format for freewheeling apps
  • [87] 73OCE2MC after much struggle, a brute-force undo
  • [88] VHQCNMAR several more modules
  • [89] 6DJMOJKE support event handlers
  • [90] AVTNUQYR basic test-enabled framework
  • [91] GWLETNMW Mike's suggested button layout
  • [92] VSGPLJFA resolve conflicts
  • [93] QWPQUVBR provide a place to set the font
  • [94] 6RYG2FQJ switch all handlers to run either the app or editor
  • [95] URM35DJS rip out the canvas
  • [96] PCHTG7YU resolve conflicts
  • [97] FS2ITYYH record a known issue
  • [98] VP5KC4XZ Merge lines.love
  • [99] YT7NMQ6Z delete dead code
  • [100] Q4CJ4WWU switch to a single global output editor
  • [101] KKQKPGCI resolve conflicts
  • [102] ED4Z6ORC cleaner API for file-system access
  • [103] GVJEOWYQ resolve conflicts
  • [104] KMSL74GA support selections in the source editor
  • [105] MMNPQU6X delete some unused code
  • [106] RK2ASPN7 add lots of buttons to the toolbar
  • [107] ZENSSO3D pass remaining love handlers through
  • [108] VAVXKWZV aggregate global state inside a 'pane' object
  • [109] IP4LD33D mouse events for scrollbar
  • [110] VVGWHJBZ fix app identity so successive versions share data
  • [111] CE4LZV4T drop last couple of manual tests
  • [112] K2X6G75Z start writing some tests for drawings
  • [113] YV2GBDNW preserve settings across restart
  • [114] PJ5PQAQE record support for multiple versions
  • [115] 6RYGW5H3 bugfix: output border color
  • [116] RSZD5A7G forgot to add json.lua
  • [117] D43U7GQ4 alter on-disk representation (manifest files)
  • [118] 2CFLXLIE Merge text.love
  • [119] XJBUCJAG bugfix: skipping files near right margin
  • [120] T4FRZSYL delete an ancient, unused file
  • [121] ZLJYLPOT Merge lines.love
  • [122] RBWTXOQS get rid of example screens
  • [123] R6MNUXDJ pijul bug
  • [124] OL7ZCZWD Merge text.love
  • [125] PUXFYOQ4 rename a function
  • [126] 2IJLEJGT indicate local modifications in editor title bar
  • [127] ROYQO45B mount old location of screens if possible
  • [128] Q3EQI5LI some keyboard shortcuts on non-mobile devices
  • [129] 6VJTQKW7 start supporting LÖVE v12
  • [130] W3RRTO4P extract a second helper for buttons
  • [131] FVXR2WIW 'run_screen' for loading one screen from another
  • [132] I52S4E5F running `print` now appends to output editor
  • [133] 6LJZN727 handle chords
  • [134] 4SR3Z4Y3 document the version of LÖVE I've been using
  • [135] BH4QJ5CH extract functions for computing editor dimensions
  • [136] 57HKHZ7Z include the tool that's mentioned in representation.md
  • [137] LWPFEZBI Merge lines.love
  • [138] CAG7PP5Y Merge text.love
  • [139] ZM7NOBRM new fork: carousel shell
  • [140] OTIBCAUJ love2d scaffold
  • [141] XX7G2FFJ intermingle freehand line drawings with text
  • [142] G42WRYFR new handler: mousemoved
  • [143] ORKN6EOB Merge lines.love
  • [144] 5OVKHVY6 nice way to make on.* handlers more discoverable

Change contents

  • file deletion: 0123-refresh_directory_contents (----------)
    [4.2][4.912:967](),[4.967][4.968:968]()
    refresh_directory_contents = function()
    Directory_contents = {}
    local filenames = App.files(Directory)
    for _,filename in ipairs(filenames) do
    local file_info = App.file_info(Directory..filename)
    if file_info.type == 'file' then
    table.insert(Directory_contents, filename)
    end
    end
    table.sort(Directory_contents)
    end
  • file addition: 0190-next_stash_filename (----------)
    [4.2]
    next_stash_filename = function(root)
    local i = 1
    while true do
    local filename = root..'.'..tostring(i)
    if not file_exists(Stash_directory..filename) then
    return filename
    end
    i = i+1
    end
    end
  • replacement in 0185-stash_pane at line 6
    [4.1539][4.1539:1584]()
    local dest = Stash_directory..pane.filename
    [4.1539]
    [4.1584]
    local stash_filename = next_stash_filename(pane.filename)
    local dest = Stash_directory..stash_filename
  • edit in 0185-stash_pane at line 11
    [4.1730]
    [3.774]
    pane.filename = stash_filename
  • edit in 0134-reset_file_dialog_state at line 4
    [2.26]
    [4.1031]
    Stash_directory_contents = nil
  • replacement in 0119-draw_file_dialog at line 39
    [4.2377][4.2591:2704](),[4.2704][3.1399:1447]()
    y = y+Line_height+20
    App.color{r=1, g=1, b=1}
    g.print('stashed files:', Menu_left+10, y)
    y = y+Line_height+5
    y = add_stash_files_to_dialog(Menu_left+10, y)
    [4.2377]
    [4.624]
    if #Stash_directory_contents > 0 then
    y = y+Line_height+20
    App.color{r=1, g=1, b=1}
    g.print('stashed files:', Menu_left+10, y)
    y = y+Line_height+5
    y = add_stash_files_to_dialog(Menu_left+10, y)
    end