github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/scripts/crlogictest.vim (about)

     1  " Vim syntax file
     2  " Language:         CockroachDB logic tests
     3  " Maintainer:       Radu Berinde <radu@cockroachlabs.com>
     4  "
     5  " To use, copy the file to ~/.vim/syntax/
     6  " Recommended in .vimrc:
     7  "    autocmd BufNewFile,BufRead */sql/logictest/testdata/* set filetype=crlogictest tw=0
     8  
     9  if exists("b:current_syntax")
    10    finish
    11  endif
    12  
    13  syn match Comment display '#.*$' contains=Todo
    14  
    15  syn match let     display '^let' skipwhite nextgroup=letVar
    16  syn match letVar  display '\$[a-zA-Z][a-zA-Z0-9_]*'
    17  
    18  syn match stmt     display '^statement' skipwhite nextgroup=stmtOk,stmtErr
    19  syn match stmtOk   contained display 'ok\|OK'
    20  syn match stmtErr  contained display 'error' skipwhite nextgroup=errorStr
    21  syn match errorStr contained display '.*$'
    22  
    23  syn match query           display '^query' skipwhite nextgroup=stmtErr,queryCols
    24  syn match queryCols       contained display '[A-Z]\+' skipwhite nextgroup=queryKeyword
    25  syn keyword queryKeyword  contained nosort partialsort rowsort valuesort colnames trimdecimals
    26  
    27  syn match Number	'\<\d\+\>#\='
    28  
    29  syn region Constant start=+'+ end=+'+
    30  
    31  syn match	separator display '^----$'
    32  syn region results matchgroup=separator start='^----$' end='^$' contains=badWhitespace,number,parens,braces,constant,valueKeyword
    33  
    34  " Highlight trailing whitespace and tabs.
    35  syn match badWhitespace display '\s\+$'
    36  syn match badWhitespace display '\t'
    37  
    38  syn match parens display '[()]'
    39  syn match braces display '[{}]'
    40  
    41  hi def link parens        Identifier
    42  hi def link braces        Special
    43  hi def link separator     Special
    44  hi def link stmt          Special
    45  hi def link stmtOk        Identifier
    46  hi def link stmtErr       Identifier
    47  hi def link errorStr      Constant
    48  hi def link let           Special
    49  hi def link query         Special
    50  hi def link queryCols     Type
    51  hi def link queryKeyword  Special
    52  hi def link badWhitespace ErrorMsg
    53  hi letVar ctermFg=Red
    54  
    55  syn keyword Todo TODO XXX
    56  
    57  syn case ignore
    58  
    59  syn keyword valueKeyword FALSE TRUE NULL
    60  
    61  syn keyword sqlKeyword ACTION ADD ALTER AT BACKUP BEGIN BLOB BY CASCADE COLUMNS COMMIT COMMITTED CONFLICT CONSTRAINTS COPY COVERING CUBE CURRENT CYCLE
    62  syn keyword sqlKeyword DATA DATABASE DATABASES DAY DEALLOCATE DELETE DOUBLE DROP ENCODING EXECUTE EXPLAIN FILTER FIRST FOLLOWING FORCE_INDEX GRANTS
    63  syn keyword sqlKeyword HELP HIGH HOUR INCREMENTAL INDEXES INSERT INT2VECTOR INTERLEAVE ISOLATION KEY KEYS
    64  syn keyword sqlKeyword LC_COLLATE LC_CTYPE LEVEL LOCAL LOW MATCH MINUTE MONTH NAMES NAN NEXT NO NORMAL NO_INDEX_JOIN NULLS OF OFF OID OPTIONS ORDINALITY OVER
    65  syn keyword sqlKeyword PARENT PARTIAL PARTITION PASSWORD PRECEDING PREPARE PRIORITY RANGE RANGES READ RECURSIVE REF REGCLASS REGPROC REGPROCEDURE REGNAMESPACE
    66  syn keyword sqlKeyword REGTYPE RELEASE RENAME REPEATABLE RESTORE RESTRICT REVOKE ROLLBACK ROLLUP ROWS STATUS SAVEPOINT SEARCH SECOND SERIALIZABLE SESSION
    67  syn keyword sqlKeyword SET SHOW SIMPLE SNAPSHOT SQL START STDIN STORING STRICT SPLIT SYSTEM TABLES TEMPLATE TEXT TRANSACTION TRUNCATE TYPE UNBOUNDED UNCOMMITTED UNKNOWN
    68  syn keyword sqlKeyword UPDATE UPSERT USERS VALID VALIDATE VALUE VARYING WITHIN WITHOUT YEAR ZONE
    69  
    70  syn keyword sqlReserved ALL ANALYSE ANALYZE AND ANY ARRAY AS ASC ASYMMETRIC BOTH CASE CAST CHECK COLLATE COLUMN CONSTRAINT CREATE
    71  syn keyword sqlReserved CURRENT_CATALOG CURRENT_DATE CURRENT_ROLE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER DEFAULT DEFERRABLE
    72  syn keyword sqlReserved DESC DISTINCT DO ELSE END EXCEPT FAMILY FETCH FOR FOREIGN FROM GRANT GROUP HAVING IN INDEX
    73  syn keyword sqlReserved INITIALLY INTERSECT INTO LATERAL LEADING LIMIT LOCALTIME LOCALTIMESTAMP NOT NOTHING OFFSET ON ONLY OR
    74  syn keyword sqlReserved ORDER PLACING PRIMARY REFERENCES RETURNING SELECT SESSION_USER SOME SYMMETRIC TABLE THEN TO TRAILING 
    75  syn keyword sqlReserved UNION UNIQUE USER USING VARIADIC VIEW WHEN WHERE WINDOW WITH
    76  
    77  syn keyword sqlType ANNOTATE_TYPE BETWEEN BIGINT BIGSERIAL BIT BOOL BOOLEAN BYTEA BYTES CHAR CHARACTER CHARACTERISTICS COALESCE DATE
    78  syn keyword sqlType DEC DECIMAL EXISTS EXTRACT EXTRACT_DURATION FLOAT GREATEST GROUPING HISTOGRAM IF IFNULL INT INT2 INT4 INT8 INT64 INTEGER INTERVAL LEAST
    79  syn keyword sqlType NAME NULLIF NUMERIC OUT OVERLAY POSITION PRECISION REAL ROW SEQUENCE SERIAL SERIAL2 SERIAL4 SERIAL8 SMALLINT SMALLSERIAL STATISTICS STRING SUBSTRING
    80  syn keyword sqlType TIME TIMESTAMP TIMESTAMPTZ TREAT TRIM VALUES VARCHAR
    81  
    82  syn keyword sqlKeyword COLLATION CROSS FULL INNER ILIKE IS JOIN LEFT LIKE NATURAL OUTER OVERLAPS RIGHT SIMILAR
    83  
    84  syn keyword sqlFunc MIN MAX CORR COUNT SUM_INT AVG SUM STDDEV VARIANCE BOOL_AND BOOL_OR ARRAY_AGG BIT_AND BIT_OR
    85  
    86  
    87  hi def link valueKeyword Constant
    88  hi def link sqlFunc	     Function
    89  hi def link sqlType	     Type
    90  hi def link sqlReserved  Keyword
    91  hi def link sqlKeyword	 Keyword
    92  
    93  let b:current_syntax = "crlogictest"