Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag
# -------------------------------
#
# Erlang programming language syntax highlighting
# for CoolEdit
#
# Homepage of Erlang: http://www.erlang.org
#
# Author: Witold Baryluk < baryluk at smp if uj edu pl >
# Date: 07-07-2009, 08-02-2009
#
# -------------------------------
#
# Useful links:
# http://www.erlang.org/doc/doc-5.4.13/doc/reference_manual/part_frame.html
# http://www.erlang.org/doc/reference_manual/data_types.html#2.14
# http://www.regular-expressions.info/reference.html
# gedit: http://martin.ankerl.com/files/erlang.lang
# joe: http://www.straatinvestments.com/~tlack/erlang/joe-editor/erlang.jsf
# geshi: http://www.kreisquadratur.de/blog/?p=305
# vim: http://erlang.org/pipermail/erlang-questions/2006-July/021362.html
# kate: http://bugsfiles.kde.org/attachment.cgi?id=21155
#
# entries for Syntax file:
#
# file ..\*\\.erl$ Erlang\sProgram (-module\\(|#!.*escript)
# include erlang.syntax
#
# file ..\*\\.hrl$ Erlang\sHeader -record\\(
# include erlang.syntax

context default
    keyword whole after color19
    keyword whole and color30
    keyword whole andalso color30
    keyword whole band color30
    keyword whole begin color19
    keyword whole bnot color30
    keyword whole bor color30
    keyword whole bsl color30
    keyword whole bsr color30
    keyword whole bxor color30
    keyword whole case color19
    keyword whole catch color19
    keyword whole cond color19
    keyword whole div color30
    keyword whole end color19
    keyword whole fun color19
    keyword whole if color19
    keyword whole let color19
    keyword whole not color30
    keyword whole of color19
    keyword whole or color30
    keyword whole orelse color30
    keyword whole query color19
    keyword whole receive color19
    keyword whole rem color30
    keyword whole try color19
    keyword whole throw color19
    keyword whole xor color30

    keyword whole when color19

    keyword whole -module color90
    keyword whole -compile color90
    keyword whole -behaviour color90
    keyword whole -record color90
    keyword whole -define color90
    keyword whole -include color90
    keyword whole -include_lib color90
    keyword whole -vsn color91
    keyword whole -author color91
    keyword whole -copyright color91
    keyword whole -export color90
    keyword whole -\{abcdefghijklmnoprqstuvwxyz\}\[abcdefghijklmnoprqstuvwxyzABCDEFGHIJKLMNOPRQSTVWXYZ0123456789_\] color160

# erlang:*
    keyword whole abs color88
    keyword whole accept color88
    keyword whole alarm color88
    keyword whole apply color88
    keyword whole atom_to_list color88
    keyword whole binary_to_list color88
    keyword whole binary_to_term color88
    keyword whole check_process_code color88
    keyword whole concat_binary color88
    keyword whole date color88
    keyword whole delete_module color88
    keyword whole disconnect_node color88
    keyword whole element color88
    keyword whole erase color88
    keyword whole exit color88
    keyword whole float color88
    keyword whole float_to_list color88
    keyword whole garbage_collect color88
    keyword whole get color88
    keyword whole get_keys color88
    keyword whole group_leader color88
    keyword whole halt color88
    keyword whole hd color88
    keyword whole integer_to_list color88
    keyword whole is_alive color88
    keyword whole is_atom color88
    keyword whole is_binary color88
    keyword whole is_boolean color88
    keyword whole is_float color88
    keyword whole is_function color88
    keyword whole is_integer color88
    keyword whole is_list color88
    keyword whole is_number color88
    keyword whole is_pid color88
    keyword whole is_port color88
    keyword whole is_process_alive color88
    keyword whole is_record color88
    keyword whole is_reference color88
    keyword whole is_tuple color88
    keyword whole length color88
    keyword whole link color88
    keyword whole list_to_atom color88
    keyword whole list_to_binary color88
    keyword whole list_to_float color88
    keyword whole list_to_integer color88
    keyword whole list_to_pid color88
    keyword whole list_to_tuple color88
    keyword whole load_module color88
    keyword whole loaded color88
    keyword whole localtime color88
    keyword whole make_ref color88
    keyword whole module_loaded color88
    keyword whole node color88
    keyword whole nodes color88
    keyword whole now color88
    keyword whole open_port color88
    keyword whole pid_to_list color88
    keyword whole port_close color88
    keyword whole port_command color88
    keyword whole port_connect color88
    keyword whole port_control color88
    keyword whole ports color88
    keyword whole pre_loaded color88
    keyword whole process_flag color88
    keyword whole process_info color88
    keyword whole processes color88
    keyword whole purge_module color88
    keyword whole put color88
    keyword whole register color88
    keyword whole registered color88
    keyword whole round color88
    keyword whole self color88
    keyword whole setelement color88
    keyword whole size color88
    keyword whole spawn color88
    keyword whole spawn_link color88
    keyword whole spawn_opt color88
    keyword whole split_binary color88
    keyword whole statistics color88
    keyword whole term_to_binary color88
    keyword whole throw color88
    keyword whole time color88
    keyword whole tl color88
    keyword whole trunc color88
    keyword whole tuple_to_list color88
    keyword whole unlink color88
    keyword whole unregister color88
    keyword whole whereis color88

    keyword whole gen_server:cast color88
    keyword whole gen_server:call color88
    keyword whole gen_server:reply color88
    keyword whole gen_server:start_link color88
    keyword whole gen_server:start color88
    keyword whole io:format color88

    keyword whole init color243
    keyword whole handle_cast color243
    keyword whole handle_call color243
    keyword whole handle_info color243
    keyword whole handle_event color243
    keyword whole handle_sync_event color243
    keyword whole terminate color243
    keyword whole code_change color243

