aboutsummaryrefslogtreecommitdiff
path: root/modules/textadept
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2011-03-09 19:23:26 -0500
committermitchell <70453897+667e-11@users.noreply.github.com>2011-03-09 19:23:26 -0500
commitfa47c738372849406d5ff97992c043793dbb2307 (patch)
treeedc5da558a78f5e839db63b86bec99736923bcbb /modules/textadept
parent9c5f059926f9b194c09e066bcf8631198cf13844 (diff)
downloadtextadept-fa47c738372849406d5ff97992c043793dbb2307.tar.gz
textadept-fa47c738372849406d5ff97992c043793dbb2307.zip
Try to determine lexer by file extension last; modules/textadept/mime_types.lua
Diffstat (limited to 'modules/textadept')
-rw-r--r--modules/textadept/mime_types.lua28
1 files changed, 13 insertions, 15 deletions
diff --git a/modules/textadept/mime_types.lua b/modules/textadept/mime_types.lua
index d4a7467b..7319861a 100644
--- a/modules/textadept/mime_types.lua
+++ b/modules/textadept/mime_types.lua
@@ -162,26 +162,24 @@ end
-- Sets the buffer's lexer language and loads the language module.
local function handle_new()
local lexer
- if buffer.filename then
- lexer = extensions[buffer.filename:match('[^/\\.]+$')]
+ local line = buffer:get_line(0)
+ if line:find('^#!') then
+ for word in line:gsub('[/\\]', ' '):gmatch('%S+') do
+ lexer = shebangs[word]
+ if lexer then break end
+ end
end
if not lexer then
- local line = buffer:get_line(0)
- if line:find('^#!') then
- for word in line:gsub('[/\\]', ' '):gmatch('%S+') do
- lexer = shebangs[word]
- if lexer then break end
- end
- end
- if not lexer then
- for patt, lex in pairs(patterns) do
- if line:find(patt) then
- lexer = lex
- break
- end
+ for patt, lex in pairs(patterns) do
+ if line:find(patt) then
+ lexer = lex
+ break
end
end
end
+ if not lexer and buffer.filename then
+ lexer = extensions[buffer.filename:match('[^/\\.]+$')]
+ end
buffer:set_lexer(lexer or 'container')
end