26

I've looked on the internet (over and over) and I couldn't find an SQL.vshd file for AvalonEdit, I've used the old format version but it makes the editor bug (it doesn't show anymore at all), So I'm wondering maybe someone has done such a file because I don't want to waste my time doing this if it's been already done.

If you could share yours with me that'd be appreciated :)

Thanks in advance

CoolStraw
  • 5,282
  • 8
  • 42
  • 64

3 Answers3

45

Step-by-step:

  1. If not already done, use nuget to install AvalonEdit into your project
  2. Add the Avalon Editor to your window, it will look something like this:

                <avalonEdit:TextEditor
                    xmlns:avalonEdit="http://icsharpcode.net/sharpdevelop/avalonedit"  
                    Name="MyAvalonEdit"
                    FontFamily="Consolas"
                    FontSize="10pt" 
                    ShowLineNumbers="True" 
                    LineNumbersForeground="#FF2B91AF" />
    
  3. Add a new xml file to your project (put it in 'resources' folder, or you can put it anywhere), and name it sql.xshd (xml syntax highlight definition) (or you can name it whatever you like)

  4. Paste in the syntax definition from one the answers here
  5. Change the build action to 'Embedded Resource'
  6. Make a note of the project's default namespace (right-click project -> properties -> application) ProjectProperties
  7. Add the following code in your window load to wire up the syntax hightlighting; replace DefaultNameSpace and Folder as approriate

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        using (var stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("DefaultNamespace.Folder.sql.xshd"))
        {
            using (var reader = new System.Xml.XmlTextReader(stream))
            {
                MyAvalonEdit.SyntaxHighlighting = 
                    ICSharpCode.AvalonEdit.Highlighting.Xshd.HighlightingLoader.Load(reader, 
                    ICSharpCode.AvalonEdit.Highlighting.HighlightingManager.Instance);
            }
        }
    }
    
  8. If you have trouble with the resource name, you can find the names of all resources in the assembly with this:

        // Get names of embedded resources
        var resourceNames = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames(); 
    

I found a good xshd for SQL from Dirk Bahle's open source editor project here: https://github.com/Dirkster99/Edi/blob/master/Edi/Edi/AvalonEdit/Highlighting/SQL.xshd

