|
|
|
@ -43,7 +43,7 @@
|
|
|
|
|
</alias>
|
|
|
|
|
|
|
|
|
|
<alias
|
|
|
|
|
match="^(note (list(?: \d+)?|unread))$"
|
|
|
|
|
match="^(note\s?(?:list(?:\s\d+)?|unread|to\s\w+|from\s\w+|subj\s.+)?)$"
|
|
|
|
|
enabled="y"
|
|
|
|
|
regexp="y"
|
|
|
|
|
script="startNoteList"
|
|
|
|
@ -127,8 +127,37 @@ function addToWindow(lines)
|
|
|
|
|
NotesWin:show()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function hyperlinknotes(lines)
|
|
|
|
|
|
|
|
|
|
function findBoundaries(lines)
|
|
|
|
|
local first_index = nil
|
|
|
|
|
local last_index = nil
|
|
|
|
|
|
|
|
|
|
-- Find the first and last indices with ~ in the text field
|
|
|
|
|
for i, v in ipairs(lines) do
|
|
|
|
|
if (string.find(v[1].text, "~") or string.find(v[1].text, "No more new posts")) and not first_index then
|
|
|
|
|
first_index = i
|
|
|
|
|
end
|
|
|
|
|
if (string.find(v[1].text, "~") or string.find(v[1].text, "There are no new")) then
|
|
|
|
|
last_index = i
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Remove all the entries before the first ~ and after the last ~
|
|
|
|
|
if first_index and last_index then
|
|
|
|
|
for i = #lines, last_index + 1, -1 do
|
|
|
|
|
table.remove(lines, i)
|
|
|
|
|
end
|
|
|
|
|
for i = first_index - 1, 1, -1 do
|
|
|
|
|
table.remove(lines, i)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return lines
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function hyperlinknotes(lines)
|
|
|
|
|
for i,v in ipairs(findBoundaries(lines)) do
|
|
|
|
|
if i < 5 or i == #lines then
|
|
|
|
|
Simulate(stylesToANSI(v) .. "\n")
|
|
|
|
|
else
|
|
|
|
|