diff runtime/syntax/sqr.vim @ 7:3fc0f57ecb91 v7.0001

updated for version 7.0001
author vimboss
date Sun, 13 Jun 2004 20:20:40 +0000
parents
children 37ecb8ff4560
line wrap: on
line diff
new file mode 100644
--- /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