summaryrefslogtreecommitdiff
path: root/runtime/syntax/sqr.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/sqr.vim')
-rw-r--r--runtime/syntax/sqr.vim295
1 files changed, 295 insertions, 0 deletions
diff --git a/runtime/syntax/sqr.vim b/runtime/syntax/sqr.vim
new file mode 100644
index 000000000..874944779
--- /dev/null
+++ b/runtime/syntax/sqr.vim
@@ -0,0 +1,295 @@
+" Vim syntax file
+" Language: Structured Query Report Writer (SQR)
+" Maintainer: Nathan Stratton Treadway (nathanst at ontko dot com)
+" URL: http://www.ontko.com/sqr/#editor_config_files
+"
+" Modification History:
+" 2002-Apr-12: Updated for SQR v6.x
+" 2002-Jul-30: Added { and } to iskeyword definition
+" 2003-Oct-15: Allow "." in variable names
+" highlight entire open '... literal when it contains
+" "''" inside it (e.g. "'I can''t say" is treated
+" as one open string, not one terminated and one open)
+" {} variables can occur inside of '...' literals
+"
+" Thanks to the previous maintainer of this file, Jeff Lanzarotta:
+" http://lanzarotta.tripod.com/vim.html
+" jefflanzarotta at yahoo dot com
+
+" For version 5.x, clear all syntax items.
+" For version 6.x, quit when a syntax file was already loaded.
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+if version >= 600
+ setlocal iskeyword=@,48-57,_,-,#,$,{,}
+else
+ set iskeyword=@,48-57,_,-,#,$,{,}
+endif
+
+syn case ignore
+
+" BEGIN GENERATED SECTION ============================================
+
+" Generated by generate_vim_syntax.sqr at 2002/04/11 13:04
+" (based on the UltraEdit syntax file for SQR 6.1.4
+" found at http://www.ontko.com/sqr/#editor_config_files )
+
+syn keyword sqrSection begin-footing begin-heading begin-procedure
+syn keyword sqrSection begin-program begin-report begin-setup
+syn keyword sqrSection end-footing end-heading end-procedure
+syn keyword sqrSection end-program end-report end-setup
+
+syn keyword sqrParagraph alter-color-map alter-conection
+syn keyword sqrParagraph alter-locale alter-printer alter-report
+syn keyword sqrParagraph begin-document begin-execute begin-select
+syn keyword sqrParagraph begin-sql declare-chart declare-image
+syn keyword sqrParagraph declare-color-map declare-conection
+syn keyword sqrParagraph declare-layout declare-printer
+syn keyword sqrParagraph declare-report declare-procedure
+syn keyword sqrParagraph declare-toc declare-variable end-declare
+syn keyword sqrParagraph end-document end-select exit-select end-sql
+syn keyword sqrParagraph load-lookup
+
+syn keyword sqrReserved #current-column #current-date #current-line
+syn keyword sqrReserved #end-file #page-count #return-status
+syn keyword sqrReserved #sql-count #sql-status #sqr-max-columns
+syn keyword sqrReserved #sqr-max-lines #sqr-pid #sqr-toc-level
+syn keyword sqrReserved #sqr-toc-page $sqr-database {sqr-database}
+syn keyword sqrReserved $sqr-dbcs {sqr-dbcs} $sqr-encoding
+syn keyword sqrReserved {sqr-encoding} $sqr-encoding-console
+syn keyword sqrReserved {sqr-encoding-console}
+syn keyword sqrReserved $sqr-encoding-database
+syn keyword sqrReserved {sqr-encoding-database}
+syn keyword sqrReserved $sqr-encoding-file-input
+syn keyword sqrReserved {sqr-encoding-file-input}
+syn keyword sqrReserved $sqr-encoding-file-output
+syn keyword sqrReserved {sqr-encoding-file-output}
+syn keyword sqrReserved $sqr-encoding-report-input
+syn keyword sqrReserved {sqr-encoding-report-input}
+syn keyword sqrReserved $sqr-encoding-report-output
+syn keyword sqrReserved {sqr-encoding-report-output}
+syn keyword sqrReserved $sqr-encoding-source {sqr-encoding-source}
+syn keyword sqrReserved $sql-error $sqr-hostname {sqr-hostname}
+syn keyword sqrReserved $sqr-locale $sqr-platform {sqr-platform}
+syn keyword sqrReserved $sqr-program $sqr-report $sqr-toc-text
+syn keyword sqrReserved $sqr-ver $username
+
+syn keyword sqrPreProc #define #else #end-if #endif #if #ifdef
+syn keyword sqrPreProc #ifndef #include
+
+syn keyword sqrCommand add array-add array-divide array-multiply
+syn keyword sqrCommand array-subtract ask break call clear-array
+syn keyword sqrCommand close columns commit concat connect
+syn keyword sqrCommand create-array create-color-palette date-time
+syn keyword sqrCommand display divide do dollar-symbol else encode
+syn keyword sqrCommand end-evaluate end-if end-while evaluate
+syn keyword sqrCommand execute extract find get get-color goto
+syn keyword sqrCommand graphic if input last-page let lookup
+syn keyword sqrCommand lowercase mbtosbs money-symbol move
+syn keyword sqrCommand multiply new-page new-report next-column
+syn keyword sqrCommand next-listing no-formfeed open page-number
+syn keyword sqrCommand page-size position print print-bar-code
+syn keyword sqrCommand print-chart print-direct print-image
+syn keyword sqrCommand printer-deinit printer-init put read
+syn keyword sqrCommand rollback security set-color set-delay-print
+syn keyword sqrCommand set-generations set-levels set-members
+syn keyword sqrCommand sbtombs show stop string subtract toc-entry
+syn keyword sqrCommand unstring uppercase use use-column
+syn keyword sqrCommand use-printer-type use-procedure use-report
+syn keyword sqrCommand while write
+
+syn keyword sqrParam 3d-effects after after-bold after-page
+syn keyword sqrParam after-report after-toc and as at-end before
+syn keyword sqrParam background batch-mode beep before-bold
+syn keyword sqrParam before-page before-report before-toc blink
+syn keyword sqrParam bold border bottom-margin box break by
+syn keyword sqrParam caption center char char-size char-width
+syn keyword sqrParam chars-inch chart-size checksum cl
+syn keyword sqrParam clear-line clear-screen color color-palette
+syn keyword sqrParam cs color_ data-array
+syn keyword sqrParam data-array-column-count
+syn keyword sqrParam data-array-column-labels
+syn keyword sqrParam data-array-row-count data-labels date
+syn keyword sqrParam date-edit-mask date-seperator
+syn keyword sqrParam day-of-week-case day-of-week-full
+syn keyword sqrParam day-of-week-short decimal decimal-seperator
+syn keyword sqrParam default-numeric delay distinct dot-leader
+syn keyword sqrParam edit-option-ad edit-option-am
+syn keyword sqrParam edit-option-bc edit-option-na
+syn keyword sqrParam edit-option-pm encoding entry erase-page
+syn keyword sqrParam extent field fill fixed fixed_nolf float
+syn keyword sqrParam font font-style font-type footing
+syn keyword sqrParam footing-size foreground for-append
+syn keyword sqrParam for-reading for-reports for-tocs
+syn keyword sqrParam for-writing format formfeed from goto-top
+syn keyword sqrParam group having heading heading-size height
+syn keyword sqrParam horz-line image-size in indentation
+syn keyword sqrParam init-string input-date-edit-mask insert
+syn keyword sqrParam integer into item-color item-size key
+syn keyword sqrParam layout left-margin legend legend-placement
+syn keyword sqrParam legend-presentation legend-title level
+syn keyword sqrParam line-height line-size line-width lines-inch
+syn keyword sqrParam local locale loops max-columns max-lines
+syn keyword sqrParam maxlen money money-edit-mask money-sign
+syn keyword sqrParam money-sign-location months-case months-full
+syn keyword sqrParam months-short name need newline newpage
+syn keyword sqrParam no-advance nolf noline noprompt normal not
+syn keyword sqrParam nowait number number-edit-mask on-break
+syn keyword sqrParam on-error or order orientation page-depth
+syn keyword sqrParam paper-size pie-segment-explode
+syn keyword sqrParam pie-segment-percent-display
+syn keyword sqrParam pie-segment-quantity-display pitch
+syn keyword sqrParam point-markers point-size printer
+syn keyword sqrParam printer-type quiet record reset-string
+syn keyword sqrParam return_value reverse right-margin rows save
+syn keyword sqrParam select size skip skiplines sort source
+syn keyword sqrParam sqr-database sqr-platform startup-file
+syn keyword sqrParam status stop sub-title symbol-set system
+syn keyword sqrParam table text thousand-seperator
+syn keyword sqrParam time-seperator times title to toc
+syn keyword sqrParam top-margin type underline update using
+syn keyword sqrParam value vary vert-line wait warn when
+syn keyword sqrParam when-other where with x-axis-grid
+syn keyword sqrParam x-axis-label x-axis-major-increment
+syn keyword sqrParam x-axis-major-tick-marks x-axis-max-value
+syn keyword sqrParam x-axis-min-value x-axis-minor-increment
+syn keyword sqrParam x-axis-minor-tick-marks x-axis-rotate
+syn keyword sqrParam x-axis-scale x-axis-tick-mark-placement xor
+syn keyword sqrParam y-axis-grid y-axis-label
+syn keyword sqrParam y-axis-major-increment
+syn keyword sqrParam y-axis-major-tick-marks y-axis-max-value
+syn keyword sqrParam y-axis-min-value y-axis-minor-increment
+syn keyword sqrParam y-axis-minor-tick-marks y-axis-scale
+syn keyword sqrParam y-axis-tick-mark-placement y2-type
+syn keyword sqrParam y2-data-array y2-data-array-row-count
+syn keyword sqrParam y2-data-array-column-count
+syn keyword sqrParam y2-data-array-column-labels
+syn keyword sqrParam y2-axis-color-palette y2-axis-label
+syn keyword sqrParam y2-axis-major-increment
+syn keyword sqrParam y2-axis-major-tick-marks y2-axis-max-value
+syn keyword sqrParam y2-axis-min-value y2-axis-minor-increment
+syn keyword sqrParam y2-axis-minor-tick-marks y2-axis-scale
+
+syn keyword sqrFunction abs acos asin atan array ascii asciic ceil
+syn keyword sqrFunction cos cosh chr cond deg delete dateadd
+syn keyword sqrFunction datediff datenow datetostr e10 exp edit
+syn keyword sqrFunction exists floor getenv instr instrb isblank
+syn keyword sqrFunction isnull log log10 length lengthb lengthp
+syn keyword sqrFunction lengtht lower lpad ltrim mod nvl power rad
+syn keyword sqrFunction round range replace roman rpad rtrim rename
+syn keyword sqrFunction sign sin sinh sqrt substr substrb substrp
+syn keyword sqrFunction substrt strtodate tan tanh trunc to_char
+syn keyword sqrFunction to_multi_byte to_number to_single_byte
+syn keyword sqrFunction transform translate unicode upper wrapdepth
+
+" END GENERATED SECTION ==============================================
+
+" Variables
+syn match sqrVariable /\(\$\|#\|&\)\(\k\|\.\)*/
+
+
+" Debug compiler directives
+syn match sqrPreProc /\s*#debug\a\=\(\s\|$\)/
+syn match sqrSubstVar /{\k*}/
+
+
+" Strings
+" Note: if an undoubled ! is found, this is not a valid string
+" (SQR will treat the end of the line as a comment)
+syn match sqrString /'\(!!\|[^!']\)*'/ contains=sqrSubstVar
+syn match sqrStrOpen /'\(!!\|''\|[^!']\)*$/
+" If we find a ' followed by an unmatched ! before a matching ',
+" flag the error.
+syn match sqrError /'\(!!\|[^'!]\)*![^!]/me=e-1
+syn match sqrError /'\(!!\|[^'!]\)*!$/
+
+" Numbers:
+syn match sqrNumber /-\=\<\d*\.\=[0-9_]\>/
+
+
+
+" Comments:
+" Handle comments that start with "!=" specially; they are only valid
+" in the first column of the source line. Also, "!!" is only treated
+" as a start-comment if there is only whitespace ahead of it on the line.
+
+syn keyword sqrTodo TODO FIXME XXX DEBUG NOTE ###
+syn match sqrTodo /???/
+
+if version >= 600
+ " See also the sqrString section above for handling of ! characters
+ " inside of strings. (Those patterns override the ones below.)
+ syn match sqrComment /!\@<!!\([^!=].*\|$\)/ contains=sqrTodo
+ " the ! can't be preceeded by another !,
+ " and must be followed by at least one
+ " character other than ! or =, or immediately
+ " by the end-of-line
+ syn match sqrComment /^!=.*/ contains=sqrTodo
+ syn match sqrComment /^!!.*/ contains=sqrTodo
+ syn match sqrError /^\s\+\zs!=.*/
+ " it's an error to have "!=" preceeded by
+ " just whitespace on the line ("!="
+ " preceeded by non-whitespace is treated
+ " as neither a comment nor an error, since
+ " it is often correct, i.e.
+ " if #count != 7
+ syn match sqrError /.\+\zs!!.*/
+ " a "!!" anywhere but at the beginning of
+ " the line is always an error
+else "For versions before 6.0, same idea as above but we are limited
+ "to simple patterns only. Also, the sqrString patterns above
+ "don't seem to take precedence in v5 as they do in v6, so
+ "we split the last rule to ignore comments found inside of
+ "string literals.
+ syn match sqrComment /!\([^!=].*\|$\)/ contains=sqrTodo
+ syn match sqrComment /^!=.*/ contains=sqrTodo
+ syn match sqrComment /^!!.*/ contains=sqrTodo
+ syn match sqrError /^\s\+!=.*/
+ syn match sqrError /^[^'!]\+!!/
+ " flag !! on lines that don't have ! or '
+ syn match sqrError /^\([^!']*'[^']*'[^!']*\)\+!!/
+ " flag !! found after matched ' ' chars
+ " (that aren't also commented)
+endif
+
+
+" Define the default highlighting.
+" For version 5.7 and earlier, only when not done already.
+" For version 5.8 and later, only when an item doesn;t have hightlighting yet.
+if version >= 508 || !exists("did_sqr_syn_inits")
+ if version < 508
+ let did_sqr_syn_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink sqrSection Statement
+ HiLink sqrParagraph Statement
+ HiLink sqrReserved Statement
+ HiLink sqrParameter Statement
+ HiLink sqrPreProc PreProc
+ HiLink sqrSubstVar PreProc
+ HiLink sqrCommand Statement
+ HiLink sqrParam Type
+ HiLink sqrFunction Special
+
+ HiLink sqrString String
+ HiLink sqrStrOpen Todo
+ HiLink sqrNumber Number
+ HiLink sqrVariable Identifier
+
+ HiLink sqrComment Comment
+ HiLink sqrTodo Todo
+ HiLink sqrError Error
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "sqr"
+
+" vim: ts=8 sw=2