WPF AvalonEdit SQL xhsd 请求

Posted

技术标签:

【中文标题】WPF AvalonEdit SQL xhsd 请求【英文标题】:WPF AvalonEdit SQL xhsd request 【发布时间】:2011-05-14 09:55:38 【问题描述】:

我(一遍又一遍地)在互联网上查看,但我找不到 AvalonEdit 的 SQL.vshd 文件,我使用的是旧格式版本,但它使编辑器出现错误(它不再显示完全),所以我想知道也许有人已经完成了这样的文件,因为如果已经完成,我不想浪费时间这样做。

如果你能与我分享你的,将不胜感激:)

提前致谢

【问题讨论】:

【参考方案1】:

一步一步:

    如果尚未完成,请使用 nuget 将 AvalonEdit 安装到您的项目中

    将 Avalon 编辑器添加到您的窗口中,它将如下所示:

                <avalonEdit:TextEditor
                    xmlns:avalonEdit="http://icsharpcode.net/sharpdevelop/avalonedit"  
                    Name="MyAvalonEdit"
                    FontFamily="Consolas"
                    FontSize="10pt" 
                    ShowLineNumbers="True" 
                    LineNumbersForeground="#FF2B91AF" />
    

    在你的项目中添加一个新的 xml 文件(把它放在'resources'文件夹中,或者你可以把它放在任何地方),并将它命名为 sql.xshd(xml 语法高亮定义)(或者你可以任意命名它你喜欢)

    在此处粘贴答案之一的语法定义 将构建操作更改为“嵌入式资源” 记下项目的默认命名空间(右键单击项目 -> 属性 -> 应用程序)

    在您的窗口加载中添加以下代码以连接语法 突出显示;将 DefaultNameSpace 和 Folder 替换为适当的

    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);
            
        
    
    

    如果您对资源名称有疑问,可以查找名称 在程序集中的所有资源中:

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

我从 Dirk Ba​​hle 的 open source editor 项目中找到了一个适用于 SQL 的好 xshd: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>

【讨论】:

一步一步加一个。 一步一步加1000,非常感谢@Edward【参考方案2】:
<?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>

【讨论】:

非常感谢谢尔盖!我会尽快尝试这个架构,然后回复你:) 你好,谢尔盖。我尝试了您的解决方案如下:gist.github.com/840315 但它根本不起作用,我的意思是当我输入 sql 语句时我没有得到任何颜色(即使对于 cmets)。您能否向我提供您正在使用的整个文件?提前致谢 哦,等等,*** 格式确实隐藏了您发布的整个 xml,即使它已经全部尝试过,但它也根本不起作用。实际上这是非 wpf 使用的旧语法,似乎 avalon 不太知道如何使用它......不幸的是 没关系 :) 我需要将 SQL.vhsd 文件设置为嵌入式资源并在 Resource.cs 文件中添加一个条目。忘记了这些:)谢谢男人 感谢您发布此信息。它为我节省了很多时间。【参考方案3】:

对于 Oracle 的 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>

【讨论】:

以上是关于WPF AvalonEdit SQL xhsd 请求的主要内容,如果未能解决你的问题,请参考以下文章

icsharpcode.net/sharpdevelop/avalonedit 中不存在 WPF 设计错误 ( VerticalScrollBarVisibility) 和 ( Horizo​​nta

基于WPF&Prism&AvalonEdit的XAML轻量编辑器

如何将此 WPF 控件添加到我的 WinForm 中?

Winforms 中的 WPF 事件

如何实现 WPF 代码查看器控件

AvalonEdit :TextEditor 是不是具有快速搜索/替换功能?