<?xml version="1.0"?>
    <!-- Shades of Red-Brown: #a31515, #cf4315, #ffb96e, #ffdc95 -->
    <!-- Shades of Bright-Blue: #0077dc #008fe4 #8dbbdc #8de8ff -->
    <SyntaxDefinition name="SQL" extensions=".sql"
                      xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">

    <!-- T-SQL Reference: http://msdn.microsoft.com/de-de/library/ms189826%28v=sql.90%29.aspx -->

    <Color name="Digits"     foreground="DarkBlue" exampleText="3.1415f"/>
    <Color name="Comment" foreground="Green" exampleText="string text = &quot;Hello, World!&quot;"/>
    <Color name="Punctuation" foreground="Red" exampleText="string text = &quot;Hello, World!&quot;"/>

    <Color name="String" foreground="Olive" exampleText="string text = &quot;Hello, World!&quot;"/>
    <Color name="String2" foreground="#993" exampleText="string text = &quot;Hello, World!&quot;"/>

    <Color name="Keyword" fontWeight="bold" foreground="Blue" exampleText="SELECT"/>
    <Color name="Keyword1" fontWeight="normal" foreground="Blue" exampleText="NOCOUNT"/>
    <Color name="GoKeyword" fontWeight="bold" foreground="Red" exampleText="GO"/>

    <Color name="MethodCall" foreground="MidnightBlue" fontWeight="bold" />

    <Color name="Variable" foreground="Red"  exampleText="@Variable" />
    <Color name="Variable1" foreground="Red" exampleText="@@Variable" />

    <Color name="ObjectReference" foreground="Teal" exampleText="Customer.Name" />
    <Color name="ObjectReference1" foreground="Teal" exampleText="dbo.Customer.Name" />

    <Color name="ObjectReferenceInBrackets" foreground="Teal" exampleText="[Customer].[Name]" />
    <Color name="ObjectReferenceInBrackets1" foreground="Teal" exampleText="[dbo].[Customer].[Name]" />

    <Color name="CommentMarkerSetTodo"       foreground="Red"     fontWeight="bold" />
    <Color name="CommentMarkerSetHackUndone" foreground="#E0E000" 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 for escape sequences -->
        <Span  color="Comment" begin="--" end="\n" ruleSet="CommentMarkerSet"/>
        <Span color="Comment"  multiline="true" ruleSet="CommentMarkerSet">
            <Begin>/\*</Begin>
            <End>\*/</End>
        </Span>

        <Keywords color="Keyword" >
            <Word>ABORT</Word>
            <Word>BETWEEN</Word>
            <Word>CRASH</Word>
            <Word>DIGITS</Word>
            <Word>ACCEPT</Word>
            <Word>BINARY_INTEGER</Word>
            <Word>CREATE</Word>
            <Word>DISPOSE</Word>
            <Word>ACCESS</Word>
            <Word>BODY</Word>
            <Word>CURRENT</Word>
            <Word>DISTINCT</Word>
            <Word>ADD</Word>
            <Word>BOOLEAN</Word>
            <Word>CURRVAL</Word>
            <Word>DO</Word>
            <Word>ALL</Word>
            <Word>BY</Word>
            <Word>CURSOR</Word>
            <Word>DROP</Word>
            <Word>ALTER</Word>
            <Word>CASE</Word>
            <Word>DATABASE</Word>
            <Word>ELSE</Word>
            <Word>AND</Word>
            <Word>CHAR</Word>
            <Word>DATA_BASE</Word>
            <Word>ELSIF</Word>
            <Word>ANY</Word>
            <Word>CHAR_BASE</Word>
            <Word>DATE</Word>
            <Word>END</Word>
            <Word>ARRAY</Word>
            <Word>CHECK</Word>
            <Word>DBA</Word>
            <Word>ENTRY</Word>
            <Word>ARRAYLEN</Word>
            <Word>CLOSE</Word>
            <Word>DEBUGOFF</Word>
            <Word>EXCEPTION</Word>
            <Word>AS</Word>
            <Word>CLUSTER</Word>
            <Word>DEBUGON</Word>
            <Word>EXCEPTION_INIT</Word>
            <Word>ASC</Word>
            <Word>CLUSTERS</Word>
            <Word>DECLARE</Word>
            <Word>EXISTS</Word>
            <Word>ASSERT</Word>
            <Word>COLAUTH</Word>
            <Word>DECIMAL</Word>
            <Word>EXIT</Word>
            <Word>ASSIGN</Word>
            <Word>COLUMNS</Word>
            <Word>DEFAULT</Word>
            <Word>FALSE</Word>
            <Word>AT</Word>
            <Word>COMMIT</Word>
            <Word>DEFINITION</Word>
            <Word>FETCH</Word>
            <Word>AUTHORIZATION</Word>
            <Word>COMPRESS</Word>
            <Word>DELAY</Word>
            <Word>FLOAT</Word>
            <Word>AVG</Word>
            <Word>CONNECT</Word>
            <Word>DELETE</Word>
            <Word>FOR</Word>
            <Word>BASE_TABLE</Word>
            <Word>CONSTANT</Word>
            <Word>DELTA</Word>
            <Word>FORM</Word>
            <Word>BEGIN</Word>
            <Word>COUNT</Word>
            <Word>DESC</Word>
            <Word>FROM</Word>
            <Word>FUNCTION</Word>
            <Word>NEW</Word>
            <Word>RELEASE</Word>
            <Word>SUM</Word>
            <Word>GENERIC</Word>
            <Word>NEXTVAL</Word>
            <Word>REMR</Word>
            <Word>TABAUTH</Word>
            <Word>GOTO</Word>
            <Word>NOCOMPRESS</Word>
            <Word>RENAME</Word>
            <Word>TABLE</Word>
            <Word>GRANT</Word>
            <Word>NOT</Word>
            <Word>RESOURCE</Word>
            <Word>TABLES</Word>
            <Word>GROUP</Word>
            <Word>NULL</Word>
            <Word>RETURN</Word>
            <Word>TASK</Word>
            <Word>HAVING</Word>
            <Word>NUMBER</Word>
            <Word>REVERSE</Word>
            <Word>TERMINATE</Word>
            <Word>IDENTIFIED</Word>
            <Word>NUMBER_BASE</Word>
            <Word>REVOKE</Word>
            <Word>THEN</Word>
            <Word>IF</Word>
            <Word>OF</Word>
            <Word>ROLLBACK</Word>
            <Word>TO</Word>
            <Word>IN</Word>
            <Word>ON</Word>
            <Word>ROWID</Word>
            <Word>TRUE</Word>
            <Word>INDEX</Word>
            <Word>OPEN</Word>
            <Word>ROWLABEL</Word>
            <Word>TYPE</Word>
            <Word>INDEXES</Word>
            <Word>OPTION</Word>
            <Word>ROWNUM</Word>
            <Word>UNION</Word>
            <Word>INDICATOR</Word>
            <Word>OR</Word>
            <Word>ROWTYPE</Word>
            <Word>UNIQUE</Word>
            <Word>INSERT</Word>
            <Word>ORDER</Word>
            <Word>RUN</Word>
            <Word>UPDATE</Word>
            <Word>INTEGER</Word>
            <Word>OTHERS</Word>
            <Word>SAVEPOINT</Word>
            <Word>USE</Word>
            <Word>INTERSECT</Word>
            <Word>OUT</Word>
            <Word>SCHEMA</Word>
            <Word>VALUES</Word>
            <Word>INTO</Word>
            <Word>PACKAGE</Word>
            <Word>SELECT</Word>
            <Word>VARCHAR</Word>
            <Word>IS</Word>
            <Word>PARTITION</Word>
            <Word>SEPARATE</Word>
            <Word>VARCHAR2</Word>
            <Word>LEVEL</Word>
            <Word>PCTFREE</Word>
            <Word>SET</Word>
            <Word>VARIANCE</Word>
            <Word>LIKE</Word>
            <Word>POSITIVE</Word>
            <Word>SIZE</Word>
            <Word>VIEW</Word>
            <Word>LIMITED</Word>
            <Word>PRAGMA</Word>
            <Word>SMALLINT</Word>
            <Word>VIEWS</Word>
            <Word>LOOP</Word>
            <Word>PRIOR</Word>
            <Word>SPACE</Word>
            <Word>WHEN</Word>
            <Word>MAX</Word>
            <Word>PRIVATE</Word>
            <Word>SQL</Word>
            <Word>WHERE</Word>
            <Word>MIN</Word>
            <Word>PROCEDURE</Word>
            <Word>SQLCODE</Word>
            <Word>WHILE</Word>
            <Word>MINUS</Word>
            <Word>PUBLIC</Word>
            <Word>SQLERRM</Word>
            <Word>WITH</Word>
            <Word>MLSLABEL</Word>
            <Word>RAISE</Word>
            <Word>START</Word>
            <Word>WORK</Word>
            <Word>MOD</Word>
            <Word>RANGE</Word>
            <Word>STATEMENT</Word>
            <Word>XOR</Word>
            <Word>MODE</Word>
            <Word>REAL</Word>
            <Word>STDDEV</Word>
            <Word>NATURAL</Word>
            <Word>RECORD</Word>
            <Word>SUBTYPE</Word>
            <Word>TRUNCATE</Word>
        </Keywords>

        <Keywords color="Keyword1">
            <Word>NOCOUNT</Word>
        </Keywords>

        <Keywords color="GoKeyword" >
            <Word>GO</Word>
        </Keywords>

        <Rule color="ObjectReference1">([\d\w]+)\.([\d\w]+)\.([\d\w]+)</Rule>
        <Rule color="ObjectReference">([\d\w]+)\.([\d\w]+)</Rule>

        <Rule color="ObjectReferenceInBrackets1">([\d\w]+)\.([\d\w]+)\.([\d\w]+)</Rule>
        <Rule color="ObjectReferenceInBrackets">\[([\d\w]+)\]\.\[([\d\w]+)\]\.\[([\d\w]+)\]</Rule>
        <Rule color="ObjectReferenceInBrackets">\[([\d\w]+)\]\.\[([\d\w]+)\]</Rule>

        <Rule color="Punctuation">
      [?,.;()\[\]{}+\-/%*&lt;&gt;^+~!|&amp;]+
        </Rule>

        <Rule color="MethodCall">[\d\w_]+(?=(\s*\())</Rule>
        <Rule color="Variable1">@@([\w]+)</Rule>
        <Rule color="Variable">@([\w]+)</Rule>

        <!-- Digits -->
        <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>
Edward
  • 8,028
  • 2
  • 36
  • 43
36
<?xml version="1.0"?>
<SyntaxDefinition name="sql" extensions=".sql"
                  xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
  <Color name="String" foreground="Olive" exampleText="string text = &quot;Hello, World!&quot;"/>
  <Color name="String2" foreground="#993" exampleText="string text = &quot;Hello, World!&quot;"/>
  <Color name="Comment" foreground="Green" exampleText="string text = &quot;Hello, World!&quot;"/>
   <Color name="Punctuation" foreground="Red" exampleText="string text = &quot;Hello, World!&quot;"/>
  <RuleSet  ignoreCase="true">
    <Span color="String" multiline="true" >
      <Begin>'</Begin>
      <End>'</End>

    </Span>

    <Span color="String2" multiline="true"  >
      <Begin>"</Begin>
      <End>"</End>
    </Span>
    <!-- span for escape sequences -->
    <Span  color="Comment" begin="--" end="\n"/>
    <Span color="Comment"  multiline="true">
      <Begin>/\*</Begin>
      <End>\*/</End>
    </Span>

    <Keywords fontWeight="bold" foreground="Blue" >
      <Word>ABORT</Word>
      <Word>BETWEEN</Word>
      <Word>CRASH</Word>
      <Word>DIGITS</Word>
      <Word>ACCEPT</Word>
      <Word>BINARY_INTEGER</Word>
      <Word>CREATE</Word>
      <Word>DISPOSE</Word>
      <Word>ACCESS</Word>
      <Word>BODY</Word>
      <Word>CURRENT</Word>
      <Word>DISTINCT</Word>
      <Word>ADD</Word>
      <Word>BOOLEAN</Word>
      <Word>CURRVAL</Word>
      <Word>DO</Word>
      <Word>ALL</Word>
      <Word>BY</Word>
      <Word>CURSOR</Word>
      <Word>DROP</Word>
      <Word>ALTER</Word>
      <Word>CASE</Word>
      <Word>DATABASE</Word>
      <Word>ELSE</Word>
      <Word>AND</Word>
      <Word>CHAR</Word>
      <Word>DATA_BASE</Word>
      <Word>ELSIF</Word>
      <Word>ANY</Word>
      <Word>CHAR_BASE</Word>
      <Word>DATE</Word>
      <Word>END</Word>
      <Word>ARRAY</Word>
      <Word>CHECK</Word>
      <Word>DBA</Word>
      <Word>ENTRY</Word>
      <Word>ARRAYLEN</Word>
      <Word>CLOSE</Word>
      <Word>DEBUGOFF</Word>
      <Word>EXCEPTION</Word>
      <Word>AS</Word>
      <Word>CLUSTER</Word>
      <Word>DEBUGON</Word>
      <Word>EXCEPTION_INIT</Word>
      <Word>ASC</Word>
      <Word>CLUSTERS</Word>
      <Word>DECLARE</Word>
      <Word>EXISTS</Word>
      <Word>ASSERT</Word>
      <Word>COLAUTH</Word>
      <Word>DECIMAL</Word>
      <Word>EXIT</Word>
      <Word>ASSIGN</Word>
      <Word>COLUMNS</Word>
      <Word>DEFAULT</Word>
      <Word>FALSE</Word>
      <Word>AT</Word>
      <Word>COMMIT</Word>
      <Word>DEFINITION</Word>
      <Word>FETCH</Word>
      <Word>AUTHORIZATION</Word>
      <Word>COMPRESS</Word>
      <Word>DELAY</Word>
      <Word>FLOAT</Word>
      <Word>AVG</Word>
      <Word>CONNECT</Word>
      <Word>DELETE</Word>
      <Word>FOR</Word>
      <Word>BASE_TABLE</Word>
      <Word>CONSTANT</Word>
      <Word>DELTA</Word>
      <Word>FORM</Word>
      <Word>BEGIN</Word>
      <Word>COUNT</Word>
      <Word>DESC</Word>
      <Word>FROM</Word>
      <Word>FUNCTION</Word>
      <Word>NEW</Word>
      <Word>RELEASE</Word>
      <Word>SUM</Word>
      <Word>GENERIC</Word>
      <Word>NEXTVAL</Word>
      <Word>REMR</Word>
      <Word>TABAUTH</Word>
      <Word>GOTO</Word>
      <Word>NOCOMPRESS</Word>
      <Word>RENAME</Word>
      <Word>TABLE</Word>
      <Word>GRANT</Word>
      <Word>NOT</Word>
      <Word>RESOURCE</Word>
      <Word>TABLES</Word>
      <Word>GROUP</Word>
      <Word>NULL</Word>
      <Word>RETURN</Word>
      <Word>TASK</Word>
      <Word>HAVING</Word>
      <Word>NUMBER</Word>
      <Word>REVERSE</Word>
      <Word>TERMINATE</Word>
      <Word>IDENTIFIED</Word>
      <Word>NUMBER_BASE</Word>
      <Word>REVOKE</Word>
      <Word>THEN</Word>
      <Word>IF</Word>
      <Word>OF</Word>
      <Word>ROLLBACK</Word>
      <Word>TO</Word>
      <Word>IN</Word>
      <Word>ON</Word>
      <Word>ROWID</Word>
      <Word>TRUE</Word>
      <Word>INDEX</Word>
      <Word>OPEN</Word>
      <Word>ROWLABEL</Word>
      <Word>TYPE</Word>
      <Word>INDEXES</Word>
      <Word>OPTION</Word>
      <Word>ROWNUM</Word>
      <Word>UNION</Word>
      <Word>INDICATOR</Word>
      <Word>OR</Word>
      <Word>ROWTYPE</Word>
      <Word>UNIQUE</Word>
      <Word>INSERT</Word>
      <Word>ORDER</Word>
      <Word>RUN</Word>
      <Word>UPDATE</Word>
      <Word>INTEGER</Word>
      <Word>OTHERS</Word>
      <Word>SAVEPOINT</Word>
      <Word>USE</Word>
      <Word>INTERSECT</Word>
      <Word>OUT</Word>
      <Word>SCHEMA</Word>
      <Word>VALUES</Word>
      <Word>INTO</Word>
      <Word>PACKAGE</Word>
      <Word>SELECT</Word>
      <Word>VARCHAR</Word>
      <Word>IS</Word>
      <Word>PARTITION</Word>
      <Word>SEPARATE</Word>
      <Word>VARCHAR2</Word>
      <Word>LEVEL</Word>
      <Word>PCTFREE</Word>
      <Word>SET</Word>
      <Word>VARIANCE</Word>
      <Word>LIKE</Word>
      <Word>POSITIVE</Word>
      <Word>SIZE</Word>
      <Word>VIEW</Word>
      <Word>LIMITED</Word>
      <Word>PRAGMA</Word>
      <Word>SMALLINT</Word>
      <Word>VIEWS</Word>
      <Word>LOOP</Word>
      <Word>PRIOR</Word>
      <Word>SPACE</Word>
      <Word>WHEN</Word>
      <Word>MAX</Word>
      <Word>PRIVATE</Word>
      <Word>SQL</Word>
      <Word>WHERE</Word>
      <Word>MIN</Word>
      <Word>PROCEDURE</Word>
      <Word>SQLCODE</Word>
      <Word>WHILE</Word>
      <Word>MINUS</Word>
      <Word>PUBLIC</Word>
      <Word>SQLERRM</Word>
      <Word>WITH</Word>
      <Word>MLSLABEL</Word>
      <Word>RAISE</Word>
      <Word>START</Word>
      <Word>WORK</Word>
      <Word>MOD</Word>
      <Word>RANGE</Word>
      <Word>STATEMENT</Word>
      <Word>XOR</Word>
      <Word>MODE</Word>
      <Word>REAL</Word>
      <Word>STDDEV</Word>
      <Word>NATURAL</Word>
      <Word>RECORD</Word>
      <Word>SUBTYPE</Word>
    </Keywords>
    <Rule color="Punctuation">
      [?,.;()\[\]{}+\-/%*&lt;&gt;^+~!|&amp;]+
    </Rule>

  </RuleSet>

</SyntaxDefinition>
Philip Rieck
  • 32,368
  • 11
  • 87
  • 99
Sergej
  • 376
  • 3
  • 2
  • Thank you very much Sergej ! I'll try this schema as soon as possible and then get back to you :) – CoolStraw Dec 21 '10 at 08:04
  • Hi back Sergej. I tried your solution as follow: https://gist.github.com/840315 But it didn't work at all, I mean while I type sql statements I don't get any color (even for comments). Could you please provide me with the whole file you're using? Thanks in advance – CoolStraw Feb 23 '11 at 11:31
  • Oh wait, the stackoverflow formatting did hide the entire xml you posted, even though it took it all and tried it but it didn't work at all neither. Actually this is the old syntax used by the non wpf one and it seems avalon doesn't quite know how to use it... unfortunately – CoolStraw Feb 23 '11 at 12:40
  • Nevermind it works :) I needed to set the SQL.vhsd file as an embedded resource and add an entry to it in the Resource.cs file. Forgot about these :) Thanks man – CoolStraw Feb 23 '11 at 15:26
  • Thank you for posting that. It saved me a bunch of time. – divide_byzero Aug 09 '14 at 20:54
