sqr.vim (13012B)
1 " Vim syntax file 2 " Language: Structured Query Report Writer (SQR) 3 " Maintainer: Nathan Stratton Treadway (nathanst at ontko dot com) 4 " URL: http://www.ontko.com/sqr/#editor_config_files 5 " 6 " Modification History: 7 " 2002-Apr-12: Updated for SQR v6.x 8 " 2002-Jul-30: Added { and } to iskeyword definition 9 " 2003-Oct-15: Allow "." in variable names 10 " highlight entire open '... literal when it contains 11 " "''" inside it (e.g. "'I can''t say" is treated 12 " as one open string, not one terminated and one open) 13 " {} variables can occur inside of '...' literals 14 " 15 " Thanks to the previous maintainer of this file, Jeff Lanzarotta: 16 " http://lanzarotta.tripod.com/vim.html 17 " jefflanzarotta at yahoo dot com 18 19 " quit when a syntax file was already loaded 20 if exists("b:current_syntax") 21 finish 22 endif 23 24 setlocal iskeyword=@,48-57,_,-,#,$,{,} 25 26 syn case ignore 27 28 " BEGIN GENERATED SECTION ============================================ 29 30 " Generated by generate_vim_syntax.sqr at 2002/04/11 13:04 31 " (based on the UltraEdit syntax file for SQR 6.1.4 32 " found at http://www.ontko.com/sqr/#editor_config_files ) 33 34 syn keyword sqrSection begin-footing begin-heading begin-procedure 35 syn keyword sqrSection begin-program begin-report begin-setup 36 syn keyword sqrSection end-footing end-heading end-procedure 37 syn keyword sqrSection end-program end-report end-setup 38 39 syn keyword sqrParagraph alter-color-map alter-connection 40 syn keyword sqrParagraph alter-locale alter-printer alter-report 41 syn keyword sqrParagraph begin-document begin-execute begin-select 42 syn keyword sqrParagraph begin-sql declare-chart declare-image 43 syn keyword sqrParagraph declare-color-map declare-connection 44 syn keyword sqrParagraph declare-layout declare-printer 45 syn keyword sqrParagraph declare-report declare-procedure 46 syn keyword sqrParagraph declare-toc declare-variable end-declare 47 syn keyword sqrParagraph end-document end-select exit-select end-sql 48 syn keyword sqrParagraph load-lookup 49 50 syn keyword sqrReserved #current-column #current-date #current-line 51 syn keyword sqrReserved #end-file #page-count #return-status 52 syn keyword sqrReserved #sql-count #sql-status #sqr-max-columns 53 syn keyword sqrReserved #sqr-max-lines #sqr-pid #sqr-toc-level 54 syn keyword sqrReserved #sqr-toc-page $sqr-database {sqr-database} 55 syn keyword sqrReserved $sqr-dbcs {sqr-dbcs} $sqr-encoding 56 syn keyword sqrReserved {sqr-encoding} $sqr-encoding-console 57 syn keyword sqrReserved {sqr-encoding-console} 58 syn keyword sqrReserved $sqr-encoding-database 59 syn keyword sqrReserved {sqr-encoding-database} 60 syn keyword sqrReserved $sqr-encoding-file-input 61 syn keyword sqrReserved {sqr-encoding-file-input} 62 syn keyword sqrReserved $sqr-encoding-file-output 63 syn keyword sqrReserved {sqr-encoding-file-output} 64 syn keyword sqrReserved $sqr-encoding-report-input 65 syn keyword sqrReserved {sqr-encoding-report-input} 66 syn keyword sqrReserved $sqr-encoding-report-output 67 syn keyword sqrReserved {sqr-encoding-report-output} 68 syn keyword sqrReserved $sqr-encoding-source {sqr-encoding-source} 69 syn keyword sqrReserved $sql-error $sqr-hostname {sqr-hostname} 70 syn keyword sqrReserved $sqr-locale $sqr-platform {sqr-platform} 71 syn keyword sqrReserved $sqr-program $sqr-report $sqr-toc-text 72 syn keyword sqrReserved $sqr-ver $username 73 74 syn keyword sqrPreProc #define #else #end-if #endif #if #ifdef 75 syn keyword sqrPreProc #ifndef #include 76 77 syn keyword sqrCommand add array-add array-divide array-multiply 78 syn keyword sqrCommand array-subtract ask break call clear-array 79 syn keyword sqrCommand close columns commit concat connect 80 syn keyword sqrCommand create-array create-color-palette date-time 81 syn keyword sqrCommand display divide do dollar-symbol else encode 82 syn keyword sqrCommand end-evaluate end-if end-while evaluate 83 syn keyword sqrCommand execute extract find get get-color goto 84 syn keyword sqrCommand graphic if input last-page let lookup 85 syn keyword sqrCommand lowercase mbtosbs money-symbol move 86 syn keyword sqrCommand multiply new-page new-report next-column 87 syn keyword sqrCommand next-listing no-formfeed open page-number 88 syn keyword sqrCommand page-size position print print-bar-code 89 syn keyword sqrCommand print-chart print-direct print-image 90 syn keyword sqrCommand printer-deinit printer-init put read 91 syn keyword sqrCommand rollback security set-color set-delay-print 92 syn keyword sqrCommand set-generations set-levels set-members 93 syn keyword sqrCommand sbtombs show stop string subtract toc-entry 94 syn keyword sqrCommand unstring uppercase use use-column 95 syn keyword sqrCommand use-printer-type use-procedure use-report 96 syn keyword sqrCommand while write 97 98 syn keyword sqrParam 3d-effects after after-bold after-page 99 syn keyword sqrParam after-report after-toc and as at-end before 100 syn keyword sqrParam background batch-mode beep before-bold 101 syn keyword sqrParam before-page before-report before-toc blink 102 syn keyword sqrParam bold border bottom-margin box break by 103 syn keyword sqrParam caption center char char-size char-width 104 syn keyword sqrParam chars-inch chart-size checksum cl 105 syn keyword sqrParam clear-line clear-screen color color-palette 106 syn keyword sqrParam cs color_ data-array 107 syn keyword sqrParam data-array-column-count 108 syn keyword sqrParam data-array-column-labels 109 syn keyword sqrParam data-array-row-count data-labels date 110 syn keyword sqrParam date-edit-mask date-seperator 111 syn keyword sqrParam day-of-week-case day-of-week-full 112 syn keyword sqrParam day-of-week-short decimal decimal-seperator 113 syn keyword sqrParam default-numeric delay distinct dot-leader 114 syn keyword sqrParam edit-option-ad edit-option-am 115 syn keyword sqrParam edit-option-bc edit-option-na 116 syn keyword sqrParam edit-option-pm encoding entry erase-page 117 syn keyword sqrParam extent field fill fixed fixed_nolf float 118 syn keyword sqrParam font font-style font-type footing 119 syn keyword sqrParam footing-size foreground for-append 120 syn keyword sqrParam for-reading for-reports for-tocs 121 syn keyword sqrParam for-writing format formfeed from goto-top 122 syn keyword sqrParam group having heading heading-size height 123 syn keyword sqrParam horz-line image-size in indentation 124 syn keyword sqrParam init-string input-date-edit-mask insert 125 syn keyword sqrParam integer into item-color item-size key 126 syn keyword sqrParam layout left-margin legend legend-placement 127 syn keyword sqrParam legend-presentation legend-title level 128 syn keyword sqrParam line-height line-size line-width lines-inch 129 syn keyword sqrParam local locale loops max-columns max-lines 130 syn keyword sqrParam maxlen money money-edit-mask money-sign 131 syn keyword sqrParam money-sign-location months-case months-full 132 syn keyword sqrParam months-short name need newline newpage 133 syn keyword sqrParam no-advance nolf noline noprompt normal not 134 syn keyword sqrParam nowait number number-edit-mask on-break 135 syn keyword sqrParam on-error or order orientation page-depth 136 syn keyword sqrParam paper-size pie-segment-explode 137 syn keyword sqrParam pie-segment-percent-display 138 syn keyword sqrParam pie-segment-quantity-display pitch 139 syn keyword sqrParam point-markers point-size printer 140 syn keyword sqrParam printer-type quiet record reset-string 141 syn keyword sqrParam return_value reverse right-margin rows save 142 syn keyword sqrParam select size skip skiplines sort source 143 syn keyword sqrParam sqr-database sqr-platform startup-file 144 syn keyword sqrParam status stop sub-title symbol-set system 145 syn keyword sqrParam table text thousand-seperator 146 syn keyword sqrParam time-seperator times title to toc 147 syn keyword sqrParam top-margin type underline update using 148 syn keyword sqrParam value vary vert-line wait warn when 149 syn keyword sqrParam when-other where with x-axis-grid 150 syn keyword sqrParam x-axis-label x-axis-major-increment 151 syn keyword sqrParam x-axis-major-tick-marks x-axis-max-value 152 syn keyword sqrParam x-axis-min-value x-axis-minor-increment 153 syn keyword sqrParam x-axis-minor-tick-marks x-axis-rotate 154 syn keyword sqrParam x-axis-scale x-axis-tick-mark-placement xor 155 syn keyword sqrParam y-axis-grid y-axis-label 156 syn keyword sqrParam y-axis-major-increment 157 syn keyword sqrParam y-axis-major-tick-marks y-axis-max-value 158 syn keyword sqrParam y-axis-min-value y-axis-minor-increment 159 syn keyword sqrParam y-axis-minor-tick-marks y-axis-scale 160 syn keyword sqrParam y-axis-tick-mark-placement y2-type 161 syn keyword sqrParam y2-data-array y2-data-array-row-count 162 syn keyword sqrParam y2-data-array-column-count 163 syn keyword sqrParam y2-data-array-column-labels 164 syn keyword sqrParam y2-axis-color-palette y2-axis-label 165 syn keyword sqrParam y2-axis-major-increment 166 syn keyword sqrParam y2-axis-major-tick-marks y2-axis-max-value 167 syn keyword sqrParam y2-axis-min-value y2-axis-minor-increment 168 syn keyword sqrParam y2-axis-minor-tick-marks y2-axis-scale 169 170 syn keyword sqrFunction abs acos asin atan array ascii asciic ceil 171 syn keyword sqrFunction cos cosh chr cond deg delete dateadd 172 syn keyword sqrFunction datediff datenow datetostr e10 exp edit 173 syn keyword sqrFunction exists floor getenv instr instrb isblank 174 syn keyword sqrFunction isnull log log10 length lengthb lengthp 175 syn keyword sqrFunction lengtht lower lpad ltrim mod nvl power rad 176 syn keyword sqrFunction round range replace roman rpad rtrim rename 177 syn keyword sqrFunction sign sin sinh sqrt substr substrb substrp 178 syn keyword sqrFunction substrt strtodate tan tanh trunc to_char 179 syn keyword sqrFunction to_multi_byte to_number to_single_byte 180 syn keyword sqrFunction transform translate unicode upper wrapdepth 181 182 " END GENERATED SECTION ============================================== 183 184 " Variables 185 syn match sqrVariable /\(\$\|#\|&\)\(\k\|\.\)*/ 186 187 188 " Debug compiler directives 189 syn match sqrPreProc /\s*#debug\a\=\(\s\|$\)/ 190 syn match sqrSubstVar /{\k*}/ 191 192 193 " Strings 194 " Note: if an undoubled ! is found, this is not a valid string 195 " (SQR will treat the end of the line as a comment) 196 syn match sqrString /'\(!!\|[^!']\)*'/ contains=sqrSubstVar 197 syn match sqrStrOpen /'\(!!\|''\|[^!']\)*$/ 198 " If we find a ' followed by an unmatched ! before a matching ', 199 " flag the error. 200 syn match sqrError /'\(!!\|[^'!]\)*![^!]/me=e-1 201 syn match sqrError /'\(!!\|[^'!]\)*!$/ 202 203 " Numbers: 204 syn match sqrNumber /-\=\<\d*\.\=[0-9_]\>/ 205 206 207 208 " Comments: 209 " Handle comments that start with "!=" specially; they are only valid 210 " in the first column of the source line. Also, "!!" is only treated 211 " as a start-comment if there is only whitespace ahead of it on the line. 212 213 syn keyword sqrTodo TODO FIXME XXX DEBUG NOTE ### 214 syn match sqrTodo /???/ 215 216 " See also the sqrString section above for handling of ! characters 217 " inside of strings. (Those patterns override the ones below.) 218 syn match sqrComment /!\@<!!\([^!=].*\|$\)/ contains=sqrTodo 219 " the ! can't be preceded by another !, 220 " and must be followed by at least one 221 " character other than ! or =, or immediately 222 " by the end-of-line 223 syn match sqrComment /^!=.*/ contains=sqrTodo 224 syn match sqrComment /^!!.*/ contains=sqrTodo 225 syn match sqrError /^\s\+\zs!=.*/ 226 " it's an error to have "!=" preceded by 227 " just whitespace on the line ("!=" 228 " preceded by non-whitespace is treated 229 " as neither a comment nor an error, since 230 " it is often correct, i.e. 231 " if #count != 7 232 syn match sqrError /.\+\zs!!.*/ 233 " a "!!" anywhere but at the beginning of 234 " the line is always an error 235 236 237 " Define the default highlighting. 238 " Only when an item doesn't have highlighting yet. 239 240 hi def link sqrSection Statement 241 hi def link sqrParagraph Statement 242 hi def link sqrReserved Statement 243 hi def link sqrParameter Statement 244 hi def link sqrPreProc PreProc 245 hi def link sqrSubstVar PreProc 246 hi def link sqrCommand Statement 247 hi def link sqrParam Type 248 hi def link sqrFunction Special 249 250 hi def link sqrString String 251 hi def link sqrStrOpen Todo 252 hi def link sqrNumber Number 253 hi def link sqrVariable Identifier 254 255 hi def link sqrComment Comment 256 hi def link sqrTodo Todo 257 hi def link sqrError Error 258 259 260 let b:current_syntax = "sqr" 261 262 " vim: ts=8 sw=2