blob: 055b2ae870b7a9d5134425bfedf90540a36284c3 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: SQL*Forms (Oracle 7), based on sql.vim (vim5.0)
3" Maintainer: Austin Ziegler (austin@halostatue.ca)
4" Last Change: 2003 May 11
5" Prev Change: 19980710
6" URL: http://www.halostatue.ca/vim/syntax/proc.vim
7"
8" TODO Find a new maintainer who knows SQL*Forms.
9
10 " For version 5.x, clear all syntax items.
11 " For version 6.x, quit when a syntax file was already loaded.
12if version < 600
13 syntax clear
14elseif exists("b:current_syntax")
15 finish
16endif
17
18syntax case ignore
19
20if version >= 600
21 setlocal iskeyword=a-z,A-Z,48-57,_,.,-,>
22else
23 set iskeyword=a-z,A-Z,48-57,_,.,-,>
24endif
25
26
27 " The SQL reserved words, defined as keywords.
28syntax match sqlTriggers /on-.*$/
29syntax match sqlTriggers /key-.*$/
30syntax match sqlTriggers /post-.*$/
31syntax match sqlTriggers /pre-.*$/
32syntax match sqlTriggers /user-.*$/
33
34syntax keyword sqlSpecial null false true
35
36syntax keyword sqlProcedure abort_query anchor_view bell block_menu break call
37syntax keyword sqlProcedure call_input call_query clear_block clear_eol
38syntax keyword sqlProcedure clear_field clear_form clear_record commit_form
39syntax keyword sqlProcedure copy count_query create_record default_value
40syntax keyword sqlProcedure delete_record display_error display_field down
41syntax keyword sqlProcedure duplicate_field duplicate_record edit_field
42syntax keyword sqlProcedure enter enter_query erase execute_query
43syntax keyword sqlProcedure execute_trigger exit_form first_Record go_block
44syntax keyword sqlProcedure go_field go_record help hide_menu hide_page host
45syntax keyword sqlProcedure last_record list_values lock_record message
46syntax keyword sqlProcedure move_view new_form next_block next_field next_key
47syntax keyword sqlProcedure next_record next_set pause post previous_block
48syntax keyword sqlProcedure previous_field previous_record print redisplay
49syntax keyword sqlProcedure replace_menu resize_view scroll_down scroll_up
50syntax keyword sqlProcedure set_field show_keys show_menu show_page
51syntax keyword sqlProcedure synchronize up user_exit
52
53syntax keyword sqlFunction block_characteristic error_code error_text
54syntax keyword sqlFunction error_type field_characteristic form_failure
55syntax keyword sqlFunction form_fatal form_success name_in
56
57syntax keyword sqlParameters hide no_hide replace no_replace ask_commit
58syntax keyword sqlParameters do_commit no_commit no_validate all_records
59syntax keyword sqlParameters for_update no_restrict restrict no_screen
60syntax keyword sqlParameters bar full_screen pull_down auto_help auto_skip
61syntax keyword sqlParameters fixed_length enterable required echo queryable
62syntax keyword sqlParameters updateable update_null upper_case attr_on
63syntax keyword sqlParameters attr_off base_table first_field last_field
64syntax keyword sqlParameters datatype displayed display_length field_length
65syntax keyword sqlParameters list page primary_key query_length x_pos y_pos
66
67syntax match sqlSystem /system\.block_status/
68syntax match sqlSystem /system\.current_block/
69syntax match sqlSystem /system\.current_field/
70syntax match sqlSystem /system\.current_form/
71syntax match sqlSystem /system\.current_value/
72syntax match sqlSystem /system\.cursor_block/
73syntax match sqlSystem /system\.cursor_field/
74syntax match sqlSystem /system\.cursor_record/
75syntax match sqlSystem /system\.cursor_value/
76syntax match sqlSystem /system\.form_status/
77syntax match sqlSystem /system\.last_query/
78syntax match sqlSystem /system\.last_record/
79syntax match sqlSystem /system\.message_level/
80syntax match sqlSystem /system\.record_status/
81syntax match sqlSystem /system\.trigger_block/
82syntax match sqlSystem /system\.trigger_field/
83syntax match sqlSystem /system\.trigger_record/
84syntax match sqlSystem /\$\$date\$\$/
85syntax match sqlSystem /\$\$time\$\$/
86
87syntax keyword sqlKeyword accept access add as asc by check cluster column
88syntax keyword sqlKeyword compress connect current decimal default
89syntax keyword sqlKeyword desc exclusive file for from group
90syntax keyword sqlKeyword having identified immediate increment index
91syntax keyword sqlKeyword initial into is level maxextents mode modify
92syntax keyword sqlKeyword nocompress nowait of offline on online start
93syntax keyword sqlKeyword successful synonym table to trigger uid
94syntax keyword sqlKeyword unique user validate values view whenever
95syntax keyword sqlKeyword where with option order pctfree privileges
96syntax keyword sqlKeyword public resource row rowlabel rownum rows
97syntax keyword sqlKeyword session share size smallint sql\*forms_version
98syntax keyword sqlKeyword terse define form name title procedure begin
99syntax keyword sqlKeyword default_menu_application trigger block field
100syntax keyword sqlKeyword enddefine declare exception raise when cursor
101syntax keyword sqlKeyword definition base_table pragma
102syntax keyword sqlKeyword column_name global trigger_type text description
103syntax match sqlKeyword "<<<"
104syntax match sqlKeyword ">>>"
105
106syntax keyword sqlOperator not and or out to_number to_date message erase
107syntax keyword sqlOperator in any some all between exists substr nvl
108syntax keyword sqlOperator exception_init
109syntax keyword sqlOperator like escape trunc lpad rpad sum
110syntax keyword sqlOperator union intersect minus to_char greatest
111syntax keyword sqlOperator prior distinct decode least avg
112syntax keyword sqlOperator sysdate true false field_characteristic
113syntax keyword sqlOperator display_field call host
114
115syntax keyword sqlStatement alter analyze audit comment commit create
116syntax keyword sqlStatement delete drop explain grant insert lock noaudit
117syntax keyword sqlStatement rename revoke rollback savepoint select set
118syntax keyword sqlStatement truncate update if elsif loop then
119syntax keyword sqlStatement open fetch close else end
120
121syntax keyword sqlType char character date long raw mlslabel number rowid
122syntax keyword sqlType varchar varchar2 float integer boolean global
123
124syntax keyword sqlCodes sqlcode no_data_found too_many_rows others
125syntax keyword sqlCodes form_trigger_failure notfound found
126syntax keyword sqlCodes validate no_commit
127
128 " Comments:
129syntax region sqlComment start="/\*" end="\*/"
130syntax match sqlComment "--.*"
131
132 " Strings and characters:
133syntax region sqlString start=+"+ skip=+\\\\\|\\"+ end=+"+
134syntax region sqlString start=+'+ skip=+\\\\\|\\"+ end=+'+
135
136 " Numbers:
137syntax match sqlNumber "-\=\<[0-9]*\.\=[0-9_]\>"
138
139syntax sync ccomment sqlComment
140
141if version >= 508 || !exists("did_sqlforms_syn_inits")
142 if version < 508
143 let did_sqlforms_syn_inits = 1
144 command -nargs=+ HiLink hi link <args>
145 else
146 command -nargs=+ HiLink hi def link <args>
147 endif
148
149 HiLink sqlComment Comment
150 HiLink sqlKeyword Statement
151 HiLink sqlNumber Number
152 HiLink sqlOperator Statement
153 HiLink sqlProcedure Statement
154 HiLink sqlFunction Statement
155 HiLink sqlSystem Identifier
156 HiLink sqlSpecial Special
157 HiLink sqlStatement Statement
158 HiLink sqlString String
159 HiLink sqlType Type
160 HiLink sqlCodes Identifier
161 HiLink sqlTriggers PreProc
162
163 delcommand HiLink
164endif
165
166let b:current_syntax = "sqlforms"
167
168" vim: ts=8 sw=4