1% A simple TI asm mode
2
3$1 = "tiasm";
4create_syntax_table ($1);
5
6define_syntax (";", "", '%', $1);       % Comment Syntax
7%define_syntax ('\\', '\\', $1);         % Quote character
8define_syntax ("{[", "}]", '(', $1);    %  are all these needed?
9define_syntax ('\'', '"', $1);           %  string
10define_syntax ("$~^_&#", '+', $1);      %  operators
11define_syntax ("|&{}[],", ',', $1);      %  delimiters
12define_syntax ("a-zA-Z0-9.", 'w', $1);
13set_syntax_flags ($1, 1 | 2);
14set_fortran_comment_chars ($1, "*");
15
16% Type 0 keywords
17() = define_keywords_n ($1,
18			"andashbuddbdldaldilshmh1noppopsti",
19			3, 0);
20
21() = define_keywords_n ($1,
22			"addibeqdbledcmpildizlhu0lhu1pushretsrptbsubi",
23			4, 0);
24
25() = define_keywords_n ($1,
26			"ldinzrptbd",
27			5, 0);
28
29% Type 1 keywords
30() = define_keywords_n ($1,
31			".if",
32			3, 1);
33() = define_keywords_n ($1,
34			".end",
35			4, 1);
36() = define_keywords_n ($1,
37			".else.text",
38			5, 1);
39() = define_keywords_n ($1,
40			".endif.globl",
41			6, 1);
42
43define tiasm_mode ()
44{
45   variable kmap = "tiasm";
46   set_mode(kmap, 4);
47   use_syntax_table (kmap);
48   mode_set_mode_info (kmap, "fold_info", "*{{{\r*}}}\r\r");
49   run_mode_hooks("tiasm_mode_hook");
50}
51