--- /dev/null
+$1 = "Helena";
+
+create_syntax_table ($1);
+
+define_syntax ("\\*","*\\",'%', $1); % comments
+define_syntax ("([{<", ")]}>", '(', $1); % brackets
+define_syntax ('"', '"', $1); % strings
+define_syntax ("\\a-zA-Z_0-9", 'w', $1); % words
+
+set_syntax_flags ($1, 4);
+
+() = define_keywords_n ($1, "\\ax\\th", 3, 0);
+() = define_keywords_n ($1, "\\def", 4, 0);
+() = define_keywords_n ($1, "\\cong\\decl\\open", 5, 0);
+() = define_keywords_n ($1, "\\close\\graph\\sorts", 6, 0);
+() = define_keywords_n ($1, "\\require", 8, 0);
+() = define_keywords_n ($1, "\\generate", 9, 0);
+
+define helena_mode ()
+{
+ variable kmap = "Helena";
+
+ set_mode(kmap, 0x04);
+ use_syntax_table (kmap);
+ runhooks("helena_mode_hook");
+}
+
+add_mode_for_extension ("helena", "hln");