function fill_list_func() list_func:clear() local findRegExp1 = { cpp="([^.,<>=\n]-[ :][^.,<>=\n%s]+[(][^.<>=)]-[)])[%s\/}]-%b{}", vb="(\n[Public ]*[Private ]*[SsFfP][Uur][BbNno][^\r]-)\r", vbscript="(\n[SsFf][Uu][BbNn][^\r]-)\r", css="([%w.#-_]+)[%s}]-%b{}", pascal="\n[pPfF][rRuU][oOnN][cC][eEtT][dDiI][uUoO][rRnN].(.-%b().-)\n", python="\n%s-([dc][el][fa]%s-.-):" } -- js="(\n[^,<>\n]-function[^(]-%b())[^{]-%b{}", local findPattern = findRegExp1 [editor.LexerLanguage] if findPattern == nil then findPattern = "\n[local ]*[SsFf][Uu][BbNn][^ .]* ([^(]*%b())" end local textAll = editor:GetText() local startPos, endPos, findString startPos = 1 while true do startPos, endPos, findString = string.find(textAll, findPattern, startPos) if startPos == nil then break end findString = findString:gsub("[\r\n]", ""):gsub("%s+", " ") local line_number = editor:LineFromPosition(startPos) list_func:add_item(findString, line_number) startPos = endPos + 1 end end |