From 6a7e214d1cb7ecdd292dd2b17c17f2504904db4e Mon Sep 17 00:00:00 2001 From: rxi Date: Sun, 7 Jun 2020 08:56:49 +0100 Subject: [PATCH 1/3] Removed __APPLE__ `#ifdef` from main.c --- src/main.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main.c b/src/main.c index abafd2bb..6bf68b70 100644 --- a/src/main.c +++ b/src/main.c @@ -7,8 +7,6 @@ #include #elif __linux__ #include -#elif __APPLE__ - #include #endif From db471c05547f060acbaa3001d235588431da5bef Mon Sep 17 00:00:00 2001 From: rxi Date: Sun, 7 Jun 2020 14:02:45 +0100 Subject: [PATCH 2/3] Version 1.07 --- src/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index 6bf68b70..cf9baa13 100644 --- a/src/main.c +++ b/src/main.c @@ -100,7 +100,7 @@ int main(int argc, char **argv) { } lua_setglobal(L, "ARGS"); - lua_pushstring(L, "1.06"); + lua_pushstring(L, "1.07"); lua_setglobal(L, "VERSION"); lua_pushstring(L, SDL_GetPlatform()); From ba6c14846b97512254901357392d5a649fe130dd Mon Sep 17 00:00:00 2001 From: rxi Date: Mon, 8 Jun 2020 09:44:51 +0100 Subject: [PATCH 3/3] Added file-header pattern support to `syntax` --- data/core/doc/init.lua | 3 ++- data/core/syntax.lua | 11 ++++++++--- data/plugins/language_lua.lua | 1 + data/plugins/language_python.lua | 1 + data/plugins/language_xml.lua | 1 + 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/data/core/doc/init.lua b/data/core/doc/init.lua index bb09ce2b..83b5fc01 100644 --- a/data/core/doc/init.lua +++ b/data/core/doc/init.lua @@ -56,7 +56,8 @@ end function Doc:reset_syntax() - local syn = syntax.get(self.filename or "") + local header = self:get_text(1, 1, self:position_offset(1, 1, 128)) + local syn = syntax.get(self.filename or "", header) if self.syntax ~= syn then self.syntax = syn self.highlighter:reset() diff --git a/data/core/syntax.lua b/data/core/syntax.lua index fe8cc862..a763ac78 100644 --- a/data/core/syntax.lua +++ b/data/core/syntax.lua @@ -11,14 +11,19 @@ function syntax.add(t) end -function syntax.get(filename) +local function find(string, field) for i = #syntax.items, 1, -1 do local t = syntax.items[i] - if common.match_pattern(filename, t.files) then + if common.match_pattern(string, t[field] or {}) then return t end end - return plain_text_syntax +end + +function syntax.get(filename, header) + return find(filename, "files") + or find(header, "headers") + or plain_text_syntax end diff --git a/data/plugins/language_lua.lua b/data/plugins/language_lua.lua index 79e2fce0..c577a28f 100644 --- a/data/plugins/language_lua.lua +++ b/data/plugins/language_lua.lua @@ -2,6 +2,7 @@ local syntax = require "core.syntax" syntax.add { files = "%.lua$", + headers = "^#!.*[ /]lua", comment = "--", patterns = { { pattern = { '"', '"', '\\' }, type = "string" }, diff --git a/data/plugins/language_python.lua b/data/plugins/language_python.lua index ef79f234..4a6ada33 100644 --- a/data/plugins/language_python.lua +++ b/data/plugins/language_python.lua @@ -2,6 +2,7 @@ local syntax = require "core.syntax" syntax.add { files = "%.py$", + headers = "^#!.*[ /]python", comment = "#", patterns = { { pattern = { "#", "\n" }, type = "comment" }, diff --git a/data/plugins/language_xml.lua b/data/plugins/language_xml.lua index 9400e778..5240bdc4 100644 --- a/data/plugins/language_xml.lua +++ b/data/plugins/language_xml.lua @@ -2,6 +2,7 @@ local syntax = require "core.syntax" syntax.add { files = { "%.xml$", "%.html?$" }, + headers = "<%?xml", patterns = { { pattern = { "" }, type = "comment" }, { pattern = { '%f[^>][^<]', '%f[<]' }, type = "normal" },