(file) Return to makefile.st CVS log (file) (dir) Up to [RizwankCVS] / testProject / source / states / hl

 1 rizwank 1.1 /**
 2              * Name: makefile
 3              * Description: Make program's definition files.
 4              * Author: Markku Rossi <mtr@iki.fi>
 5              */
 6             
 7             state sh_eat_to_apostrophe extends Highlight
 8             {
 9               /\'/ {
10                 language_print ($0);
11                 return;
12               }
13             }
14             
15             state sh_eat_to_grave extends Highlight
16             {
17               /`/ {
18                 language_print ($0);
19                 return;
20               }
21             }
22 rizwank 1.1 
23             state makefile extends HighlightEntry
24             {
25               /* Comments. */
26               /#/ {
27                 comment_face (true);
28                 language_print ($0);
29                 call (eat_one_line);
30                 comment_face (false);
31               }
32               /* An escaped double quote, this doesn't start a string constant. */
33               /\\\"/ {
34                 language_print ($0);
35               }
36             
37               /* String constants. */
38               /\"/ {
39                 string_face (true);
40                 language_print ($0);
41                 call (c_string);
42                 string_face (false);
43 rizwank 1.1   }
44             
45               /* Shell apostrophe quote. */
46               /\'/ {
47                 string_face (true);
48                 language_print ($0);
49                 call (sh_eat_to_apostrophe);
50                 string_face (false);
51               }
52             
53               /* Shell grave quote. */
54               /`/ {
55                 string_face (true);
56                 language_print ($0);
57                 call (sh_eat_to_grave);
58                 string_face (false);
59               }
60             
61               /* Variable references. */
62             
63               /\$\(/ {
64 rizwank 1.1     language_print ($0);
65                 reference_face (true);
66                 str = match_balanced_block (/\(/, /\)/);
67                 reference_face (false);
68                 language_print (str);
69               }
70             
71               /\${/ {
72                 language_print ($0);
73                 reference_face (true);
74                 str = match_balanced_block (/{/, /}/);
75                 reference_face (false);
76                 language_print (str);
77               }
78             
79               /* Targets. */
80               /^[^ \t\r\n]+:/ {
81                 keyword_face (true);
82                 language_print ($0);
83                 keyword_face (false);
84               }
85 rizwank 1.1 }
86             
87             
88             /*
89             Local variables:
90             mode: c
91             End:
92             */

Rizwan Kassim
Powered by
ViewCVS 0.9.2