annotate runtime/syntax/fan.vim @ 3956:7120c70c42fe

Added tag v7-3-733 for changeset 509e55bd4a3f
author Bram Moolenaar <bram@vim.org>
date Wed, 28 Nov 2012 15:55:42 +0100
parents 03a5f2897db3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2243
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
1 " Vim syntax file
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
2 " Language: Fantom
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
3 " Maintainer: Kamil Toman <kamil.toman@gmail.com>
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
4 " Last Change: 2010 May 27
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
5 " Based on Java syntax file by Claudio Fleiner <claudio@fleiner.com>
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
6
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
7 " Quit when a syntax file was already loaded
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
8 if exists("b:current_syntax")
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
9 finish
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
10 endif
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
11
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
12 " keyword definitions
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
13 syn keyword fanExternal using native
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
14 syn keyword fanError goto void serializable volatile
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
15 syn keyword fanConditional if else switch
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
16 syn keyword fanRepeat do while for foreach each
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
17 syn keyword fanBoolean true false
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
18 syn keyword fanConstant null
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
19 syn keyword fanTypedef this super
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
20 syn keyword fanOperator new is isnot as
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
21 syn keyword fanLongOperator plus minus mult div mod get set slice lshift rshift and or xor inverse negate increment decrement equals compare
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
22 syn keyword fanType Void Bool Int Float Decimal Str Duration Uri Type Range List Map Obj
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
23 syn keyword fanStatement return
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
24 syn keyword fanStorageClass static const final
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
25 syn keyword fanSlot virtual override once
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
26 syn keyword fanField readonly
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
27 syn keyword fanExceptions throw try catch finally
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
28 syn keyword fanAssert assert
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
29 syn keyword fanTypedef class enum mixin
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
30 syn match fanFacet "@[_a-zA-Z][_a-zA-Z0-9_]*\>"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
31 syn keyword fanBranch break continue
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
32 syn keyword fanScopeDecl public internal protected private abstract
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
33
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
34 if exists("fan_space_errors")
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
35 if !exists("fan_no_trail_space_error")
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
36 syn match fanSpaceError "\s\+$"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
37 endif
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
38 if !exists("fan_no_tab_space_error")
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
39 syn match fanSpaceError " \+\t"me=e-1
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
40 endif
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
41 endif
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
42
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
43 syn region fanLabelRegion transparent matchgroup=fanLabel start="\<case\>" matchgroup=NONE end=":" contains=fanNumber,fanCharacter
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
44 syn keyword fanLabel default
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
45 syn keyword fanLabel case
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
46
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
47 " The following cluster contains all fan groups except the contained ones
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
48 syn cluster fanTop add=fanExternal,fanError,fanConditional,fanRepeat,fanBoolean,fanConstant,fanTypedef,fanOperator,fanLongOperator,fanType,fanType,fanStatement,fanStorageClass,fanSlot,fanField,fanExceptions,fanAssert,fanClassDecl,fanTypedef,fanFacet,fanBranch,fanScopeDecl,fanLabelRegion,fanLabel
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
49
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
50 " Comments
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
51 syn keyword fanTodo contained TODO FIXME XXX
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
52 syn region fanComment start="/\*" end="\*/" contains=@fanCommentSpecial,fanTodo,fanComment,@Spell
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
53 syn match fanCommentStar contained "^\s*\*[^/]"me=e-1
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
54 syn match fanCommentStar contained "^\s*\*$"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
55 syn match fanLineComment "//.*" contains=@fanCommentSpecial2,fanTodo,@Spell
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
56 syn match fanDocComment "\*\*.*" contains=@fanCommentSpecial2,fanTodo,@Spell
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
57 hi def link fanCommentString fanString
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
58 hi def link fanComment2String fanString
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
59 hi def link fanCommentCharacter fanCharacter
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
60
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
61 syn cluster fanTop add=fanComment,fanLineComment,fanDocComment
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
62
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
63 " match the special comment /**/
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
64 syn match fanComment "/\*\*/"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
65
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
66 " Strings and constants
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
67 syn match fanSpecialError contained "\\."
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
68 syn match fanSpecialCharError contained "[^']"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
69 syn match fanSpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\|\$\)"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
70 syn match fanStringSubst contained "\$[A-Za-z][A-Za-z_.]*"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
71 syn match fanStringSubst contained "\${[^}]*}"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
72 syn region fanString start=+"+ end=+"+ contains=fanSpecialChar,fanSpecialError,fanStringSubst,@Spell
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
73 syn region fanTripleString start=+"""+ end=+"""+ contains=fanSpecialChar,fanSpecialError,fanStringSubst,@Spell
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
74 syn region fanDSL start=+<|+ end=+|>+
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
75 syn match fanUri "`[^`]*`"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
76 syn match fanCharacter "'[^']*'" contains=fanSpecialChar,fanSpecialCharError
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
77 syn match fanCharacter "'\\''" contains=fanSpecialChar
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
78 syn match fanCharacter "'[^\\]'"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
79 syn match fanNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
80 syn match fanNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
81 syn match fanNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
82 syn match fanNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
83
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
84 syn cluster fanTop add=fanString,fanCharacter,fanNumber,fanSpecial,fanStringError
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
85
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
86 " The default highlighting.
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
87 hi def link fanBranch Conditional
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
88 hi def link fanLabel Label
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
89 hi def link fanUserLabel Label
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
90 hi def link fanConditional Conditional
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
91 hi def link fanRepeat Repeat
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
92 hi def link fanExceptions Exception
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
93 hi def link fanAssert Statement
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
94 hi def link fanStorageClass StorageClass
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
95 hi def link fanSlot StorageClass
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
96 hi def link fanField StorageClass
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
97 hi def link fanScopeDecl StorageClass
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
98 hi def link fanBoolean Boolean
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
99 hi def link fanSpecial Special
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
100 hi def link fanSpecialError Error
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
101 hi def link fanSpecialCharError Error
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
102 hi def link fanTripleString String
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
103 hi def link fanString String
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
104 hi def link fanDSL String
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
105 hi def link fanCharacter String
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
106 hi def link fanStringSubst Identifier
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
107 hi def link fanUri SpecialChar
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
108 hi def link fanSpecialChar SpecialChar
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
109 hi def link fanNumber Number
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
110 hi def link fanError Error
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
111 hi def link fanStringError Error
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
112 hi def link fanStatement Statement
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
113 hi def link fanOperator Operator
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
114 hi def link fanLongOperator Operator
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
115 hi def link fanComment Comment
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
116 hi def link fanDocComment Comment
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
117 hi def link fanLineComment Comment
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
118 hi def link fanConstant Constant
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
119 hi def link fanTypedef Typedef
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
120 hi def link fanTodo Todo
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
121 hi def link fanFacet PreProc
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
122
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
123 hi def link fanCommentTitle SpecialComment
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
124 hi def link fanCommentStar SpecialComment
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
125 hi def link fanType Identifier
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
126 hi def link fanExternal Include
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
127
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
128 hi def link fanSpaceError Error
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
129
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
130 let b:current_syntax = "fan"
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
131
03a5f2897db3 Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
132 " vim: ts=8