Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 19 | " quit when a syntax file was already loaded |
| 20 | if exists("b:current_syntax") |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 21 | finish |
| 22 | endif |
| 23 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 24 | setlocal iskeyword=@,48-57,_,-,#,$,{,} |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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 | |
Bram Moolenaar | 1514667 | 2011-10-20 22:22:38 +0200 | [diff] [blame] | 39 | syn keyword sqrParagraph alter-color-map alter-connection |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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 |
Bram Moolenaar | 1514667 | 2011-10-20 22:22:38 +0200 | [diff] [blame] | 43 | syn keyword sqrParagraph declare-color-map declare-connection |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 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 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 235 | |
| 236 | |
| 237 | " Define the default highlighting. |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 238 | " Only when an item doesn't have highlighting yet. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 239 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 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 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 249 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 250 | hi def link sqrString String |
| 251 | hi def link sqrStrOpen Todo |
| 252 | hi def link sqrNumber Number |
| 253 | hi def link sqrVariable Identifier |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 254 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 255 | hi def link sqrComment Comment |
| 256 | hi def link sqrTodo Todo |
| 257 | hi def link sqrError Error |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 258 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 259 | |
| 260 | let b:current_syntax = "sqr" |
| 261 | |
| 262 | " vim: ts=8 sw=2 |