I've reorganized the menu bar to make space for this command. Now the word-navigation hotkeys will be less discoverable. They're in the Readme, at least.
HQQKG6VLRZOSH5CSKECCQ5C7E37Q5SDDZN3U3E4MTSU67RCQQ2CAC
AZS44H5MHGCREAQDHLCKHLN7CATGCGO2V4SZ6ZNLXEGYGIFUKDMQC
OELP2MAL5RGZ3AZ42V6H7RLGX52JLNHGUD7GV6YIVZ3ACOK5SFSQC
D75Z6AN2MTX25GWL3LJCP4VGNRED6NP3XXRRFM2WVOXK7VD2VXBAC
R5QXEHUIZLELJGGCZAE7ATNS3CLRJ7JFRENMGH4XXH24C5WABZDQC
7TQAF4BYIK75EEYCCK7VEUSZHNCWMWIA3HZGQKIILYESUZ5ZZRVQC
Y6O2RFHV5UGHFS3ZZEH5HPKN5I7SV74GEV47MTI4WGJPAINJMBZAC
WVKFFN6FAJVKUL6NGAOWSS33WFD63GPOPSLDQ7JT4WM27KV7H65QC
BF7TW3EKRIDYC6J2Q2J4YOBAVQF55Y3H6KGZIHNXMH4N72MR6GXQC
manifest_navigator_candidates_by_contents = function()
local filter = Manifest_navigator.filter:lower()
if filter == '' then
return Manifest
end
local result = {}
for _,def in ipairs(Manifest) do
if Definitions[def] then -- TODO: why do we need this?
local contents = Definitions[def].data
for _,line in ipairs(contents) do
if line:lower():find(filter) then
table.insert(result, def)
break
end
end
end
end
return result
end
manifest_navigator_candidates_by_name = function()
local filter = Manifest_navigator.filter:lower()
if filter == '' then
return Manifest
end
local result = {}
for _,def in ipairs(Manifest) do
if def:lower():find(filter) then
table.insert(result, def)
end
end
return result
end
add_hotkey_to_menu('ctrl+l: load definition')
add_hotkey_to_menu('ctrl+n: new definition')
add_hotkey_to_menu('ctrl+d: delete definition')
add_hotkey_to_menu('ctrl+f: find')
add_hotkey_to_menu('ctrl+left ctrl+right: prev/next word')
add_hotkey_to_menu('ctrl+l ctrl+n ctrl+d: load/new/delete definition')
add_hotkey_to_menu('ctrl+s: search all definitions')
add_hotkey_to_menu('ctrl+f: find in definition')
local filter = Manifest_navigator.filter:lower()
if filter == '' then
return Manifest
end
local result = {}
for _,def in ipairs(Manifest) do
if def:lower():find(filter) then
table.insert(result, def)
end
if Manifest_navigator.filter_full_text then
return manifest_navigator_candidates_by_contents()
else
return manifest_navigator_candidates_by_name()
display = false, -- display navigator on screen
for_delete = false, -- if true, delete selected definition from navigator
show = false, -- display navigator on screen
filter_full_text = false, -- if true, show matching definition contents rather than names
for_delete = false, -- if true, delete selected definition from navigator on enter