Pretty hacky at the moment.
AUE2Y6HE5AIZVFO6EGLYNXKBDXGXJKDURTA4CFAEX6ZWRZKUCMUQC
LW6UME22NIRDLYNQDP47SLYT2ZEBD4HMHQOJNXJRRXQYVMNF4IGAC
RQ37HOBMOPOATWRTCEYIRSSGO6P63SQTGFUQM32QFJXKQI5NYDMQC
IZAQ4C7DZ3OTGUPDYVRYJPHO6HT67HL7DZLPNIPWINBHNNLK42OAC
GQBUV2XOMEPMTXMPCBQWGGIUXGQDX77VTGPFIG6YT7G64ASOYHXQC
DCRK7A4WVEY7AIGV4AHTO3Z4V4HXJJ7O27HFSDHZZSAN5BHPNDAAC
7RVHGLQKGOPWHUXZP2Z7ZK4TCJBEBTUUGXXBJPSIXF3M337YZJ2QC
EUO5TC6WPNQIMJPD7ZRRHAKGM3XCRLPFNXIAJM2E552QAVQ4LE4AC
MR6AZIQOKRRF4FQX2KDDU7GLZHFRF7UPBDGNTCQYNCYGGKWJJ42AC
D4TYWCTVOBD2WY566CAIJTDYJU26CDZIRCU4J44HYBNYQRIWP7FQC
3JDTNKUEWV3V2ABWCOAR4I5LHY3R4MARCFAAQ3KEYGKYHQOXCC2QC
5PKJBN4VVCNWTWQAYWXYOHUUUUUENC6SJMFTQI3QFA2BHKS7EQ2AC
-- Candidate commands to show in in the command palette in different contexts.
-- Ideally we'd have rules for:
-- contexts to show a command at
-- order in which to show commands for each context
-- But I don't want to design that, so I'm just going to embrace a
-- combinatorial explosion of duplication for a while.
'capture', -- hard-coded at index 1; we want C-enter enter to create a new note
'edit note at cursor (ctrl+e)', -- hard-coded at index 2; see candidates() below
'maximize note', -- hard-coded at index 3; see candidates() below
'close column surrounding cursor',
'down one pane (ctrl+down)',
'up one pane (ctrl+up)',
'top pane of column (ctrl+home)',
'bottom pane of column (ctrl+end)',
'wider columns (X)',
'narrower columns (x)',
'recently modified',
'reload note at cursor from disk',
'search (all notes)',
'/ (find on screen)',
normal={
'capture',
'edit note at cursor (ctrl+e)',
'maximize note',
'close column surrounding cursor',
'down one pane (ctrl+down)',
'up one pane (ctrl+up)',
'top pane of column (ctrl+home)',
'bottom pane of column (ctrl+end)',
'wider columns (X)',
'narrower columns (x)',
'recently modified',
'reload note at cursor from disk',
'search (all notes)',
'/ (find on screen)',
},
editable={
'exit editing (ctrl+e)',
'capture',
'maximize note',
'close column surrounding cursor',
'down one pane (ctrl+down)',
'up one pane (ctrl+up)',
'top pane of column (ctrl+home)',
'bottom pane of column (ctrl+end)',
'wider columns (X)',
'narrower columns (x)',
'recently modified',
'reload note at cursor from disk',
'search (all notes)',
'/ (find on screen)',
},
maximized={
'back to surface',
'edit note at cursor (ctrl+e)',
'wider columns (X)',
'narrower columns (x)',
'reload note at cursor from disk',
'/ (find on screen)',
},
maximized_editable={
'exit editing (ctrl+e)',
'back to surface',
'wider columns (X)',
'narrower columns (x)',
'reload note at cursor from disk',
'search (all notes)',
'/ (find on screen)',
},
Commands[3] = 'maximize note'
else
Commands[3] = 'back to surface'
if not pane.editable then
candidates = Commands.normal
else
candidates = Commands.editable
end
elseif Display_settings.mode == 'maximize' then
if not pane.editable then
candidates = Commands.maximized
else
candidates = Commands.maximized_editable
end