Skip to content

Instantly share code, notes, and snippets.

@kowill
Last active July 3, 2022 15:29
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kowill/d4e76475882bf9d42fc36f31dd200ca7 to your computer and use it in GitHub Desktop.
Save kowill/d4e76475882bf9d42fc36f31dd200ca7 to your computer and use it in GitHub Desktop.
Firebird 用xshd
<SyntaxDefinition name="SQL" extensions=".sql" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
<Color name="Digits" foreground="#FF00008B" exampleText="3.1415f" />
<Color name="Comment" foreground="#FF008000" exampleText="string text = &quot;Hello, World!&quot;" />
<Color name="Punctuation" foreground="#FFFF0000" exampleText="string text = &quot;Hello, World!&quot;" />
<Color name="String" foreground="#FF808000" exampleText="string text = &quot;Hello, World!&quot;" />
<Color name="String2" foreground="#FF999933" exampleText="string text = &quot;Hello, World!&quot;" />
<Color name="Keyword" foreground="#FF0000FF" fontWeight="bold" exampleText="SELECT" />
<Color name="MethodCall" foreground="#FF191970" fontWeight="bold" />
<Color name="ObjectReference" foreground="#FF008080" exampleText="Customer.Name" />
<Color name="CommentMarkerSetTodo" foreground="#FFFF0000" fontWeight="bold" />
<Color name="CommentMarkerSetHackUndone" foreground="#FFE0E000" fontWeight="bold" />
<RuleSet name="CommentMarkerSet">
<Keywords color="CommentMarkerSetTodo">
<Word>TODO</Word>
<Word>FIXME</Word>
</Keywords>
<Keywords color="CommentMarkerSetHackUndone">
<Word>HACK</Word>
<Word>UNDONE</Word>
</Keywords>
</RuleSet>
<RuleSet ignoreCase="true">
<Span color="String" multiline="true">
<Begin>'</Begin>
<End>'</End>
</Span>
<Span color="String2" multiline="true">
<Begin>"</Begin>
<End>"</End>
</Span>
<Span color="Comment" begin="--" end="\n" ruleSet="CommentMarkerSet" />
<Span color="Comment" ruleSet="CommentMarkerSet" multiline="true">
<Begin>/\*</Begin>
<End>\*/</End>
</Span>
<Keywords color="Keyword">
<Word>ABS</Word>
<Word>ACCENT</Word>
<Word>ACOS</Word>
<Word>ACTION</Word>
<Word>ACTIVE</Word>
<Word>ADD</Word>
<Word>ADMIN</Word>
<Word>AFTER</Word>
<Word>ALL</Word>
<Word>ALTER</Word>
<Word>ALWAYS</Word>
<Word>AND</Word>
<Word>ANY</Word>
<Word>AS</Word>
<Word>ASC</Word>
<Word>ASCENDING</Word>
<Word>ASCII_CHAR</Word>
<Word>ASCII_VAL</Word>
<Word>ASIN</Word>
<Word>AT</Word>
<Word>ATAN</Word>
<Word>ATAN2</Word>
<Word>AUTO</Word>
<Word>AUTONOMOUS</Word>
<Word>AVG</Word>
<Word>BACKUP</Word>
<Word>BEFORE</Word>
<Word>BEGIN</Word>
<Word>BETWEEN</Word>
<Word>BIGINT</Word>
<Word>BIN_AND</Word>
<Word>BIN_NOT</Word>
<Word>BIN_OR</Word>
<Word>BIN_SHL</Word>
<Word>BIN_SHR</Word>
<Word>BIN_XOR</Word>
<Word>BIT_LENGTH</Word>
<Word>BLOB</Word>
<Word>BLOCK</Word>
<Word>BOTH</Word>
<Word>BREAK</Word>
<Word>BY</Word>
<Word>CALLER</Word>
<Word>CASCADE</Word>
<Word>CASE</Word>
<Word>CAST</Word>
<Word>CEIL</Word>
<Word>CEILING</Word>
<Word>CHAR</Word>
<Word>CHAR_LENGTH</Word>
<Word>CHAR_TO_UUID</Word>
<Word>CHARACTER</Word>
<Word>CHARACTER_LENGTH</Word>
<Word>CHECK</Word>
<Word>CLOSE</Word>
<Word>COALESCE</Word>
<Word>COLLATE</Word>
<Word>COLLATION</Word>
<Word>COLUMN</Word>
<Word>COMMENT</Word>
<Word>COMMIT</Word>
<Word>COMMITTED</Word>
<Word>COMMON</Word>
<Word>COMPUTED</Word>
<Word>CONDITIONAL</Word>
<Word>CONNECT</Word>
<Word>CONSTRAINT</Word>
<Word>CONTAINING</Word>
<Word>COS</Word>
<Word>COSH</Word>
<Word>COT</Word>
<Word>COUNT</Word>
<Word>CREATE</Word>
<Word>CROSS</Word>
<Word>CSTRING</Word>
<Word>CURRENT</Word>
<Word>CURRENT_CONNECTION</Word>
<Word>CURRENT_DATE</Word>
<Word>CURRENT_ROLE</Word>
<Word>CURRENT_TIME</Word>
<Word>CURRENT_TIMESTAMP</Word>
<Word>CURRENT_TRANSACTION</Word>
<Word>CURRENT_USER</Word>
<Word>CURSOR</Word>
<Word>DATA</Word>
<Word>DATABASE</Word>
<Word>DATE</Word>
<Word>DATEADD</Word>
<Word>DATEDIFF</Word>
<Word>DAY</Word>
<Word>DEC</Word>
<Word>DECIMAL</Word>
<Word>DECLARE</Word>
<Word>DECODE</Word>
<Word>DEFAULT</Word>
<Word>DELETE</Word>
<Word>DELETING</Word>
<Word>DESC</Word>
<Word>DESCENDING</Word>
<Word>DESCRIPTOR</Word>
<Word>DIFFERENCE</Word>
<Word>DISCONNECT</Word>
<Word>DISTINCT</Word>
<Word>DO</Word>
<Word>DOMAIN</Word>
<Word>DOUBLE</Word>
<Word>DROP</Word>
<Word>ELSE</Word>
<Word>END</Word>
<Word>ENTRY_POINT</Word>
<Word>ESCAPE</Word>
<Word>EXCEPTION</Word>
<Word>EXECUTE</Word>
<Word>EXISTS</Word>
<Word>EXIT</Word>
<Word>EXP</Word>
<Word>EXTERNAL</Word>
<Word>EXTRACT</Word>
<Word>FETCH</Word>
<Word>FILE</Word>
<Word>FILTER</Word>
<Word>FIRST</Word>
<Word>FIRSTNAME</Word>
<Word>FLOAT</Word>
<Word>FLOOR</Word>
<Word>FOR</Word>
<Word>FOREIGN</Word>
<Word>FREE_IT</Word>
<Word>FROM</Word>
<Word>FULL</Word>
<Word>FUNCTION</Word>
<Word>GDSCODE</Word>
<Word>GEN_ID</Word>
<Word>GEN_UUID</Word>
<Word>GENERATED</Word>
<Word>GENERATOR</Word>
<Word>GLOBAL</Word>
<Word>GRANT</Word>
<Word>GRANTED</Word>
<Word>GROUP</Word>
<Word>HASH</Word>
<Word>HAVING</Word>
<Word>HOUR</Word>
<Word>IF</Word>
<Word>IGNORE</Word>
<Word>IIF</Word>
<Word>IN</Word>
<Word>INACTIVE</Word>
<Word>INDEX</Word>
<Word>INNER</Word>
<Word>INPUT_TYPE</Word>
<Word>INSENSITIVE</Word>
<Word>INSERT</Word>
<Word>INSERTING</Word>
<Word>INT</Word>
<Word>INTEGER</Word>
<Word>INTO</Word>
<Word>IS</Word>
<Word>ISOLATION</Word>
<Word>JOIN</Word>
<Word>KEY</Word>
<Word>LAST</Word>
<Word>LASTNAME</Word>
<Word>LEADING</Word>
<Word>LEAVE</Word>
<Word>LEFT</Word>
<Word>LENGTH</Word>
<Word>LEVEL</Word>
<Word>LIKE</Word>
<Word>LIMBO</Word>
<Word>LIST</Word>
<Word>LN</Word>
<Word>LOCK</Word>
<Word>LOG</Word>
<Word>LOG10</Word>
<Word>LONG</Word>
<Word>LOWER</Word>
<Word>LPAD</Word>
<Word>MANUAL</Word>
<Word>MAPPING</Word>
<Word>MATCHED</Word>
<Word>MATCHING</Word>
<Word>MAX</Word>
<Word>MAXIMUM_SEGMENT</Word>
<Word>MAXVALUE</Word>
<Word>MERGE</Word>
<Word>MIDDLENAME</Word>
<Word>MILLISECOND</Word>
<Word>MIN</Word>
<Word>MINUTE</Word>
<Word>MINVALUE</Word>
<Word>MOD</Word>
<Word>MODULE_NAME</Word>
<Word>MONTH</Word>
<Word>NAMES</Word>
<Word>NATIONAL</Word>
<Word>NATURAL</Word>
<Word>NCHAR</Word>
<Word>NEXT</Word>
<Word>NO</Word>
<Word>NOT</Word>
<Word>NULL</Word>
<Word>NULLIF</Word>
<Word>NULLS</Word>
<Word>NUMERIC</Word>
<Word>OCTET_LENGTH</Word>
<Word>OF</Word>
<Word>ON</Word>
<Word>ONLY</Word>
<Word>OPEN</Word>
<Word>OPTION</Word>
<Word>OR</Word>
<Word>ORDER</Word>
<Word>OS_NAME</Word>
<Word>OUTER</Word>
<Word>OUTPUT_TYPE</Word>
<Word>OVERFLOW</Word>
<Word>OVERLAY</Word>
<Word>PAD</Word>
<Word>PAGE</Word>
<Word>PAGE_SIZE</Word>
<Word>PAGES</Word>
<Word>PARAMETER</Word>
<Word>PASSWORD</Word>
<Word>PI</Word>
<Word>PLACING</Word>
<Word>PLAN</Word>
<Word>POSITION</Word>
<Word>POST_EVENT</Word>
<Word>POWER</Word>
<Word>PRECISION</Word>
<Word>PRESERVE</Word>
<Word>PRIMARY</Word>
<Word>PRIVILEGES</Word>
<Word>PROCEDURE</Word>
<Word>PROTECTED</Word>
<Word>RAND</Word>
<Word>RDB$DB_KEY</Word>
<Word>READ</Word>
<Word>REAL</Word>
<Word>RECORD_VERSION</Word>
<Word>RECREATE</Word>
<Word>RECURSIVE</Word>
<Word>REFERENCES</Word>
<Word>RELEASE</Word>
<Word>REPLACE</Word>
<Word>REQUESTS</Word>
<Word>RESERV</Word>
<Word>RESERVING</Word>
<Word>RESTART</Word>
<Word>RESTRICT</Word>
<Word>RETAIN</Word>
<Word>RETURNING</Word>
<Word>RETURNING_VALUES</Word>
<Word>RETURNS</Word>
<Word>REVERSE</Word>
<Word>REVOKE</Word>
<Word>RIGHT</Word>
<Word>ROLE</Word>
<Word>ROLLBACK</Word>
<Word>ROUND</Word>
<Word>ROW_COUNT</Word>
<Word>ROWS</Word>
<Word>RPAD</Word>
<Word>SAVEPOINT</Word>
<Word>SCALAR_ARRAY</Word>
<Word>SCHEMA</Word>
<Word>SECOND</Word>
<Word>SEGMENT</Word>
<Word>SELECT</Word>
<Word>SENSITIVE</Word>
<Word>SEQUENCE</Word>
<Word>SET</Word>
<Word>SHADOW</Word>
<Word>SHARED</Word>
<Word>SIGN</Word>
<Word>SIMILAR</Word>
<Word>SIN</Word>
<Word>SINGULAR</Word>
<Word>SINH</Word>
<Word>SIZE</Word>
<Word>SKIP</Word>
<Word>SMALLINT</Word>
<Word>SNAPSHOT</Word>
<Word>SOME</Word>
<Word>SORT</Word>
<Word>SOURCE</Word>
<Word>SPACE</Word>
<Word>SQLCODE</Word>
<Word>SQLSTATE</Word>
<Word>SQRT</Word>
<Word>STABILITY</Word>
<Word>START</Word>
<Word>STARTING</Word>
<Word>STARTS</Word>
<Word>STATEMENT</Word>
<Word>STATISTICS</Word>
<Word>SUB_TYPE</Word>
<Word>SUBSTRING</Word>
<Word>SUM</Word>
<Word>SUSPEND</Word>
<Word>TABLE</Word>
<Word>TAN</Word>
<Word>TANH</Word>
<Word>TEMPORARY</Word>
<Word>THEN</Word>
<Word>TIME</Word>
<Word>TIMEOUT</Word>
<Word>TIMESTAMP</Word>
<Word>TO</Word>
<Word>TRAILING</Word>
<Word>TRANSACTION</Word>
<Word>TRIGGER</Word>
<Word>TRIM</Word>
<Word>TRUNC</Word>
<Word>TWO_PHASE</Word>
<Word>TYPE</Word>
<Word>UNCOMMITTED</Word>
<Word>UNDO</Word>
<Word>UNION</Word>
<Word>UNIQUE</Word>
<Word>UPDATE</Word>
<Word>UPDATING</Word>
<Word>UPPER</Word>
<Word>USER</Word>
<Word>USING</Word>
<Word>UUID_TO_CHAR</Word>
<Word>VALUE</Word>
<Word>VALUES</Word>
<Word>VARCHAR</Word>
<Word>VARIABLE</Word>
<Word>VARYING</Word>
<Word>VIEW</Word>
<Word>WAIT</Word>
<Word>WEEK</Word>
<Word>WEEKDAY</Word>
<Word>WHEN</Word>
<Word>WHERE</Word>
<Word>WHILE</Word>
<Word>WITH</Word>
<Word>WORK</Word>
<Word>WRITE</Word>
<Word>YEAR</Word>
<Word>YEARDAY</Word>
</Keywords>
<Rule color="ObjectReference">([\d\w]+)\.([\d\w$]+)</Rule>
<Rule color="Punctuation">
[?,.;()\[\]{}+\-/%*&lt;&gt;^+~!|&amp;]+
</Rule>
<Rule color="MethodCall">[\d\w_]+(?=(\s*\())</Rule>
<Rule color="Digits">
\b0[xX][0-9a-fA-F]+ # hex number
|
( \b\d+(\.[0-9]+)? #number with optional floating point
| \.[0-9]+ #or just starting with floating point
)
([eE][+-]?[0-9]+)? # optional exponent
</Rule>
</RuleSet>
</SyntaxDefinition>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment