summaryrefslogtreecommitdiff
path: root/runtime/syntax/icon.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2004-06-13 20:20:40 +0000
committerBram Moolenaar <Bram@vim.org>2004-06-13 20:20:40 +0000
commit071d4279d6ab81b7187b48f3a0fc61e587b6db6c (patch)
tree221cbe3c40e043163c06f61c52a7ba2eb41e12ce /runtime/syntax/icon.vim
parentb4210b3bc14e2918f153a7307530fbe6eba659e1 (diff)
downloadvim-git-071d4279d6ab81b7187b48f3a0fc61e587b6db6c.tar.gz
updated for version 7.0001v7.0001
Diffstat (limited to 'runtime/syntax/icon.vim')
-rw-r--r--runtime/syntax/icon.vim212
1 files changed, 212 insertions, 0 deletions
diff --git a/runtime/syntax/icon.vim b/runtime/syntax/icon.vim
new file mode 100644
index 000000000..1a73c43d8
--- /dev/null
+++ b/runtime/syntax/icon.vim
@@ -0,0 +1,212 @@
+" Vim syntax file
+" Language: Icon
+" Maintainer: Wendell Turner <wendell@adsi-m4.com>
+" URL: ftp://ftp.halcyon.com/pub/users/wturner/icon.vim
+" Last Change: 2003 May 11
+
+" 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
+elseif exists("b:current_syntax")
+ finish
+endif
+
+syn keyword iconFunction abs acos any args asin atan bal
+syn keyword iconFunction callout center char chdir close collect copy
+syn keyword iconFunction cos cset delay delete detab display dtor
+syn keyword iconFunction entab errorclear exit exp find flush function
+syn keyword iconFunction get getch getche getenv iand icom image
+syn keyword iconFunction insert integer ior ishift ixor kbhit key
+syn keyword iconFunction left list loadfunc log many map match
+syn keyword iconFunction member move name numeric open ord pop
+syn keyword iconFunction pos proc pull push put read reads
+syn keyword iconFunction real remove rename repl reverse right rtod
+syn keyword iconFunction runerr save seek seq set sin sort
+syn keyword iconFunction sortf sqrt stop string system tab table
+syn keyword iconFunction tan trim type upto variable where write writes
+
+" Keywords
+syn match iconKeyword "&allocated"
+syn match iconKeyword "&ascii"
+syn match iconKeyword "&clock"
+syn match iconKeyword "&collections"
+syn match iconKeyword "&cset"
+syn match iconKeyword "&current"
+syn match iconKeyword "&date"
+syn match iconKeyword "&dateline"
+syn match iconKeyword "&digits"
+syn match iconKeyword "&dump"
+syn match iconKeyword "&e"
+syn match iconKeyword "&error"
+syn match iconKeyword "&errornumber"
+syn match iconKeyword "&errortext"
+syn match iconKeyword "&errorvalue"
+syn match iconKeyword "&errout"
+syn match iconKeyword "&fail"
+syn match iconKeyword "&features"
+syn match iconKeyword "&file"
+syn match iconKeyword "&host"
+syn match iconKeyword "&input"
+syn match iconKeyword "&lcase"
+syn match iconKeyword "&letters"
+syn match iconKeyword "&level"
+syn match iconKeyword "&line"
+syn match iconKeyword "&main"
+syn match iconKeyword "&null"
+syn match iconKeyword "&output"
+syn match iconKeyword "&phi"
+syn match iconKeyword "&pi"
+syn match iconKeyword "&pos"
+syn match iconKeyword "&progname"
+syn match iconKeyword "&random"
+syn match iconKeyword "&regions"
+syn match iconKeyword "&source"
+syn match iconKeyword "&storage"
+syn match iconKeyword "&subject"
+syn match iconKeyword "&time"
+syn match iconKeyword "&trace"
+syn match iconKeyword "&ucase"
+syn match iconKeyword "&version"
+
+" Reserved words
+syn keyword iconReserved break by case create default do
+syn keyword iconReserved else end every fail if
+syn keyword iconReserved initial link next not of
+syn keyword iconReserved procedure repeat return suspend
+syn keyword iconReserved then to until while
+
+" Storage class reserved words
+syn keyword iconStorageClass global static local record
+
+syn keyword iconTodo contained TODO FIXME XXX BUG
+
+" String and Character constants
+" Highlight special characters (those which have a backslash) differently
+syn match iconSpecial contained "\\x\x\{2}\|\\\o\{3\}\|\\[bdeflnrtv\"\'\\]\|\\^c[a-zA-Z0-9]\|\\$"
+syn region iconString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=iconSpecial
+syn region iconCset start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=iconSpecial
+syn match iconCharacter "'[^\\]'"
+
+" not sure about these
+"syn match iconSpecialCharacter "'\\[bdeflnrtv]'"
+"syn match iconSpecialCharacter "'\\\o\{3\}'"
+"syn match iconSpecialCharacter "'\\x\x\{2}'"
+"syn match iconSpecialCharacter "'\\^c\[a-zA-Z0-9]'"
+
+"when wanted, highlight trailing white space
+if exists("icon_space_errors")
+ syn match iconSpaceError "\s*$"
+ syn match iconSpaceError " \+\t"me=e-1
+endif
+
+"catch errors caused by wrong parenthesis
+syn cluster iconParenGroup contains=iconParenError,iconIncluded,iconSpecial,iconTodo,iconUserCont,iconUserLabel,iconBitField
+
+syn region iconParen transparent start='(' end=')' contains=ALLBUT,@iconParenGroup
+syn match iconParenError ")"
+syn match iconInParen contained "[{}]"
+
+
+syn case ignore
+
+"integer number, or floating point number without a dot
+syn match iconNumber "\<\d\+\>"
+
+"floating point number, with dot, optional exponent
+syn match iconFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=\>"
+
+"floating point number, starting with a dot, optional exponent
+syn match iconFloat "\.\d\+\(e[-+]\=\d\+\)\=\>"
+
+"floating point number, without dot, with exponent
+syn match iconFloat "\<\d\+e[-+]\=\d\+\>"
+
+"radix number
+syn match iconRadix "\<\d\{1,2}[rR][a-zA-Z0-9]\+\>"
+
+
+" syn match iconIdentifier "\<[a-z_][a-z0-9_]*\>"
+
+syn case match
+
+" Comment
+syn match iconComment "#.*" contains=iconTodo,iconSpaceError
+
+syn region iconPreCondit start="^\s*$\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=iconComment,iconString,iconCharacter,iconNumber,iconCommentError,iconSpaceError
+
+syn region iconIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+
+syn match iconIncluded contained "<[^>]*>"
+syn match iconInclude "^\s*$\s*include\>\s*["<]" contains=iconIncluded
+"syn match iconLineSkip "\\$"
+
+syn cluster iconPreProcGroup contains=iconPreCondit,iconIncluded,iconInclude,iconDefine,iconInParen,iconUserLabel
+
+syn region iconDefine start="^\s*$\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,@iconPreProcGroup
+
+"wt:syn region iconPreProc "start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" "end="$" contains=ALLBUT,@iconPreProcGroup
+
+" Highlight User Labels
+
+" syn cluster iconMultiGroup contains=iconIncluded,iconSpecial,iconTodo,iconUserCont,iconUserLabel,iconBitField
+
+if !exists("icon_minlines")
+ let icon_minlines = 15
+endif
+exec "syn sync ccomment iconComment minlines=" . icon_minlines
+
+" Define the default highlighting.
+
+" 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
+if version >= 508 || !exists("did_icon_syn_inits")
+ if version < 508
+ let did_icon_syn_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ " The default methods for highlighting. Can be overridden later
+
+ " HiLink iconSpecialCharacter iconSpecial
+
+ HiLink iconOctalError iconError
+ HiLink iconParenError iconError
+ HiLink iconInParen iconError
+ HiLink iconCommentError iconError
+ HiLink iconSpaceError iconError
+ HiLink iconCommentError iconError
+ HiLink iconIncluded iconString
+ HiLink iconCommentString iconString
+ HiLink iconComment2String iconString
+ HiLink iconCommentSkip iconComment
+
+ HiLink iconUserLabel Label
+ HiLink iconCharacter Character
+ HiLink iconNumber Number
+ HiLink iconRadix Number
+ HiLink iconFloat Float
+ HiLink iconInclude Include
+ HiLink iconPreProc PreProc
+ HiLink iconDefine Macro
+ HiLink iconError Error
+ HiLink iconStatement Statement
+ HiLink iconPreCondit PreCondit
+ HiLink iconString String
+ HiLink iconCset String
+ HiLink iconComment Comment
+ HiLink iconSpecial SpecialChar
+ HiLink iconTodo Todo
+ HiLink iconStorageClass StorageClass
+ HiLink iconFunction Statement
+ HiLink iconReserved Label
+ HiLink iconKeyword Operator
+
+ "HiLink iconIdentifier Identifier
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "icon"
+