Mercurial > vim
diff runtime/syntax/erlang.vim @ 1621:82b5078be2dd
updated for version 7.2a
author | vimboss |
---|---|
date | Tue, 24 Jun 2008 21:56:24 +0000 |
parents | 3fc0f57ecb91 |
children | 7bc41231fbc7 |
line wrap: on
line diff
--- a/runtime/syntax/erlang.vim +++ b/runtime/syntax/erlang.vim @@ -1,11 +1,11 @@ " Vim syntax file " Language: erlang (ERicsson LANGuage) -" http://www.erlang.se -" http://www.erlang.org -" Maintainer: Kre¹imir Mar¾iæ (Kresimir Marzic) <kmarzic@fly.srk.fer.hr> -" Last update: Fri, 15-Feb-2002 +" http://www.erlang.se +" http://www.erlang.org +" Maintainer: Csaba Hoch <csaba.hoch@gmail.com> +" Former Maintainer: KreÄ…imir Marľić (Kresimir Marzic) <kmarzic@fly.srk.fer.hr> +" Last update: 12-Mar-2008 " Filenames: .erl -" URL: http://www.srk.fer.hr/~kmarzic/vim/syntax/erlang.vim " There are three sets of highlighting in here: @@ -24,9 +24,9 @@ " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 - syntax clear + syntax clear elseif exists ("b:current_syntax") - finish + finish endif @@ -35,136 +35,140 @@ syn case match if ! exists ("erlang_characters") - " Basic elements - syn match erlangComment +%.*$+ - syn match erlangModifier "\~\a\|\\\a" contained - syn match erlangSpecialCharacter ":\|_\|@\|\\\|\"\|\." - syn match erlangSeparator "(\|)\|{\|}\|\[\|]\||\|||\|;\|,\|?\|->\|#" contained - syn region erlangString start=+"+ skip=+\\"+ end=+"+ contains=erlangModifier - syn region erlangAtom start=+'+ skip=+\\'+ end=+'+ + + " Basic elements + syn match erlangComment "%.*$" contains=erlangAnnotation,erlangTodo + syn match erlangAnnotation " \@<=@\%(clear\|docfile\|end\|headerfile\|todo\|TODO\|type\|author\|copyright\|doc\|reference\|see\|since\|title\|version\|deprecated\|hidden\|private\|equiv\|spec\|throws\)" contained + syn match erlangAnnotation "`[^']*'" contained + syn keyword erlangTodo TODO FIXME XXX contained + syn match erlangModifier "\~\a\|\\\a\|\\\\" contained + syn match erlangSpecialCharacter ":\|_\|@\|\\\|\"\|\." + syn match erlangSeparator "(\|)\|{\|}\|\[\|]\||\|||\|;\|,\|?\|->\|#" contained + syn region erlangString start=+"+ skip=+\\.+ end=+"+ contains=erlangModifier + syn region erlangAtom start=+'+ skip=+\\'+ end=+'+ - " Operators - syn match erlangOperator "+\|-\|\*\|\/" - syn keyword erlangOperator div rem or xor bor bxor bsl bsr - syn keyword erlangOperator and band not bnot - syn match erlangOperator "==\|/=\|=:=\|=/=\|<\|=<\|>\|>=" - syn match erlangOperator "++\|--\|=\|!\|<-" + " Operators + syn match erlangOperator "+\|-\|\*\|\/" + syn keyword erlangOperator div rem or xor bor bxor bsl bsr + syn keyword erlangOperator and band not bnot + syn match erlangOperator "==\|/=\|=:=\|=/=\|<\|=<\|>\|>=" + syn match erlangOperator "++\|--\|=\|!\|<-" - " Numbers - syn match erlangNumberInteger "[+-]\=\d\+" contains=erlangSeparator - syn match erlangNumberFloat1 "[+-]\=\d\+.\d\+" contains=erlangSeparator - syn match erlangNumberFloat2 "[+-]\=\d\+\(.\d\+\)\=[eE][+-]\=\d\+\(.\d\+\)\=" contains=erlangSeparator - syn match erlangNumberFloat3 "[+-]\=\d\+[#]\x\+" contains=erlangSeparator - syn match erlangNumberFloat4 "[+-]\=[eE][+-]\=\d\+" contains=erlangSeparator - syn match erlangNumberHex "$\x\+" contains=erlangSeparator + " Numbers + syn match erlangNumberInteger "\d\+" contains=erlangSeparator + syn match erlangNumberFloat1 "\d\+\.\d\+" contains=erlangSeparator + syn match erlangNumberFloat2 "\d\+\(\.\d\+\)\=[eE][+-]\=\d\+\(\.\d\+\)\=" contains=erlangSeparator + syn match erlangNumberFloat3 "\d\+[#]\x\+" contains=erlangSeparator + syn match erlangNumberHex "$\x\+" contains=erlangSeparator - " Ignore '_' and '-' in words - syn match erlangWord "\w\+[_-]\+\w\+" + " Ignore '_' and '-' in words + syn match erlangWord "\h\+\w*" - " Ignore numbers in words - syn match erlangWord "\w\+\d\+\(\(.\d\+\)\=\(\w\+\)\=\)\=" + syn match erlangChar /\$./ endif if ! exists ("erlang_functions") - " Functions call - syn match erlangFCall "\w\+\(\s\+\)\=[:@]\(\s\+\)\=\w\+" contains=ALLBUT,erlangFunction,erlangBIF,erlangWord + " Functions call + syn match erlangFCall "\%(\w\+\s*\.\s*\)*\w\+\s*[:@]\s*\w\+" - " build-in-functions (BIFs) - syn keyword erlangBIF abs alive apply atom_to_list - syn keyword erlangBIF binary_to_list binary_to_term - syn keyword erlangBIF concat_binary - syn keyword erlangBIF date disconnect_node - syn keyword erlangBIF element erase exit - syn keyword erlangBIF float float_to_list - syn keyword erlangBIF get get_keys group_leader - syn keyword erlangBIF halt hd - syn keyword erlangBIF integer_to_list is_alive - syn keyword erlangBIF length link list_to_atom list_to_binary - syn keyword erlangBIF list_to_float list_to_integer list_to_pid - syn keyword erlangBIF list_to_tuple load_module - syn keyword erlangBIF make_ref monitor_node - syn keyword erlangBIF node nodes now - syn keyword erlangBIF open_port - syn keyword erlangBIF pid_to_list process_flag - syn keyword erlangBIF process_info process put - syn keyword erlangBIF register registered round - syn keyword erlangBIF self setelement size spawn - syn keyword erlangBIF spawn_link split_binary statistics - syn keyword erlangBIF term_to_binary throw time tl trunc - syn keyword erlangBIF tuple_to_list - syn keyword erlangBIF unlink unregister - syn keyword erlangBIF whereis + " build-in-functions (BIFs) + syn keyword erlangBIF abs alive apply atom_to_list + syn keyword erlangBIF binary_to_list binary_to_term + syn keyword erlangBIF concat_binary + syn keyword erlangBIF date disconnect_node + syn keyword erlangBIF element erase exit + syn keyword erlangBIF float float_to_list + syn keyword erlangBIF get get_keys group_leader + syn keyword erlangBIF halt hd + syn keyword erlangBIF integer_to_list is_alive + syn keyword erlangBIF length link list_to_atom list_to_binary + syn keyword erlangBIF list_to_float list_to_integer list_to_pid + syn keyword erlangBIF list_to_tuple load_module + syn keyword erlangBIF make_ref monitor_node + syn keyword erlangBIF node nodes now + syn keyword erlangBIF open_port + syn keyword erlangBIF pid_to_list process_flag + syn keyword erlangBIF process_info process put + syn keyword erlangBIF register registered round + syn keyword erlangBIF self setelement size spawn + syn keyword erlangBIF spawn_link split_binary statistics + syn keyword erlangBIF term_to_binary throw time tl trunc + syn keyword erlangBIF tuple_to_list + syn keyword erlangBIF unlink unregister + syn keyword erlangBIF whereis - " Other BIFs - syn keyword erlangBIF atom binary constant function integer - syn keyword erlangBIF list number pid ports port_close port_info - syn keyword erlangBIF reference record + " Other BIFs + syn keyword erlangBIF atom binary constant function integer + syn keyword erlangBIF list number pid ports port_close port_info + syn keyword erlangBIF reference record - " erlang:BIFs - syn keyword erlangBIF check_process_code delete_module - syn keyword erlangBIF get_cookie hash math module_loaded - syn keyword erlangBIF preloaded processes purge_module set_cookie - syn keyword erlangBIF set_node + " erlang:BIFs + syn keyword erlangBIF check_process_code delete_module + syn keyword erlangBIF get_cookie hash math module_loaded + syn keyword erlangBIF preloaded processes purge_module set_cookie + syn keyword erlangBIF set_node - " functions of math library - syn keyword erlangFunction acos asin atan atan2 cos cosh exp - syn keyword erlangFunction log log10 pi pow power sin sinh sqrt - syn keyword erlangFunction tan tanh + " functions of math library + syn keyword erlangFunction acos asin atan atan2 cos cosh exp + syn keyword erlangFunction log log10 pi pow power sin sinh sqrt + syn keyword erlangFunction tan tanh - " Other functions - syn keyword erlangFunction call module_info parse_transform - syn keyword erlangFunction undefined_function + " Other functions + syn keyword erlangFunction call module_info parse_transform + syn keyword erlangFunction undefined_function - " Modules - syn keyword erlangModule error_handler + " Modules + syn keyword erlangModule error_handler endif if ! exists ("erlang_keywords") - " Constants and Directives - syn match erlangDirective "-compile\|-define\|-else\|-endif\|-export\|-file" - syn match erlangDirective "-ifdef\|-ifndef\|-import\|-include\|-include_lib" - syn match erlangDirective "-module\|-record\|-undef" + " Constants and Directives + syn match erlangDirective "-behaviour\|-behaviour" + syn match erlangDirective "-compile\|-define\|-else\|-endif\|-export\|-file" + syn match erlangDirective "-ifdef\|-ifndef\|-import\|-include_lib\|-include" + syn match erlangDirective "-module\|-record\|-undef" - syn match erlangConstant "-author\|-copyright\|-doc" + syn match erlangConstant "-author\|-copyright\|-doc\|-vsn" - " Keywords - syn keyword erlangKeyword after begin case catch - syn keyword erlangKeyword cond end fun if - syn keyword erlangKeyword let of query receive - syn keyword erlangKeyword when + " Keywords + syn keyword erlangKeyword after begin case catch + syn keyword erlangKeyword cond end fun if + syn keyword erlangKeyword let of query receive + syn keyword erlangKeyword when + syn keyword erlangKeyword try - " Processes - syn keyword erlangProcess creation current_function dictionary - syn keyword erlangProcess group_leader heap_size high initial_call - syn keyword erlangProcess linked low memory_in_use message_queue - syn keyword erlangProcess net_kernel node normal priority - syn keyword erlangProcess reductions registered_name runnable - syn keyword erlangProcess running stack_trace status timer - syn keyword erlangProcess trap_exit waiting + " Processes + syn keyword erlangProcess creation current_function dictionary + syn keyword erlangProcess group_leader heap_size high initial_call + syn keyword erlangProcess linked low memory_in_use message_queue + syn keyword erlangProcess net_kernel node normal priority + syn keyword erlangProcess reductions registered_name runnable + syn keyword erlangProcess running stack_trace status timer + syn keyword erlangProcess trap_exit waiting - " Ports - syn keyword erlangPort command count_in count_out creation in - syn keyword erlangPort in_format linked node out owner packeting + " Ports + syn keyword erlangPort command count_in count_out creation in + syn keyword erlangPort in_format linked node out owner packeting - " Nodes - syn keyword erlangNode atom_tables communicating creation - syn keyword erlangNode current_gc current_reductions current_runtime - syn keyword erlangNode current_wall_clock distribution_port - syn keyword erlangNode entry_points error_handler friends - syn keyword erlangNode garbage_collection magic_cookie magic_cookies - syn keyword erlangNode module_table monitored_nodes name next_ref - syn keyword erlangNode ports preloaded processes reductions - syn keyword erlangNode ref_state registry runtime wall_clock + " Nodes + syn keyword erlangNode atom_tables communicating creation + syn keyword erlangNode current_gc current_reductions current_runtime + syn keyword erlangNode current_wall_clock distribution_port + syn keyword erlangNode entry_points error_handler friends + syn keyword erlangNode garbage_collection magic_cookie magic_cookies + syn keyword erlangNode module_table monitored_nodes name next_ref + syn keyword erlangNode ports preloaded processes reductions + syn keyword erlangNode ref_state registry runtime wall_clock - " Reserved - syn keyword erlangReserved apply_lambda module_info module_lambdas - syn keyword erlangReserved record record_index record_info + " Reserved + syn keyword erlangReserved apply_lambda module_info module_lambdas + syn keyword erlangReserved record record_index record_info - " Extras - syn keyword erlangExtra badarg nocookie false fun true + " Extras + syn keyword erlangExtra badarg nocookie false fun true - " Signals - syn keyword erlangSignal badsig kill killed exit normal + " Signals + syn keyword erlangSignal badsig kill killed exit normal endif @@ -173,52 +177,53 @@ endif " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists ("did_erlang_inits") - if version < 508 - let did_erlang_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif + if version < 508 + let did_erlang_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif - " erlang_characters - HiLink erlangComment Comment - HiLink erlangSpecialCharacter Special - HiLink erlangSeparator Normal - HiLink erlangModifier Special - HiLink erlangOperator Operator - HiLink erlangString String - HiLink erlangAtom Type + " erlang_characters + HiLink erlangComment Comment + HiLink erlangAnnotation Special + HiLink erlangTodo Todo + HiLink erlangSpecialCharacter Special + HiLink erlangSeparator Normal + HiLink erlangModifier Special + HiLink erlangOperator Operator + HiLink erlangString String + HiLink erlangAtom Type - HiLink erlangNumberInteger Number - HiLink erlangNumberFloat1 Float - HiLink erlangNumberFloat2 Float - HiLink erlangNumberFloat3 Float - HiLink erlangNumberFloat4 Float - HiLink erlangNumberHex Number + HiLink erlangNumberInteger Number + HiLink erlangNumberFloat1 Float + HiLink erlangNumberFloat2 Float + HiLink erlangNumberFloat3 Float + HiLink erlangNumberFloat4 Float + HiLink erlangNumberHex Number - HiLink erlangWord Normal + HiLink erlangWord Normal - " erlang_functions - HiLink erlangFCall Function - HiLink erlangBIF Function - HiLink erlangFunction Function - HiLink erlangModuleFunction Function + " erlang_functions + HiLink erlangFCall Function + HiLink erlangBIF Function + HiLink erlangFunction Function + HiLink erlangModuleFunction Function - " erlang_keywords - HiLink erlangDirective Type - HiLink erlangConstant Type - HiLink erlangKeyword Keyword - HiLink erlangProcess Special - HiLink erlangPort Special - HiLink erlangNode Special - HiLink erlangReserved Statement - HiLink erlangExtra Statement - HiLink erlangSignal Statement + " erlang_keywords + HiLink erlangDirective Type + HiLink erlangConstant Type + HiLink erlangKeyword Keyword + HiLink erlangProcess Special + HiLink erlangPort Special + HiLink erlangNode Special + HiLink erlangReserved Statement + HiLink erlangExtra Statement + HiLink erlangSignal Statement - delcommand HiLink + delcommand HiLink endif let b:current_syntax = "erlang" -" eof