Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
sqlhana.vim291 linesDownload Raw Back to syntax
1" Vim syntax file2" Language:    SQL, SAP HANA In Memory Database3" Maintainer:  David Fishburn <dfishburn dot vim at gmail dot com>4" Last Change: 2012 Oct 235" Version:     SP4 b (Q2 2012)6" Homepage:    http://www.vim.org/scripts/script.php?script_id=42757 8" Description: Updated to SAP HANA SP49"10" quit when a syntax file was already loaded11if exists("b:current_syntax")12    finish13endif14 15syn case ignore16 17" The SQL reserved words, defined as keywords.18" These were pulled from the following SQL reference:19"     http://help.sap.com/hana/hana_sql_en.pdf20" An easy approach is to copy all text from the PDF21" into a Vim buffer.  The keywords are in UPPER case,22" so you can run the following commands to be left with23" mainly the UPPER case words:24"   1.  Delete all words that do not begin with a Capital25"       %s/\(\<[^A-Z]\w*\>\)//g26"   2.  Remove all words where the 2nd letter is not a Capital27"       %s/\(\<[A-Z][^A-Z]\w*\>\)//g28"   3.  Remove all non-word (or space) characters29"       %s/[^0-9A-Za-z_ ]*//g30"   4.  Remove some known words31"       %s/\<\(SAP\|HANA\|OK\|AG\|IBM\|DB2\|AIX\|POWER\d\+\|UNIX\)\>//g32"   5.  Remove blank lines and trailing spaces33"       %s/\s\+$//g34"       %s/^\s\+//g35"       %s/^$\n//g36"   6.  Convert spaces to newlines remove single character37"       %s/[ ]\+/\r/g38"       %g/^\w$/d39"   7.  Sort and remove duplicates40"       :sort41"       :Uniq42"   8.  Use the WhatsMissing plugin against the sqlhana.vim file.43"   9.  Generated a file of all UPPER cased words which should not44"       be in the syntax file.  These items should be removed45"       from the list in step 7.  You can use WhatsNotMissing46"       between step 7 and this new file to weed out the words47"       we know are not syntax related.48"  10.  Use the WhatsMissingRemoveMatches to remove the words49"       from step 9.50 51syn keyword sqlSpecial  false null true52 53" Supported Functions for Date/Time types54syn keyword sqlFunction	 ADD_DAYS ADD_MONTHS ADD_SECONDS ADD_YEARS COALESCE55syn keyword sqlFunction	 CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_UTCDATE56syn keyword sqlFunction	 CURRENT_UTCTIME CURRENT_UTCTIMESTAMP57syn keyword sqlFunction	 DAYNAME DAYOFMONTH DAYOFYEAR DAYS_BETWEEN EXTRACT58syn keyword sqlFunction	 GREATEST HOUR IFNULL ISOWEEK LAST_DAY LEAST LOCALTOUTC59syn keyword sqlFunction	 MINUTE MONTH MONTHNAME NEXT_DAY NOW QUARTER SECOND60syn keyword sqlFunction	 SECONDS_BETWEEN UTCTOLOCAL WEEK WEEKDAY YEAR61 62syn keyword sqlFunction	 TO_CHAR TO_DATE TO_DATS TO_NCHAR TO_TIME TO_TIMESTAMP UTCTOLOCAL63 64" Aggregate65syn keyword sqlFunction	 COUNT MIN MAX SUM AVG STDDEV VAR66 67" Datatype conversion68syn keyword sqlFunction	 CAST TO_ALPHANUM TO_BIGINT TO_BINARY TO_BLOB TO_CHAR TO_CLOB69syn keyword sqlFunction	 TO_DATE TO_DATS TO_DECIMAL TO_DOUBLE TO_INT TO_INTEGER TO_NCHAR70syn keyword sqlFunction	 TO_NCLOB TO_NVARCHAR TO_REAL TO_SECONDDATE TO_SMALLDECIMAL71syn keyword sqlFunction	 TO_SMALLINT TO_TIME TO_TIMESTAMP TO_TINYINT TO_VARCHAR TO_VARBINARY72 73" Number functions74syn keyword sqlFunction	 ABS ACOS ASIN ATAN ATAN2 BINTOHEX BITAND CEIL COS COSH COT75syn keyword sqlFunction	 EXP FLOOR GREATEST HEXTOBIN LEAST LN LOG MOD POWER ROUND76syn keyword sqlFunction	 SIGN SIN SINH SQRT TAN TANH UMINUS77 78" String functions79syn keyword sqlFunction	 ASCII CHAR CONCAT LCASE LENGTH LOCATE LOWER LPAD LTRIM80syn keyword sqlFunction	 NCHAR REPLACE RPAD RTRIM SUBSTR_AFTER SUBSTR_BEFORE81syn keyword sqlFunction	 SUBSTRING TRIM UCASE UNICODE UPPER82 83" Miscellaneous functions84syn keyword sqlFunction	 COALESCE CURRENT_CONNECTION CURRENT_SCHEMA CURRENT_USER85syn keyword sqlFunction	 GROUPING_ID IFNULL MAP NULLIF SESSION_CONTEXT SESSION_USER SYSUUIDSQL86syn keyword sqlFunction	 GET_NUM_SERVERS87 88 89" sp_ procedures90" syn keyword sqlFunction  sp_addalias91 92 93" Reserved keywords94syn keyword sqlkeyword   ALL AS AT BEFORE95syn keyword sqlkeyword   BEGIN BOTH BY96syn keyword sqlkeyword   CONDITION97syn keyword sqlkeyword   CURRVAL CURSOR DECLARE98syn keyword sqlkeyword   DISTINCT DO ELSE ELSEIF ELSIF99syn keyword sqlkeyword   END EXCEPTION EXEC100syn keyword sqlkeyword   FOR FROM GROUP101syn keyword sqlkeyword   HAVING IN102syn keyword sqlkeyword   INOUT INTO IS103syn keyword sqlkeyword   LEADING104syn keyword sqlkeyword   LOOP MINUS NATURAL NEXTVAL105syn keyword sqlkeyword   OF ON ORDER OUT106syn keyword sqlkeyword   PRIOR RETURN RETURNS REVERSE107syn keyword sqlkeyword   ROWID SELECT108syn keyword sqlkeyword   SQL START STOP SYSDATE109syn keyword sqlkeyword   SYSTIME SYSTIMESTAMP SYSUUID110syn keyword sqlkeyword   TRAILING USING UTCDATE111syn keyword sqlkeyword   UTCTIME UTCTIMESTAMP VALUES112syn keyword sqlkeyword   WHILE113syn keyword sqlkeyword   ANY SOME EXISTS ESCAPE114 115" IF keywords116syn keyword sqlkeyword	 IF117 118" CASE keywords119syn keyword sqlKeyword	 WHEN THEN120 121" Syntax rules common to TEXT and SHORTTEXT keywords122syn keyword sqlKeyword	 LANGUAGE DETECTION LINGUISTIC123syn keyword sqlkeyword   MIME TYPE124syn keyword sqlkeyword   EXACT WEIGHT FUZZY FUZZINESSTHRESHOLD SEARCH125syn keyword sqlkeyword   PHRASE INDEX RATIO REBUILD126syn keyword sqlkeyword   CONFIGURATION127syn keyword sqlkeyword   SEARCH ONLY128syn keyword sqlkeyword   FAST PREPROCESS129syn keyword sqlkeyword   SYNC SYNCHRONOUS ASYNC ASYNCHRONOUS FLUSH QUEUE130syn keyword sqlkeyword   EVERY AFTER MINUTES DOCUMENTS SUSPEND131 132" Statement keywords (i.e. after ALTER or CREATE)133syn keyword sqlkeyword   AUDIT POLICY134syn keyword sqlkeyword   FULLTEXT135syn keyword sqlkeyword   SEQUENCE RESTART136syn keyword sqlkeyword   TABLE137syn keyword sqlkeyword   PROCEDURE STATISTICS138syn keyword sqlkeyword   SCHEMA139syn keyword sqlkeyword   SYNONYM140syn keyword sqlkeyword   VIEW141syn keyword sqlkeyword   COLUMN142syn keyword sqlkeyword   SYSTEM LICENSE143syn keyword sqlkeyword   SESSION144syn keyword sqlkeyword   CANCEL WORK145syn keyword sqlkeyword   PLAN CACHE146syn keyword sqlkeyword   LOGGING NOLOGGING RETENTION147syn keyword sqlkeyword   RECONFIGURE SERVICE148syn keyword sqlkeyword   RESET MONITORING149syn keyword sqlkeyword   SAVE DURATION PERFTRACE FUNCTION_PROFILER150syn keyword sqlkeyword   SAVEPOINT151syn keyword sqlkeyword   USER152syn keyword sqlkeyword   ROLE153syn keyword sqlkeyword   ASC DESC154syn keyword sqlkeyword   OWNED155syn keyword sqlkeyword   DEPENDENCIES SCRAMBLE156 157" Create sequence158syn keyword sqlkeyword   INCREMENT MAXVALUE MINVALUE CYCLE159 160" Create table161syn keyword sqlkeyword   HISTORY GLOBAL LOCAL TEMPORARY162 163" Create trigger164syn keyword sqlkeyword   TRIGGER REFERENCING EACH DEFAULT165syn keyword sqlkeyword   SIGNAL RESIGNAL MESSAGE_TEXT OLD NEW166syn keyword sqlkeyword   EXIT HANDLER SQL_ERROR_CODE167syn keyword sqlkeyword   TARGET CONDITION SIGNAL168 169" Alter table170syn keyword sqlkeyword   ADD DROP MODIFY GENERATED ALWAYS171syn keyword sqlkeyword   UNIQUE BTREE CPBTREE PRIMARY KEY172syn keyword sqlkeyword   CONSTRAINT PRELOAD NONE173syn keyword sqlkeyword   ROW THREADS BATCH174syn keyword sqlkeyword   MOVE PARTITION TO LOCATION PHYSICAL OTHERS175syn keyword sqlkeyword   ROUNDROBIN PARTITIONS HASH RANGE VALUE176syn keyword sqlkeyword   PERSISTENT DELTA AUTO AUTOMERGE177 178" Create audit policy179syn keyword sqlkeyword   AUDITING SUCCESSFUL UNSUCCESSFUL180syn keyword sqlkeyword	 PRIVILEGE STRUCTURED CHANGE LEVEL181syn keyword sqlkeyword	 EMERGENCY ALERT CRITICAL WARNING INFO182 183" Privileges184syn keyword sqlkeyword   DEBUG EXECUTE185 186" Schema187syn keyword sqlkeyword   CASCADE RESTRICT PARAMETERS SCAN188 189" Traces190syn keyword sqlkeyword   CLIENT CRASHDUMP EMERGENCYDUMP191syn keyword sqlkeyword   INDEXSERVER NAMESERVER DAEMON192syn keyword sqlkeyword   CLEAR REMOVE TRACES193 194" Reclaim195syn keyword sqlkeyword   RECLAIM DATA VOLUME VERSION SPACE DEFRAGMENT SPARSIFY196 197" Join198syn keyword sqlkeyword   INNER OUTER LEFT RIGHT FULL CROSS JOIN199syn keyword sqlkeyword   GROUPING SETS ROLLUP CUBE200syn keyword sqlkeyword   BEST LIMIT OFFSET201syn keyword sqlkeyword   WITH SUBTOTAL BALANCE TOTAL202syn keyword sqlkeyword   TEXT_FILTER FILL UP SORT MATCHES TOP203syn keyword sqlkeyword   RESULT OVERVIEW PREFIX MULTIPLE RESULTSETS204 205" Lock206syn keyword sqlkeyword   EXCLUSIVE MODE NOWAIT207 208" Transaction209syn keyword sqlkeyword   TRANSACTION ISOLATION READ COMMITTED210syn keyword sqlkeyword   REPEATABLE SERIALIZABLE WRITE211 212" Saml213syn keyword sqlkeyword   SAML ASSERTION PROVIDER SUBJECT ISSUER214 215" User216syn keyword sqlkeyword   PASSWORD IDENTIFIED EXTERNALLY ATTEMPTS ATTEMPTS217syn keyword sqlkeyword	 ENABLE DISABLE OFF LIFETIME FORCE DEACTIVATE218syn keyword sqlkeyword	 ACTIVATE IDENTITY KERBEROS219 220" Grant221syn keyword sqlkeyword   ADMIN BACKUP CATALOG SCENARIO INIFILE MONITOR222syn keyword sqlkeyword   OPTIMIZER OPTION223syn keyword sqlkeyword   RESOURCE STRUCTUREDPRIVILEGE TRACE224 225" Import226syn keyword sqlkeyword   CSV FILE CONTROL NO CHECK SKIP FIRST LIST227syn keyword sqlkeyword	 RECORD DELIMITED FIELD OPTIONALLY ENCLOSED FORMAT228 229" Roles230syn keyword sqlkeyword   PUBLIC CONTENT_ADMIN MODELING MONITORING231 232" Miscellaneous233syn keyword sqlkeyword   APPLICATION BINARY IMMEDIATE COREFILE SECURITY DEFINER234syn keyword sqlkeyword   DUMMY INVOKER MATERIALIZED MESSEGE_TEXT PARAMETER PARAMETERS235syn keyword sqlkeyword   PART236syn keyword sqlkeyword   CONSTANT SQLEXCEPTION SQLWARNING237 238syn keyword sqlOperator  WHERE BETWEEN LIKE NULL CONTAINS239syn keyword sqlOperator  AND OR NOT CASE240syn keyword sqlOperator  UNION INTERSECT EXCEPT241 242syn keyword sqlStatement ALTER CALL CALLS CREATE DROP RENAME TRUNCATE243syn keyword sqlStatement DELETE INSERT UPDATE EXPLAIN244syn keyword sqlStatement MERGE REPLACE UPSERT SELECT245syn keyword sqlStatement SET UNSET LOAD UNLOAD246syn keyword sqlStatement CONNECT DISCONNECT COMMIT LOCK ROLLBACK247syn keyword sqlStatement GRANT REVOKE248syn keyword sqlStatement EXPORT IMPORT249 250 251syn keyword sqlType	 DATE TIME SECONDDATE TIMESTAMP TINYINT SMALLINT252syn keyword sqlType	 INT INTEGER BIGINT SMALLDECIMAL DECIMAL253syn keyword sqlType	 REAL DOUBLE FLOAT254syn keyword sqlType	 VARCHAR NVARCHAR ALPHANUM SHORTTEXT VARBINARY255syn keyword sqlType	 BLOB CLOB NCLOB TEXT DAYDATE256 257syn keyword sqlOption    Webservice_namespace_host258 259" Strings and characters:260syn region sqlString		start=+"+    end=+"+ contains=@Spell261syn region sqlString		start=+'+    end=+'+ contains=@Spell262 263" Numbers:264syn match sqlNumber		"-\=\<\d*\.\=[0-9_]\>"265 266" Comments:267syn region sqlDashComment	start=/--/ end=/$/ contains=@Spell268syn region sqlSlashComment	start=/\/\// end=/$/ contains=@Spell269syn region sqlMultiComment	start="/\*" end="\*/" contains=sqlMultiComment,@Spell270syn cluster sqlComment	contains=sqlDashComment,sqlSlashComment,sqlMultiComment,@Spell271syn sync ccomment sqlComment272syn sync ccomment sqlDashComment273syn sync ccomment sqlSlashComment274 275hi def link sqlDashComment	Comment276hi def link sqlSlashComment	Comment277hi def link sqlMultiComment	Comment278hi def link sqlNumber	        Number279hi def link sqlOperator	        Operator280hi def link sqlSpecial	        Special281hi def link sqlKeyword	        Keyword282hi def link sqlStatement	Statement283hi def link sqlString	        String284hi def link sqlType	        Type285hi def link sqlFunction	        Function286hi def link sqlOption	        PreProc287 288let b:current_syntax = "sqlhana"289 290" vim:sw=4:291 
codekingpro/portable-devtools · Team Ai