annotate runtime/syntax/st.vim @ 34:e170173ecb68 current-release

before ack base protocol.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 26 Nov 2008 15:02:10 +0900
parents 76efa0be13f1
children 67300faee616
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 " Vim syntax file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 " Language: Smalltalk
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " Maintainer: Arndt Hesse <hesse@self.de>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " Last Change: 2001 May 09
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6 " For version 5.x: Clear all syntax items
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 " For version 6.x: Quit when a syntax file was already loaded
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 if version < 600
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 syntax clear
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 elseif exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14 " some Smalltalk keywords and standard methods
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 syn keyword stKeyword super self class true false new not
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16 syn keyword stKeyword notNil isNil inspect out nil
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 syn match stMethod "\<do\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 syn match stMethod "\<whileTrue\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19 syn match stMethod "\<whileFalse\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 syn match stMethod "\<ifTrue\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21 syn match stMethod "\<ifFalse\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 syn match stMethod "\<put\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 syn match stMethod "\<to\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24 syn match stMethod "\<at\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25 syn match stMethod "\<add\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 syn match stMethod "\<new\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 syn match stMethod "\<for\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28 syn match stMethod "\<methods\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 syn match stMethod "\<methodsFor\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 syn match stMethod "\<instanceVariableNames\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 syn match stMethod "\<classVariableNames\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 syn match stMethod "\<poolDictionaries\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33 syn match stMethod "\<subclass\>:"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 " the block of local variables of a method
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 syn region stLocalVariables start="^[ \t]*|" end="|"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 " the Smalltalk comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 syn region stComment start="\"" end="\""
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 " the Smalltalk strings and single characters
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 syn region stString start='\'' skip="''" end='\''
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 syn match stCharacter "$."
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 syn case ignore
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47 " the symols prefixed by a '#'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 syn match stSymbol "\(#\<[a-z_][a-z0-9_]*\>\)"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49 syn match stSymbol "\(#'[^']*'\)"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 " the variables in a statement block for loops
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 syn match stBlockVariable "\(:[ \t]*\<[a-z_][a-z0-9_]*\>[ \t]*\)\+|" contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54 " some representations of numbers
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 syn match stNumber "\<\d\+\(u\=l\=\|lu\|f\)\>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 syn match stFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 syn match stFloat "\<\d\+e[-+]\=\d\+[fl]\=\>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 syn case match
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 " a try to higlight paren mismatches
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 syn region stParen transparent start='(' end=')' contains=ALLBUT,stParenError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63 syn match stParenError ")"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64 syn region stBlock transparent start='\[' end='\]' contains=ALLBUT,stBlockError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65 syn match stBlockError "\]"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 syn region stSet transparent start='{' end='}' contains=ALLBUT,stSetError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 syn match stSetError "}"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 hi link stParenError stError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 hi link stSetError stError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 hi link stBlockError stError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 " synchronization for syntax analysis
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 syn sync minlines=50
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76 " Define the default highlighting.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77 " For version 5.7 and earlier: only when not done already
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78 " For version 5.8 and later: only when an item doesn't have highlighting yet
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79 if version >= 508 || !exists("did_st_syntax_inits")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 if version < 508
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81 let did_st_syntax_inits = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82 command -nargs=+ HiLink hi link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84 command -nargs=+ HiLink hi def link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 HiLink stKeyword Statement
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88 HiLink stMethod Statement
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89 HiLink stComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90 HiLink stCharacter Constant
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91 HiLink stString Constant
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
92 HiLink stSymbol Special
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
93 HiLink stNumber Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
94 HiLink stFloat Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
95 HiLink stError Error
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
96 HiLink stLocalVariables Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
97 HiLink stBlockVariable Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
98
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
99 delcommand HiLink
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
100 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
101
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
102 let b:current_syntax = "st"