4

For Oracle's PL\SQL...

<!-- Oracle's "reserved words", which CANNOT be used in custom names. -->
<Keywords fontWeight='bold' foreground='Blue'>
  <Word>access</Word>
  <Word>add</Word>
  <Word>all</Word>
  <Word>alter</Word>
  <Word>and</Word>
  <Word>any</Word>
  <Word>array</Word>
  <Word>arraylen</Word>
  <Word>as</Word>
  <Word>asc</Word>
  <Word>audit</Word>
  <Word>authid</Word>
  <Word>begin</Word>
  <Word>between</Word>
  <Word>bfile</Word>
  <Word>blob</Word>
  <Word>body</Word>
  <Word>boolean</Word>
  <Word>bulk</Word>
  <Word>bulk_rowcount</Word>
  <Word>by</Word>
  <Word>case</Word>
  <Word>char</Word>
  <Word>check</Word>
  <Word>clob</Word>
  <Word>close</Word>
  <Word>cluster</Word>
  <Word>collect</Word>
  <Word>column</Word>
  <Word>comment</Word>
  <Word>commit</Word>
  <Word>compress</Word>
  <Word>connect</Word>
  <Word>constant</Word>
  <Word>continue</Word>
  <Word>create</Word>
  <Word>current</Word>
  <Word>current_user</Word>
  <Word>cursor</Word>
  <Word>date</Word>
  <Word>day</Word>
  <Word>decimal</Word>
  <Word>declare</Word>
  <Word>default</Word>
  <Word>definer</Word>
  <Word>delete</Word>
  <Word>deleting</Word>
  <Word>desc</Word>
  <Word>deterministic</Word>
  <Word>distinct</Word>
  <Word>drop</Word>
  <Word>else</Word>
  <Word>elsif</Word>
  <Word>end</Word>
  <Word>exception</Word>
  <Word>exceptions</Word>
  <Word>exclusive</Word>
  <Word>execute</Word>
  <Word>exists</Word>
  <Word>exit</Word>
  <Word>external</Word>
  <Word>false</Word>
  <Word>fetch</Word>
  <Word>file</Word>
  <Word>float</Word>
  <Word>for</Word>
  <Word>forall</Word>
  <Word>found</Word>
  <Word>from</Word>
  <Word>function</Word>
  <Word>goto</Word>
  <Word>grant</Word>
  <Word>group</Word>
  <Word>having</Word>
  <Word>hour</Word>
  <Word>identified</Word>
  <Word>if</Word>
  <Word>immediate</Word>
  <Word>in</Word>
  <Word>increment</Word>
  <Word>index</Word>
  <Word>indices</Word>
  <Word>initial</Word>
  <Word>insert</Word>
  <Word>inserting</Word>
  <Word>int</Word>
  <Word>integer</Word>
  <Word>intersect</Word>
  <Word>into</Word>
  <Word>is</Word>
  <Word>isopen</Word>
  <Word>language</Word>
  <Word>level</Word>
  <Word>like</Word>
  <Word>limit</Word>
  <Word>lock</Word>
  <Word>long</Word>
  <Word>long_raw</Word>
  <Word>loop</Word>
  <Word>maxextents</Word>
  <Word>minus</Word>
  <Word>minute</Word>
  <Word>mod</Word>
  <Word>mode</Word>
  <Word>modify</Word>
  <Word>month</Word>
  <Word>name</Word>
  <Word>nchar</Word>
  <Word>nclob</Word>
  <Word>noaudit</Word>
  <Word>nocompress</Word>
  <Word>nocopy</Word>
  <Word>not</Word>
  <Word>notfound</Word>
  <Word>nowait</Word>
  <Word>null</Word>
  <Word>number</Word>
  <Word>nvarchar2</Word>
  <Word>of</Word>
  <Word>offline</Word>
  <Word>on</Word>
  <Word>online</Word>
  <Word>open</Word>
  <Word>option</Word>
  <Word>or</Word>
  <Word>order</Word>
  <Word>others</Word>
  <Word>out</Word>
  <Word>package</Word>
  <Word>parallel_enable</Word>
  <Word>pctfree</Word>
  <Word>pipelined</Word>
  <Word>positive</Word>
  <Word>pragma</Word>
  <Word>prior</Word>
  <Word>privileges</Word>
  <Word>procedure</Word>
  <Word>public</Word>
  <Word>raise</Word>
  <Word>raw</Word>
  <Word>real</Word>
  <Word>record</Word>
  <Word>ref</Word>
  <Word>rename</Word>
  <Word>replace</Word>
  <Word>resource</Word>
  <Word>result_cache</Word>
  <Word>return</Word>
  <Word>returning</Word>
  <Word>revoke</Word>
  <Word>rollback</Word>
  <Word>row</Word>
  <Word>rowcount</Word>
  <Word>rowid</Word>
  <Word>rowlabel</Word>
  <Word>rownum</Word>
  <Word>rows</Word>
  <Word>rowtype</Word>
  <Word>save</Word>
  <Word>savepoint</Word>
  <Word>second</Word>
  <Word>select</Word>
  <Word>session</Word>
  <Word>set</Word>
  <Word>share</Word>
  <Word>show</Word>
  <Word>size</Word>
  <Word>smallint</Word>
  <Word>sql</Word>
  <Word>sqlbuf</Word>
  <Word>start</Word>
  <Word>subtype</Word>
  <Word>successful</Word>
  <Word>synonym</Word>
  <Word>sysdate</Word>
  <Word>table</Word>
  <Word>then</Word>
  <Word>timestamp</Word>
  <Word>timezone_abbr</Word>
  <Word>timezone_hour</Word>
  <Word>timezone_minute</Word>
  <Word>timezone_region</Word>
  <Word>to</Word>
  <Word>transaction</Word>
  <Word>trigger</Word>
  <Word>true</Word>
  <Word>uid</Word>
  <Word>union</Word>
  <Word>unique</Word>
  <Word>update</Word>
  <Word>updating</Word>
  <Word>urowid</Word>
  <Word>user</Word>
  <Word>using</Word>
  <Word>validate</Word>
  <Word>values</Word>
  <Word>varchar</Word>
  <Word>varchar2</Word>
  <Word>varray</Word>
  <Word>varying</Word>
  <Word>view</Word>
  <Word>when</Word>
  <Word>whenever</Word>
  <Word>where</Word>
  <Word>while</Word>
  <Word>with</Word>
  <Word>year</Word>
