" Vim syntax file " Language: Erlang " Author: Oscar Hellström (http://oscar.hellstrom.st) " Contributors: Ricardo Catalinas Jiménez " License: Vim license " Version: 2011/09/11 if exists("b:current_syntax") finish else let b:current_syntax = "erlang" endif if !exists("g:erlang_highlight_bif") let g:erlang_highlight_bif = 1 endif " Erlang is case sensitive syn case match " Match groups syn match erlangStringModifier /\\./ contained syn match erlangStringModifier /\~\%(-\?[0-9*]\+\)\?\%(\.[0-9*]\+\..\?\)\?\%(c\|f\|e\|g\|s\|w\|p\|W\|P\|B\|X\|#\|b\|+\|n\|i\)/ contained syn match erlangModifier /\$\\\?./ syn match erlangInteger /\<\%([0-9]\+#[0-9a-fA-F]\+\|[0-9]\+\)\>/ syn match erlangFloat /\<[0-9]\+\.[0-9]\+\%(e-\?[0-9]\+\)\?\>/ syn keyword erlangTodo TODO FIXME XXX contained syn match erlangComment /%.*$/ contains=@Spell,erlangTodo,erlangAnnotation syn match erlangAnnotation /\%(%\s\)\@<=@\%(author\|clear\|copyright\|deprecated\|doc\|docfile\|end\|equiv\|headerfile\|hidden\|private\|reference\|see\|since\|spec\|throws\|title\|todo\|TODO\|type\|version\)/ contained syn match erlangAnnotation /`[^']\+'/ contained syn keyword erlangKeyword band bor bnot bsl bsr bxor div rem xor syn keyword erlangKeyword try catch begin receive after cond fun let query syn keyword erlangConditional case if of end syn keyword erlangConditional not and or andalso orelse syn keyword erlangConditional when syn keyword erlangBoolean true false syn keyword erlangGuard is_list is_alive is_atom is_binary is_bitstring is_boolean is_tuple is_number is_integer is_float is_function is_constant is_pid is_port is_reference is_record is_process_alive syn match erlangOperator /\/\|*\|+\|-\|++\|--/ syn match erlangOperator /->\|<-\|||\||\|!\|=/ syn match erlangOperator /=:=\|==\|\/=\|=\/=\|<\|>\|=<\|>=/ syn keyword erlangOperator div rem syn region erlangString start=/"/ end=/"/ skip=/\\/ contains=@Spell,erlangStringModifier syn match erlangVariable /\<[A-Z_]\w*\>/ syn match erlangAtom /\%(\%(^-\)\|#\)\@\%(\s*[(:]\)\@!/ syn match erlangAtom /\\\@/ syn match erlangBitSize /:\@<=[0-9]\+/ syn match erlangBinary /<<\|>>/ " BIFs syn match erlangBIF /\%([^:0-9A-Za-z_]\|\