Mercurial > vim
annotate runtime/syntax/st.vim @ 33380:7ba7c38a9914
Added tag v9.0.1948 for changeset 7c9124711f997a267b94de49a7051f2f3294055c
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 28 Sep 2023 22:30:04 +0200 |
parents | 11b656e74444 |
children |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: Smalltalk | |
3 " Maintainer: Arndt Hesse <hesse@self.de> | |
3356 | 4 " Last Change: 2012 Feb 12 by Thilo Six |
7 | 5 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
6 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
7 if exists("b:current_syntax") |
7 | 8 finish |
9 endif | |
10 | |
3356 | 11 let s:cpo_save = &cpo |
12 set cpo&vim | |
13 | |
7 | 14 " some Smalltalk keywords and standard methods |
15 syn keyword stKeyword super self class true false new not | |
16 syn keyword stKeyword notNil isNil inspect out nil | |
17 syn match stMethod "\<do\>:" | |
18 syn match stMethod "\<whileTrue\>:" | |
19 syn match stMethod "\<whileFalse\>:" | |
20 syn match stMethod "\<ifTrue\>:" | |
21 syn match stMethod "\<ifFalse\>:" | |
22 syn match stMethod "\<put\>:" | |
23 syn match stMethod "\<to\>:" | |
24 syn match stMethod "\<at\>:" | |
25 syn match stMethod "\<add\>:" | |
26 syn match stMethod "\<new\>:" | |
27 syn match stMethod "\<for\>:" | |
28 syn match stMethod "\<methods\>:" | |
29 syn match stMethod "\<methodsFor\>:" | |
30 syn match stMethod "\<instanceVariableNames\>:" | |
31 syn match stMethod "\<classVariableNames\>:" | |
32 syn match stMethod "\<poolDictionaries\>:" | |
33 syn match stMethod "\<subclass\>:" | |
34 | |
35 " the block of local variables of a method | |
36 syn region stLocalVariables start="^[ \t]*|" end="|" | |
37 | |
38 " the Smalltalk comment | |
39 syn region stComment start="\"" end="\"" | |
40 | |
41 " the Smalltalk strings and single characters | |
42 syn region stString start='\'' skip="''" end='\'' | |
43 syn match stCharacter "$." | |
44 | |
45 syn case ignore | |
46 | |
25773 | 47 " the symbols prefixed by a '#' |
7 | 48 syn match stSymbol "\(#\<[a-z_][a-z0-9_]*\>\)" |
49 syn match stSymbol "\(#'[^']*'\)" | |
50 | |
51 " the variables in a statement block for loops | |
52 syn match stBlockVariable "\(:[ \t]*\<[a-z_][a-z0-9_]*\>[ \t]*\)\+|" contained | |
53 | |
54 " some representations of numbers | |
55 syn match stNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" | |
56 syn match stFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>" | |
57 syn match stFloat "\<\d\+e[-+]\=\d\+[fl]\=\>" | |
58 | |
59 syn case match | |
60 | |
25773 | 61 " a try to highlight paren mismatches |
7 | 62 syn region stParen transparent start='(' end=')' contains=ALLBUT,stParenError |
63 syn match stParenError ")" | |
64 syn region stBlock transparent start='\[' end='\]' contains=ALLBUT,stBlockError | |
65 syn match stBlockError "\]" | |
66 syn region stSet transparent start='{' end='}' contains=ALLBUT,stSetError | |
67 syn match stSetError "}" | |
68 | |
69 hi link stParenError stError | |
70 hi link stSetError stError | |
71 hi link stBlockError stError | |
72 | |
73 " synchronization for syntax analysis | |
74 syn sync minlines=50 | |
75 | |
76 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3356
diff
changeset
|
77 " Only when an item doesn't have highlighting yet |
7 | 78 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
79 hi def link stKeyword Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
80 hi def link stMethod Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
81 hi def link stComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
82 hi def link stCharacter Constant |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
83 hi def link stString Constant |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
84 hi def link stSymbol Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
85 hi def link stNumber Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
86 hi def link stFloat Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
87 hi def link stError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
88 hi def link stLocalVariables Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
89 hi def link stBlockVariable Identifier |
7 | 90 |
91 | |
92 let b:current_syntax = "st" | |
3356 | 93 |
94 let &cpo = s:cpo_save | |
95 unlet s:cpo_save |