1 %% This file contains Erlang code for testing the
2 %% Erlware emacs mode. It contains functions that
3 %% use different corner cases to make sure the mode
4 %% does the right thing.
6 %% <<If comment-multi-line is on, Press Return to get another %% line>>
11 % This line should stay here after a tab.
12 % If the comment-multi-line variable is non-nil, then pressing
13 % Return at end of this line shouldto get another % line.
17 % Pressing tabs on all lines should not change indents.
25 [$
% | ["should not be highlighted as a comment"]],
29 % If you edit the font lock mode to underline function names,
30 % there should not be an underline character after the '->'.
35 module:somefun(monkey
, horse
)
37 % both these clauses should maintain their indents after tab presses
40 error:function_clause
->
46 % `is_atom' should be highlighted as a guard above
48 % All functions below should be highlighted as functions, not
49 % as guards or bifs. So each entire function name should be
50 % highlighted in the same way.
57 % atom_to_list and element should be highlighted as bifs
58 AppName
= atom_to_list(element(1, AppSpec
)),
60 % These should be highlighted as bifs.
63 hd(tl(tl(hd([a
,b
,c
])))).
65 % `-spec' should be highlighted as an attribute, i.e. the same way as
69 -spec
func6() -> any().
72 % These should be highlighted as atoms
79 % 3 lines below should be highlighted as literals
83 % in line below, V should be highlited as a var
87 % in line below, Mo and Vv should be highlited as vars
89 % in line below, Mo as var, bla as func call
91 % the ':' should no be highlighted
92 ets:insert(bla
,{'$1',{'$2','$3'}}).
95 % should keep indentation on tab
102 % anatom should be highlighted as an atom, not a string
106 % N.B. A '$' at the end of a string must be escaped, or the
107 % highlighting will not work. This is of course a bug, but I don't
108 % know how to fix it and the workaround is simple.
110 % this comment should be highlighted as a comment
111 % following should be highlighted as a string, should indent on tab
114 func9(Term
, [$
{|T
]) ->
115 % above should be highlighted correctly
116 % all function body lines should not indent further on tab