I'm starting to notice that the titles of columns needs to be a language now, unambiguously affecting how it is initialized.
Perhaps over time we'll need a separate column id in addition to name.
5HOB5Y6ZDNJ42XMHQ7YWZTUCK4DAJRPYRECDWTKFSXZWQ4ZMMSNAC
CUWL2BKJQK75DML6KOE6EGMYUXHSMVSIIKP4SII4NSIOZO2EASGQC
IOYWCTDEHO4GHC777JYUODJSSHL2SJWYTUG5PQPZOG5HEVR6XXYQC
PJNQY5CDYYWKFUFK3OFXU7UZCFTTMBSYDMEKIY7LUZIB5XFRTQQQC
OTIBCAUJ3KDQJLVDN3A536DLZGNRYMGJLORZVR3WLCGXGO6UGO6AC
SYS77RM72TL7SLUQIJBN6D7DI5I6HSHCHXLPXREPADUNBBFM5TYAC
KVHUFUFVOSY6GB4XI2QK4T4WCLIYOV3NZR67TX6AQHAQDWJMEOBQC
EGS44RTAG7JVLLEA4KH63MBZAD4O5HNRSJQIOC6SRKHUG3G56R6QC
R2DITAZZJNA3QJ3QQ3Y6FB6VNFRP5UXDMNJ64SRYVXDAN5PIPWUAC
DRYBR6MIVT6MQEI4B6GJMOY4WRZ42ALNWO4BEVMUBP4GV326KOHQC
25GIWMASSPUME4NGCHWBHJDN5FOZVFTWZZFOZ2ZP5YHCKZOY6GJAC
J3ER7DFO2TXYUMJAXZUFEHQNLFDNIXSYDTE7HEFGQ2RYB3A6RFPAC
GQBUV2XOMEPMTXMPCBQWGGIUXGQDX77VTGPFIG6YT7G64ASOYHXQC
6SEECG7ACIN6ZK72ED3DKYZKBNM5M5OMTD4M6HLNMAH376NYNAEAC
CVK6T5OZZPWGWZ4E2QQZKCOWZPC25EDWXZWLLTPBDDRGEQGADKNAC
if Cache[id] == nil then
Cache[id] = {id=id, filename=Directory..id, left=0, right=Display_settings.column_width}
load_from_disk(Cache[id])
initialize_file_metadata(Cache[id])
Cache[id].links = load_links(id)
end
initialize_cache_if_necessary(id)
if Cache[pane.id].links[rel] == nil then
print(('%s has no %s note'):format(pane.id, rel))
return
end
local column = {name=('%s from %s'):format(rel, pane.id)}
local curr = pane.id
while curr do
local pane = load_pane_from_file(curr)
table.insert(column, pane)
curr = Cache[curr].links[rel]
end
local column = unroll_column(pane.id, rel)
function unroll_column(id, rel)
if Cache[id].links[rel] == nil then
print(('%s has no %s note'):format(id, rel))
return
end
local column = {name=('%s from %s'):format(rel, id)}
local curr = id
while curr do
local pane = load_pane_from_file(curr)
table.insert(column, pane)
curr = Cache[curr].links[rel]
end
return column
end