</Keywords>

<!-- Oracle's "keywords", which can be used in custom names. -->
<Keywords foreground='Blue'>
  <Word>errors</Word>
  <Word>exceptions</Word>
  <Word>found</Word>
  <Word>indices</Word>
  <Word>mod</Word>
  <Word>name</Word>
  <Word>at</Word>
  <Word>replace</Word>
  <Word>rowcount</Word>
  <Word>save</Word>
  <Word>show</Word>
  <Word>type</Word>
  <Word>a</Word>
  <Word>automatic</Word>
  <Word>binary_double</Word>
  <Word>binary_float</Word>
  <Word>binary_integer</Word>
  <Word>block</Word>
  <Word>both</Word>
  <Word>breadth</Word>
  <Word>byte</Word>
  <Word>cast</Word>
  <Word>character</Word>
  <Word>cluster_set</Word>
  <Word>connect_by_root</Word>
  <Word>constraint</Word>
  <Word>count</Word>
  <Word>cross</Word>
  <Word>cube</Word>
  <Word>cursor</Word>
  <Word>cycle</Word>
  <Word>dbtimezone</Word>
  <Word>dec</Word>
  <Word>decrement</Word>
  <Word>dense_rank</Word>
  <Word>depth</Word>
  <Word>dimension</Word>
  <Word>double</Word>
  <Word>empty</Word>
  <Word>end</Word>
  <Word>equals_path</Word>
  <Word>escape</Word>
  <Word>exclude</Word>
  <Word>extract</Word>
  <Word>first</Word>
  <Word>following</Word>
  <Word>full</Word>
  <Word>grouping</Word>
  <Word>ignore</Word>
  <Word>include</Word>
  <Word>infinite</Word>
  <Word>inner</Word>
  <Word>interval</Word>
  <Word>iterate</Word>
  <Word>join</Word>
  <Word>keep</Word>
  <Word>last</Word>
  <Word>leading</Word>
  <Word>left</Word>
  <Word>like2</Word>
  <Word>like4</Word>
  <Word>likec</Word>
  <Word>limit</Word>
  <Word>listagg</Word>
  <Word>lnnvl</Word>
  <Word>local</Word>
  <Word>locked</Word>
  <Word>log</Word>
  <Word>main</Word>
  <Word>matched</Word>
  <Word>maxvalue</Word>
  <Word>measures</Word>
  <Word>member</Word>
  <Word>merge</Word>
  <Word>mivalue</Word>
  <Word>mlslabel</Word>
  <Word>model</Word>
  <Word>multiset</Word>
  <Word>nan</Word>
  <Word>national</Word>
  <Word>natural</Word>
  <Word>nav</Word>
  <Word>nocycle</Word>
  <Word>nulls</Word>
  <Word>numeric</Word>
  <Word>nvarchar</Word>
  <Word>only</Word>
  <Word>outer</Word>
  <Word>over</Word>
  <Word>partition</Word>
  <Word>percent_rank</Word>
  <Word>percentile_cont</Word>
  <Word>percentile_disc</Word>
  <Word>pivot</Word>
  <Word>pls_integer</Word>
  <Word>preceding</Word>
  <Word>precision</Word>
  <Word>present</Word>
  <Word>range</Word>
  <Word>read</Word>
  <Word>reference</Word>
  <Word>regexp_like</Word>
  <Word>reject</Word>
  <Word>respect</Word>
  <Word>return</Word>
  <Word>returning</Word>
  <Word>right</Word>
  <Word>rollup</Word>
  <Word>rules</Word>
  <Word>sample</Word>
  <Word>scn</Word>
  <Word>search</Word>
  <Word>seed</Word>
  <Word>sequential</Word>
  <Word>sessiontimezone</Word>
  <Word>sets</Word>
  <Word>siblings</Word>
  <Word>single</Word>
  <Word>skip</Word>
  <Word>some</Word>
  <Word>sql</Word>
  <Word>submultiset</Word>
  <Word>subpartition</Word>
  <Word>the</Word>
  <Word>time</Word>
  <Word>to</Word>
  <Word>trailing</Word>
  <Word>trim</Word>
  <Word>unbounded</Word>
  <Word>under_path</Word>
  <Word>unlimited</Word>
  <Word>unpivot</Word>
  <Word>until</Word>
  <Word>updated</Word>
  <Word>upsert</Word>
  <Word>using</Word>
  <Word>value</Word>
  <Word>varying</Word>
  <Word>versions</Word>
  <Word>wait</Word>
  <Word>when</Word>
  <Word>within</Word>
  <Word>xml</Word>
  <Word>zone</Word>
</Keywords>
Gabe Halsmer
  • 808
  • 1
  • 9
  • 18