This requires commands that create columns to provide helpers that populate them.
scenario: unroll a column, quit, restart
Before this commit the unrolled column seemed to disappear. In reality it was just getting pushed back by single-file columns that were inserting after cursor rather than appending.
CMGIWHDA5EQY22VK7GJMDMCONMVYKJ7HCB6QISHTMVZGUBIPAYFQC
SV6XYVDLBZ5STTTRCNOR32WLAPGBL5CHAZIFB3YSZ3XZQV4WX6EAC
UJ27PGBNBE7ARCKWT7O7BX6RVU5DDEYLKYRQYFBUWHLDMYKZ2CZQC
Y4M5FINMIU5YBMIUAFPNN6FRTONITB4FH4CF4SAN7EZEILT6YRPQC
2S7DYJ57LKAZHZ4CZCCAFWDMOUPUXPJNTDYD4FJQA32SFVUCDOJQC
B22JHH4W75CLJTHZWAHJZWYL3L7IN4MSIJSR5CCCCXYWYA27TRNQC
5HOB5Y6ZDNJ42XMHQ7YWZTUCK4DAJRPYRECDWTKFSXZWQ4ZMMSNAC
P376DBJTKHBVGQ57PF7LQFZVUMBJPS4QKY2VKVN765FUCIPWL6QAC
OTIBCAUJ3KDQJLVDN3A536DLZGNRYMGJLORZVR3WLCGXGO6UGO6AC
SOWKJG6CUNU7ZON5XWWX7WULX5Q5BU2ZUTQ322KQYPKZVHEXMHCQC
AOVGO4PFCRRXU3JPQIVW36UPY6HAGMAH3HHA3E3J7QYZGDYA4B6QC
EGS44RTAG7JVLLEA4KH63MBZAD4O5HNRSJQIOC6SRKHUG3G56R6QC
3GSGEHXSTYJLYCY5ZKHVHLAYL5ZUN6FPVZ52FZK5X3GZNRSCKI3QC
LN4IIRPP2CQ26OJZLXL37MYK2H3PXRWDNVM3FQKQPWNPOZAR6DQQC
GQBUV2XOMEPMTXMPCBQWGGIUXGQDX77VTGPFIG6YT7G64ASOYHXQC
4P4AGIIG55VT6Y3JZVZPB756H4N2C6NTVMWCOOGCOSY63K4ILBFAC
CVK6T5OZZPWGWZ4E2QQZKCOWZPC25EDWXZWLLTPBDDRGEQGADKNAC
VE7YQMQYCRL77YOFEXFXJXL7VPE6FIEBBJ6KLFZHDWDAKOLMLOUQC
F4D7UKSAHDIKOASTFGRUBRHIZBKTWREPFDK2AMDOW7WDDSGSDCEQC
7JAODGVLU6GEMEJTJL34QMYOCKWPFX22A4UH5SLSDGSIVIRETO7QC
C6XYHFVEEI4B7SHF5KIPSBOBLVWGODZS56JAIOUKQPRC4FAUSJAQC
JPX4LCTO7AWAFUFO7G2TRQQAQ4CKDYZ52PX7XXROIBKXJYNZITOQC
J3YDSRMTV44CILD443Y36LHYII2ZI43DFAWJZG6PERP35DEVYXRQC
6SEECG7ACIN6ZK72ED3DKYZKBNM5M5OMTD4M6HLNMAH376NYNAEAC
PJNQY5CDYYWKFUFK3OFXU7UZCFTTMBSYDMEKIY7LUZIB5XFRTQQQC
if column_name == 'recently modified' then
command.recently_modified()
elseif file_exists(Directory..column_name) then
command.open_file(column_name)
if file_exists(Directory..column_name) then
local column = {name=column_name}
local pane = load_pane(column_name)
table.insert(column, pane)
table.insert(Surface, column)
table.insert(Surface, Cursor_pane.col+1, column)
Cursor_pane.col = Cursor_pane.col+1
Cursor_pane.row = 1
local col_sx = left_edge_sx(Cursor_pane.col)
if col_sx > Display_settings.x + App.screen.width - Display_settings.column_width then
Display_settings.x = math.max(0, col_sx + Display_settings.column_width + Margin_right + Padding_horizontal - App.screen.width)
Display_settings.y = 0
end
plan_draw()