annotate runtime/syntax/prolog.vim @ 7:3fc0f57ecb91 v7.0001

updated for version 7.0001
author vimboss
date Sun, 13 Jun 2004 20:20:40 +0000
parents
children 80000fb16feb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim syntax file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 " Language: PROLOG
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 " Maintainers: Ralph Becket <rwab1@cam.sri.co.uk>,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 " Thomas Koehler <jean-luc@picard.franken.de>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 " Last Change: 2003 May 11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 " URL: http://jeanluc-picard.de/vim/syntax/prolog.vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 " There are two sets of highlighting in here:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 " If the "prolog_highlighting_clean" variable exists, it is rather sparse.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 " Otherwise you get more highlighting.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 " Quit when a syntax file was already loaded
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 if version < 600
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 syntax clear
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 elseif exists("b:current_syntax")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 " Prolog is case sensitive.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 syn case match
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 " Very simple highlighting for comments, clause heads and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 " character codes. It respects prolog strings and atoms.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 syn region prologCComment start=+/\*+ end=+\*/+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 syn match prologComment +%.*+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 syn keyword prologKeyword module meta_predicate multifile dynamic
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 syn match prologCharCode +0'\\\=.+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 syn region prologString start=+"+ skip=+\\"+ end=+"+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 syn region prologAtom start=+'+ skip=+\\'+ end=+'+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 syn region prologClauseHead start=+^[a-z][^(]*(+ skip=+\.[^ ]+ end=+:-\|\.$\|\.[ ]\|-->+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 if !exists("prolog_highlighting_clean")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 " some keywords
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 " some common predicates are also highlighted as keywords
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 " is there a better solution?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 syn keyword prologKeyword abolish current_output peek_code
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 syn keyword prologKeyword append current_predicate put_byte
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 syn keyword prologKeyword arg current_prolog_flag put_char
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 syn keyword prologKeyword asserta fail put_code
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 syn keyword prologKeyword assertz findall read
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 syn keyword prologKeyword at_end_of_stream float read_term
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 syn keyword prologKeyword atom flush_output repeat
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 syn keyword prologKeyword atom_chars functor retract
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 syn keyword prologKeyword atom_codes get_byte set_input
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 syn keyword prologKeyword atom_concat get_char set_output
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 syn keyword prologKeyword atom_length get_code set_prolog_flag
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 syn keyword prologKeyword atomic halt set_stream_position
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 syn keyword prologKeyword bagof integer setof
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 syn keyword prologKeyword call is stream_property
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 syn keyword prologKeyword catch nl sub_atom
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 syn keyword prologKeyword char_code nonvar throw
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 syn keyword prologKeyword char_conversion number true
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 syn keyword prologKeyword clause number_chars unify_with_occurs_check
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 syn keyword prologKeyword close number_codes var
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 syn keyword prologKeyword compound once write
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 syn keyword prologKeyword copy_term op write_canonical
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 syn keyword prologKeyword current_char_conversion open write_term
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 syn keyword prologKeyword current_input peek_byte writeq
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 syn keyword prologKeyword current_op peek_char
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 syn match prologOperator "=\\=\|=:=\|\\==\|=<\|==\|>=\|\\=\|\\+\|<\|>\|="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 syn match prologAsIs "===\|\\===\|<=\|=>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 syn match prologNumber "\<[0123456789]*\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68 syn match prologCommentError "\*/"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 syn match prologSpecialCharacter ";"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70 syn match prologSpecialCharacter "!"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 syn match prologQuestion "?-.*\." contains=prologNumber
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 syn sync ccomment maxlines=50
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 " Define the default highlighting.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 " For version 5.7 and earlier: only when not done already
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 " For version 5.8 and later: only when an item doesn't have highlighting yet
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 if version >= 508 || !exists("did_prolog_syn_inits")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 if version < 508
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 let did_prolog_syn_inits = 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 command -nargs=+ HiLink hi link <args>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 command -nargs=+ HiLink hi def link <args>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 " The default highlighting.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 HiLink prologComment Comment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 HiLink prologCComment Comment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 HiLink prologCharCode Special
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 if exists ("prolog_highlighting_clean")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 HiLink prologKeyword Statement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 HiLink prologClauseHead Statement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 HiLink prologKeyword Keyword
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 HiLink prologClauseHead Constant
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 HiLink prologQuestion PreProc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 HiLink prologSpecialCharacter Special
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 HiLink prologNumber Number
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 HiLink prologAsIs Normal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 HiLink prologCommentError Error
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 HiLink prologAtom String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 HiLink prologString String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 HiLink prologOperator Operator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 delcommand HiLink
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 let b:current_syntax = "prolog"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 " vim: ts=8