From 9042f2c36a6b3729ce472d55447d2fe5964cb2ce Mon Sep 17 00:00:00 2001 From: Francesco Abbate Date: Mon, 15 Nov 2021 12:11:21 +0100 Subject: Fix language_sh with $ string interpolation and '#' When an expansion like "${#arr[@]}" is met the par after # was interpreted as a comment. Move the pattern for dollar/brace expansion befor the pattern for comments to avoid the problem. --- plugins/language_sh.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/language_sh.lua b/plugins/language_sh.lua index 9159f3b..a44b212 100644 --- a/plugins/language_sh.lua +++ b/plugins/language_sh.lua @@ -9,6 +9,7 @@ syntax.add { -- $# is a bash special variable and the '#' shouldn't be interpreted -- as a comment. { pattern = "$[%a_@*#][%w_]*", type = "keyword2" }, + { pattern = "${.-}", type = "keyword2" }, { pattern = "#.*\n", type = "comment" }, { pattern = [[\.]], type = "normal" }, { pattern = { '"', '"', '\\' }, type = "string" }, @@ -17,7 +18,6 @@ syntax.add { { pattern = "%f[%w_][%d%.]+%f[^%w_]", type = "number" }, { pattern = "[!<>|&%[%]=*]", type = "operator" }, { pattern = "%f[%S]%-[%w%-_]+", type = "function" }, - { pattern = "${.-}", type = "keyword2" }, { pattern = "[%a_][%w_]*", type = "symbol" }, }, symbols = { -- cgit v1.2.3