switch to a single global output editor
Dependencies
- [2]
QG25UE3Sbugfix: typo X-( - [3]
5OCELN37bugfix in output editor wrapping - [4]
OTJQKAQZbugfix: update output font (and menus) - [5]
6RYG2FQJswitch all handlers to run either the app or editor - [6]
3DRVHB7Crun script on startup; new button to switch to source editor - [7]
VLTU33KWresolve conflicts - [8]
AVTNUQYRbasic test-enabled framework - [9]
IP4LD33Dmouse events for scrollbar - [10]
WR2WMEPEimplement 'Run' button - [11]
QLJY3CKCbugfix: use border color in scrollbars - [12]
PUXFYOQ4rename a function - [13]
GFBOJWNEresolve conflicts - [14]
YV2GBDNWpreserve settings across restart - [15]
NVZTMKERpartition handlers between screen regions - [16]
2L5MEZV3experiment: new edit namespace - [17]
VHUNJHXBMerge lines.love - [18]
7SJHYHMBclean up the setFont gotcha - [19]
CMZDG7CJbugfix: tapping in scrollbar area - [20]
72OBZ3VMbundle support for .wav files - [21]
RSZD5A7Gforgot to add json.lua - [22]
VXORMHMEdelete experimental REPL - [23]
PJ5PQAQErecord support for multiple versions - [24]
4SR3Z4Y3document the version of LÖVE I've been using - [25]
5MEJ7XNHlay out buttons based on device dimensions - [26]
W4EQ6IW4simplify state management for menus - [27]
BULPIBEGbeginnings of a module for the text editor - [28]
VHQCNMARseveral more modules - [29]
73OCE2MCafter much struggle, a brute-force undo - [30]
SW5GN5LPsuggest a default layout for freewheeling apps - [31]
MZ3DMYPDstart sketching out a scrollbar - [32]
E75L5QGUok/cancel buttons in file dialog - [33]
3PSFWAILMerge lines.love - [34]
EZHO4TSWnew file-system format for freewheeling apps - [35]
6LJZN727handle chords - [36]
2CEAF7YRresolve conflicts - [37]
LXTTOB33extract a couple of files - [38]
4GX6NAY4some very basic animations for switching panes - [39]
5RUFNRJOstart of the visual skeleton - [40]
ZENSSO3Dpass remaining love handlers through - [41]
RU4HIK43Merge lines.love - [42]
W3RRTO4Pextract a second helper for buttons - [43]
HVXZLNCCsend errors from event handlers to output editor - [44]
KKQKPGCIresolve conflicts - [45]
JV27LDDKsliders for font size and color settings - [46]
ZM7NOBRMnew fork: carousel shell - [47]
VAVXKWZVaggregate global state inside a 'pane' object - [48]
TFUNIT6Mresolve conflicts - [49]
5LN2NUSEresolve conflicts - [50]
JOPVPUSAediting source code from within the app - [51]
KMSL74GAsupport selections in the source editor - [52]
UEG224LHdebug animations - [53]
7D7J5J4Xappend errors to output buffer - [54]
D43U7GQ4alter on-disk representation (manifest files) - [55]
ZLJYLPOTMerge lines.love - [56]
Z5M23NTKimplement second, 'output' editor - [57]
RK2ASPN7add lots of buttons to the toolbar - [58]
36Z442IVback to commit 8123959e52f without code editing - [59]
SJXIMERStype out a filename to load/save - [60]
LGIEVJE6activate buttons for some time - [61]
VVGWHJBZfix app identity so successive versions share data - [62]
ADXY3K5Zwire up new-style car.* handlers - [63]
CZQ3NJ4NMerge text0 - [64]
FM5LDKGTMerge text.love - [65]
ROYQO45Bmount old location of screens if possible - [66]
URM35DJSrip out the canvas - [67]
OGUV4HSAremove some memory leaks from rendered fragments - [68]
6VJTQKW7start supporting LÖVE v12 - [69]
VP5KC4XZMerge lines.love - [70]
57HKHZ7Zinclude the tool that's mentioned in representation.md - [71]
VUF2SX7Bimplement carousel buttons for inserting/switching current pane - [72]
6RYGW5H3bugfix: output border color - [73]
RBWTXOQSget rid of example screens - [74]
I52S4E5Frunning `print` now appends to output editor - [75]
2DVVKKVAflesh out Readme - [76]
OGDDLU5Bclose all menus when tapping any button - [77]
FS2ITYYHrecord a known issue - [78]
3QNOKBFMbeginnings of a test harness - [79]
ED4Z6ORCcleaner API for file-system access - [80]
5OVKHVY6nice way to make on.* handlers more discoverable - [81]
LXR2FNDCresolve conflicts - [82]
FIUQJVL2first draft of load/save buttons - [83]
OOSUBWKXsubject people to a tutorial - [84]
LWPFEZBIMerge lines.love - [85]
K2X6G75Zstart writing some tests for drawings - [86]
MMNPQU6Xdelete some unused code - [87]
SGMA5JLEsave the list of tests in repo - [88]
QMRQL2FOresolve conflicts - [89]
D2GCFTTTclean up repl functionality - [90]
XX7G2FFJintermingle freehand line drawings with text - [91]
GVX7YSQYinitial script after splitting up text-zoom - [92]
PRE6XPRNresponsively increase/decrease font height - [93]
G42WRYFRnew handler: mousemoved - [94]
SIASJPGRsave the list of open files across restart - [95]
RJPNFXVQnew fork: a personal dashboard for mobile devices - [96]
CE4LZV4Tdrop last couple of manual tests - [97]
N2NUGNN4include a brief reference enabling many useful apps - [98]
VXRYVZ74Merge text.love - [99]
ESOJS6ZWextract a function - [100]
6MQCFHXMremember when someone deletes an example - [101]
KKMFQDR4editing source code from within the app - [102]
OL7ZCZWDMerge text.love - [103]
OE26XIQObring back syntax highlighting (but so ugly) - [104]
T4FRZSYLdelete an ancient, unused file - [105]
CAG7PP5YMerge text.love - [106]
ORKN6EOBMerge lines.love - [107]
TVCPXAAUrename - [108]
4YDBYBA4clean up memory leak experiments - [109]
Q6RXCILQMerge text.love - [110]
YK5FRJWHprint to output buffer in all callbacks - [111]
PN6VP3LVescape hatch when print is overridden - [112]
2CFLXLIEMerge text.love - [113]
OTIBCAUJlove2d scaffold - [114]
6DJMOJKEsupport event handlers - [115]
VSGPLJFAresolve conflicts - [116]
2Q437U4Fstarting to experiment with animated pane transitions - [117]
4QFVRJ5Uget rid of pane transition animations - [118]
UUAIVZ4U2 bugfixes in font rendering - [119]
VEAVIL4Xresize handler - [120]
WICFZ4UZ'clear' button now clears the entire pane - [121]
XJX53BE3bugfix: catch errors in mouse_press handlers - [122]
OC4P6P36greatly simplify slider implementation - [123]
BJ5X5O4Alet's prevent the text cursor from ever getting on a drawing - [124]
BLWAYPKVextract a module - [125]
TBTRYEBPMerge lines.love - [126]
EHKB76GOUI improvement: more stable scrollbar movement - [127]
7JEYXICUresolve conflicts - [128]
TLOAPLBJadd a license - [129]
66X36NZNa little more prose describing manual_tests - [130]
LRDM35CEapp running again - [131]
LRG2TNA7screens now run - [132]
YT7NMQ6Zdelete dead code - [133]
R5QXEHUIsomebody stop me - [134]
SIJ5I4NZextract a helper for buttons - [135]
QD4LOFQRMerge text.love - [136]
GWLETNMWMike's suggested button layout - [137]
47VXAH2Hdelete some old code
Change contents
- file deletion: 0075-clear_pane
clear_pane = function()edit.clear(Current_pane.editor_state)edit.clear(Current_pane.output_editor_state)end - file deletion: 0074-clear_pane_button
clear_pane_button = function(x, y, r)return overflowable_button('clear', x, y, r,function()Show_menu = nilclear_pane()end)end - replacement in conf.lua at line 2
t.identity = 'dash't.identity = 'dash2' - file addition: 0162-Output_editor_state[7.2]
Output_editor_state = nil - replacement in 0160-run_app at line 4
edit.clear(Current_pane.output_editor_state)edit.clear(Output_editor_state) - replacement in 0160-run_app at line 14
-- could be either output or errortable.insert(Current_pane.output_editor_state.lines, {data=tostring(error)})table.insert(Output_editor_state.lines, {data=tostring(error)}) - replacement in 0160-run_app at line 16
if #Current_pane.output_editor_state.lines == 0 thentable.insert(Current_pane.output_editor_state.lines, {data=''})if #Output_editor_state.lines == 0 thentable.insert(Output_editor_state.lines, {data=''}) - replacement in 0160-run_app at line 19
Text.redraw_all(Current_pane.output_editor_state)Text.redraw_all(Output_editor_state) - replacement in 0114-update_output_editor at line 1
update_output_editor = function(pane)pane.output_editor_state.top = pane.editor_state.bottom+5+10+5pane.output_editor_state.right = pane.editor_state.rightpane.output_editor_state.width = pane.editor_state.widthpane.output_editor_state.bottom = Safe_height - 5Text.redraw_all(pane.output_editor_state)update_output_editor = function()Output_editor_state.top = Current_pane.editor_state.bottom+5+10+5Output_editor_state.right = Current_pane.editor_state.rightOutput_editor_state.width = Current_pane.editor_state.widthOutput_editor_state.bottom = Safe_height - 5Text.redraw_all(Output_editor_state) - replacement in 0102-send_errors_to_output at line 4[7.768]→[7.70:233](∅→∅),[3.29]→[7.842:893](∅→∅),[7.233]→[7.842:893](∅→∅),[7.842]→[7.842:893](∅→∅),[7.893]→[7.234:308](∅→∅)
table.insert(Current_pane.output_editor_state.lines, {data=''})Current_pane.output_editor_state.cursor1 = {line=#Current_pane.output_editor_state.lines, pos=1}Text.redraw_all(Current_pane.output_editor_state)Text.insert_text(Current_pane.output_editor_state, error_with_callstack)table.insert(Output_editor_state.lines, {data=''})Output_editor_state.cursor1 = {line=#Output_editor_state.lines, pos=1}Text.redraw_all(Output_editor_state)Text.insert_text(Output_editor_state, error_with_callstack) - replacement in 0101-on.mouse_wheel_move at line 13
edit.mouse_wheel_move(Current_pane.output_editor_state, dx,dy)edit.mouse_wheel_move(Output_editor_state, dx,dy) - replacement in 0050-print_to_output at line 3
table.insert(Current_pane.output_editor_state.lines,table.insert(Output_editor_state.lines, - replacement in 0050-print_to_output at line 5
Text.redraw_all(Current_pane.output_editor_state)Text.redraw_all(Output_editor_state) - replacement in 0049-new_pane at line 2
local result = {}result.editor_state = code_editor_state()result.output_editor_state = output_editor_state(result.editor_state)return resultreturn {editor_state = code_editor_state()} - edit in 0045-Current_pane at line 3
output_editor_state = nil, - edit in 0032-update_font_settings at line 19
edit.update_font_settings(pane.output_editor_state, Font_height)update_output_editor(pane) - edit in 0032-update_font_settings at line 20
edit.update_font_settings(Output_editor_state, Font_height)update_output_editor() - replacement in 0017-on.mouse_release at line 31[7.848]→[7.848:1024](∅→∅),[7.1024]→[7.129:188](∅→∅),[7.188]→[7.1024:1159](∅→∅),[7.1024]→[7.1024:1159](∅→∅)
elseif Current_pane.output_editor_state.scrollbar_drag thenadjust_scrollbar(Current_pane.output_editor_state, y)Current_pane.output_editor_state.scrollbar_drag = nilCurrent_pane.output_editor_state.scrollbar_offset = nilelseif on_editor_scrollbar_area(Current_pane.output_editor_state, x,y) thenadjust_scrollbar(Current_pane.output_editor_state, y)elseif Output_editor_state.scrollbar_drag thenadjust_scrollbar(Output_editor_state, y)Output_editor_state.scrollbar_drag = nilOutput_editor_state.scrollbar_offset = nilelseif on_editor_scrollbar_area(Output_editor_state, x,y) thenadjust_scrollbar(Output_editor_state, y) - replacement in 0016-on.mouse_press at line 43[7.1762]→[7.1762:1893](∅→∅),[7.1893]→[7.473:548](∅→∅),[7.548]→[2.142:208](∅→∅),[2.208]→[7.1893:1971](∅→∅),[7.444]→[7.1893:1971](∅→∅),[7.1893]→[7.1893:1971](∅→∅)
elseif on_editor_scrollbar(Current_pane.output_editor_state, x,y) thenCurrent_pane.output_editor_state.scrollbar_drag = truelocal sbtopy = compute_scrollbar_topy(Current_pane.output_editor_state)Current_pane.output_editor_state.scrollbar_offset = y - sbtopyelseif on_editor_scrollbar_area(Current_pane.output_editor_state, x,y) thenelseif on_editor_scrollbar(Output_editor_state, x,y) thenOutput_editor_state.scrollbar_drag = truelocal sbtopy = compute_scrollbar_topy(Output_editor_state)Output_editor_state.scrollbar_offset = y - sbtopyelseif on_editor_scrollbar_area(Output_editor_state, x,y) then - replacement in 0012-on.draw at line 24
edit.draw(Current_pane.output_editor_state, Foreground_color, --[[hide cursor]] true)draw_scrollbar(Current_pane.output_editor_state)edit.draw(Output_editor_state, Foreground_color, --[[hide cursor]] true)draw_scrollbar(Output_editor_state) - edit in 0011-on.initialize at line 22
Output_editor_state = output_editor_state(Current_pane.editor_state) - replacement in 0004-on.update at line 15
elseif Current_pane.output_editor_state.scrollbar_drag thenadjust_scrollbar(Current_pane.output_editor_state, App.mouse_y())elseif Output_editor_state.scrollbar_drag thenadjust_scrollbar(Output_editor_state, App.mouse_y())