# list comprehension
    keyword <- color19
# clause
    keyword -> color19
# guards
    keyword =:= color30
    keyword == color30
    keyword /= color30
    keyword =/= color30
# binary
    keyword << color17
    keyword >> color17
# guards
    keyword < color30
    keyword =< color30
    keyword >= color30
    keyword > color30
# ops
    keyword - color19
    keyword \+ color19
    keyword / color19
    keyword \* color19

    keyword ; color17
    keyword , color17
    keyword . color17
    keyword = color19
    keyword % color30

    keyword \+\+ color19
    keyword -- color19
    keyword ! color19
# TODO this does not work for $" or $', use $\" or $\' instead. ?
    keyword $\{abcdefghijklmnoprqstuvwxyzABCDEFGHIJKLMNOPRQSTUVWXYZ0123456789_{}[]()(\\/`~!@#$%^&\*+-=;:'"|,./?<>\} color160
    keyword $\ color160

#    keyword '\\\{0123\}\{01234567\}\{01234567\}' color88

# TODO: integers, inegers of form Base#digits, 2#1010101
# todo: records access via #state{}

    keyword whole ?MODULE color160
    keyword whole ?LINE color160
    keyword whole ?FILE color160
    keyword whole ?\[abcdefghijklmnoprqstuvwxyzABCDEFGHIJKLMNOPRQSTUVWXYZ0123456789_@\] color160

# gray operatory
# cyan - moduly


    keyword whole true color160
    keyword whole false color160

    keyword [ color17
    keyword || color17
    keyword | color17
    keyword ] color17
    keyword ( color17
    keyword ) color17
    keyword { color26
    keyword } color26

    keyword whole lists:seq color240
    keyword whole lists:map color240
    keyword whole lists:filter color240
    keyword whole lists:reduce color240
    keyword whole lists:foldl color240
    keyword whole lists:foldr color240
    keyword whole lists:append color240
    keyword whole lists:nth color240
    keyword whole behaviour_info color240
    keyword whole dict:find color240
    keyword whole dict:is_key color240
    keyword whole dict:erase color240
    keyword whole dict:new color240
    keyword whole dict:map color240
    keyword whole dict:store color240
    keyword whole dict:fetch_keys color240
    keyword whole dict:append color240
    keyword whole dict:update color240
    keyword whole dict:update_counter color240
    keyword whole dict:fold color240
    keyword whole dict:to_list color240
    keyword whole dict:fetch color240

# todo: no more than one dot in atom, and not at the end
    keyword whole \{abcdefghijklmnoprqstuvwxyz\}\[abcdefghijklmnoprqstuvwxyzABCDEFGHIJKLMNOPRQSTUVWXYZ0123456789_.@\] color252
    keyword whole \{_ABCDEFGHIJKLMNOPRQSTUVWXYZ\}\[abcdefghijklmnoprqstuvwxyzABCDEFGHIJKLMNOPRQSTUVWXYZ0123456789_@\] color243

context exclusive % \n color30
    spellcheck

context " " color28
    spellcheck
    keyword ~p color88
    keyword ~n color88
    keyword ~w color88
    keyword ~~ color88
    keyword \\" color88
    keyword \\\{0123\}\{01234567\}\{01234567\} color88
    keyword \\\{01234567\}\{01234567\} color88
    keyword \\\{01234567\} color88
    keyword \\x\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\} color88
    keyword \\\\ color88
    keyword \\' color88
    keyword \\\{bdefrstv\} color88
    keyword \\^\{abcdefghijklmnoprqstuvwxyzABCDEFGHIJKLMNOPRQSTUVWXYZ\} color88

context ' ' color160
    keyword \\" color196
    keyword \\\{0123\}\{01234567\}\{01234567\} color196
    keyword \\\{01234567\}\{01234567\} color196
    keyword \\\{01234567\} color196
    keyword \\x\{0123456789abcdefABCDEF\}\{0123456789abcdefABCDEF\} color196
    keyword \\\\ color196
    keyword \\' color196
    keyword \\\{bdefrstv\} color196
    keyword \\^\{abcdefghijklmnoprqstuvwxyzABCDEFGHIJKLMNOPRQSTUVWXYZ\} color196