diff options
Diffstat (limited to 'core/ext')
-rw-r--r-- | core/ext/menu.lua | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/core/ext/menu.lua b/core/ext/menu.lua index 7d5649e5..6ff5681a 100644 --- a/core/ext/menu.lua +++ b/core/ext/menu.lua @@ -287,14 +287,21 @@ local menubar = { { l.MENU_HELP_LUADOC, ID.LUADOC }, }, } +local lexers_found = {} local lexers = {} local lexer_menu = { title = l.MENU_LEX_TITLE } local lfs = require 'lfs' for lexer in lfs.dir(_HOME..'/lexers/') do if lexer:find('%.lua$') and lexer ~= 'lexer.lua' then - lexers[#lexers + 1] = lexer:match('^(.+)%.lua$') + lexers_found[lexer:match('^(.+)%.lua$')] = true end end +for lexer in lfs.dir(_USERHOME..'/lexers/') do + if lexer:find('%.lua$') and lexer ~= 'lexer.lua' then + lexers_found[lexer:match('^(.+)%.lua$')] = true + end +end +for lexer in pairs(lexers_found) do lexers[#lexers + 1] = lexer end table.sort(lexers) for _, lexer in ipairs(lexers) do lexer_menu[#lexer_menu + 1] = { lexer, ID.LEXER_START + #lexer_menu } |