From 6efcef220f2c00d8dd50aa7da4293ba2841cf17b Mon Sep 17 00:00:00 2001 From: 636f6d6d656e740a <39064859+636f6d6d656e740a@users.noreply.github.com> Date: Wed, 13 May 2020 00:06:10 +0100 Subject: Create language_hs.lua --- plugins/language_hs.lua | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 plugins/language_hs.lua (limited to 'plugins/language_hs.lua') diff --git a/plugins/language_hs.lua b/plugins/language_hs.lua new file mode 100644 index 0000000..f0bf378 --- /dev/null +++ b/plugins/language_hs.lua @@ -0,0 +1,45 @@ +local syntax = require "core.syntax" + +syntax.add { + files = { "%.hs$" }, + comment = "%-%-", + patterns = { + { pattern = {"%-%-", "\n"}, type = "comment" }, + { pattern = { "{%-", "%-}" }, type = "comment" }, + { pattern = { '"', '"', '\\' }, type = "string" }, + { pattern = { "'", "'", '\\' }, type = "string" }, + { pattern = "-?0x%x+", type = "number" }, + { pattern = "-?%d+[%d%.eE]*f?", type = "number" }, + { pattern = "-?%.?%d+f?", type = "number" }, + { pattern = "[!%#%$%%&*+./%<=>%?@\\%^|%-~:]", type = "operator" }, + { pattern = "[%a_'][%w_']*", type = "symbol" }, + }, + symbols = { + ["as"] = "keyword", + ["case"] = "keyword", + ["of"] = "keyword", + ["class"] = "keyword", + ["data"] = "keyword", + ["default"] = "keyword", + ["deriving"] = "keyword", + ["do"] = "keyword", + ["forall"] = "keyword", + ["foreign"] = "keyword", + ["hiding"] = "keyword", + ["if"] = "keyword", + ["then"] = "keyword", + ["else"] = "keyword", + ["import"] = "keyword", + ["infix"] = "keyword", + ["infixl"] = "keyword", + ["infixr"] = "keyword", + ["let"] = "keyword", + ["in"] = "keyword", + ["mdo"] = "keyword", + ["module"] = "keyword", + ["newtype"] = "keyword", + ["qualified"] = "keyword", + ["type"] = "keyword", + ["where"] = "keyword", + }, +} -- cgit v1.2.3