首页 > 其他分享 >ICSharpCode.TextEditor 配制高亮语法

ICSharpCode.TextEditor 配制高亮语法

时间:2022-11-24 00:11:41浏览次数:45  
标签:高亮 filePvd TextEditor dirPath ICSharpCode Document FileSyntaxModeProvider

 

            
            string dirPath=Application.StartupPath;        
            ICSharpCode.TextEditor.Document.FileSyntaxModeProvider filePvd=new ICSharpCode.TextEditor.Document.FileSyntaxModeProvider( dirPath);
            doc.HighlightingManager.Manager.AddSyntaxModeFileProvider(filePvd);
            this.txtPad1.SetHighlighting( "LUA" );    
            
            
            this.txtPad1.Text="--int char \"123456\" " ;    
            this.textEditorControl2.Text= et01.Document.HighlightingStrategy.Name ;    
踩坑记录: FileSyntaxModeProvider 后的参数只能是"不含文件名的路径",该方法会自动加载路径下的  " .xshd" 文件,

*xshd 文件模板:

<?xml version="1.0"?>
<!-- syntaxdefinition for C/C++ 2001 by Andrea Paatz and Mike Krueger -->

<SyntaxDefinition name = "C++.NET" extensions = ".c;.h;.cc;.C;.cpp;.hpp">

<Properties>
<Property name="LineComment" value="//"/>
</Properties>

<Digits name = "Digits" bold = "false" italic = "false" color = "DarkBlue"/>

<RuleSets>
<RuleSet ignorecase = "false">
<Delimiters>~!%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters>

<Span name = "PreprocessorDirectives" bold="false" italic="false" color="Green" stopateol = "true">
<Begin>#</Begin>
</Span>

<Span name = "LineComment" bold = "false" italic = "false" color = "Green" stopateol = "true">
<Begin>//</Begin>
</Span>

<Span name = "BlockComment" bold = "false" italic = "false" color = "Green" stopateol = "false">
<Begin>/*</Begin>
<End>*/</End>
</Span>

<Span name = "String" bold = "false" italic = "false" color = "Magenta" stopateol = "true" escapecharacter="\">
<Begin>"</Begin>
<End>"</End>
</Span>

<Span name = "Char" bold = "false" italic = "false" color = "Magenta" stopateol = "true" escapecharacter="\">
<Begin>&apos;</Begin>
<End>&apos;</End>
</Span>

<MarkPrevious bold = "true" italic = "false" color = "MidnightBlue">(</MarkPrevious>

<KeyWords name = "Punctuation" bold = "false" italic = "false" color = "DarkGreen">
<Key word = "?" />
<Key word = "," />
<Key word = "." />
<Key word = ";" />
<Key word = "(" />
<Key word = ")" />
<Key word = "[" />
<Key word = "]" />
<Key word = "{" />
<Key word = "}" />
<Key word = "+" />
<Key word = "-" />
<Key word = "/" />
<Key word = "%" />
<Key word = "*" />
<Key word = "&lt;" />
<Key word = "&gt;" />
<Key word = "^" />
<Key word = "=" />
<Key word = "~" />
<Key word = "!" />
<Key word = "|" />
<Key word = "&amp;" />
</KeyWords>

<KeyWords name = "ManagedKeyWords" bold="true" italic="false" color="Black">
<Key word = "__abstract" />
<Key word = "__box" />
<Key word = "__delegate" />
<Key word = "__gc" />
<Key word = "__identifier" />
<Key word = "__nogc" />
<Key word = "__pin" />
<Key word = "__property" />
<Key word = "__sealed" />
<Key word = "__try_cast" />
<Key word = "__typeof" />
<Key word = "__value" />


<Key word = "__event" />
<Key word = "__hook" />
<Key word = "__raise" />
<Key word = "__unhook" />

<Key word = "__interface" />
</KeyWords>

<KeyWords name = "AccessKeywords" bold="true" italic="false" color="Black">
<Key word = "this" />
</KeyWords>

<KeyWords name = "OperatorKeywords" bold="true" italic="false" color="DarkCyan">
<Key word = "and" />
<Key word = "and_eq" />

<Key word = "bitand" />
<Key word = "bitor" />

<Key word = "new" />
<Key word = "not" />
<Key word = "not_eq" />
<Key word = "or" />
<Key word = "or_eq" />
<Key word = "xor" />
<Key word = "xor_eq" />
</KeyWords>

<KeyWords name = "NameSpaces" bold="true" italic="false" color="Green">
<Key word = "using" />
<Key word = "namespace" />
</KeyWords>

<KeyWords name = "Friends" bold="false" italic="false" color="Brown">
<Key word = "friend" />
</KeyWords>

<KeyWords name = "AccessModifiers" bold="true" italic="false" color="Blue">
<Key word = "private" />
<Key word = "protected" />
<Key word = "public" />

<Key word = "const" />
<Key word = "volatile" />

<Key word = "static" />
</KeyWords>

<KeyWords name = "Types" bold="false" italic="false" color="Red">
<Key word = "bool" />
<Key word = "char" />
<Key word = "unsigned" />
<Key word = "union" />
<Key word = "virtual" />
<Key word = "double" />
<Key word = "float" />
<Key word = "short" />
<Key word = "signed" />
<Key word = "void" />
<Key word = "class" />

<Key word = "enum" />
<Key word = "struct" />
</KeyWords>

<KeyWords name = "Literals" bold="true" italic="false" color="Black">
<Key word = "false" />
<Key word = "true" />
</KeyWords>

<KeyWords name = "IterationStatements" bold="true" italic="false" color="Blue">
<Key word = "do" />
<Key word = "for" />
<Key word = "while" />
</KeyWords>

<KeyWords name = "JumpStatements" bold="false" italic="false" color="Navy">
<Key word = "break" />
<Key word = "continue" />
<Key word = "goto" />
<Key word = "return" />
</KeyWords>

<KeyWords name = "ExceptionHandlingStatements" bold="true" italic="false" color="Teal">
<Key word = "catch" />
<Key word = "throw" />
<Key word = "try" />
</KeyWords>

<KeyWords name = "SelectionStatements" bold="true" italic="false" color="Blue">
<Key word = "case" />
<Key word = "else" />
<Key word = "if" />
<Key word = "switch" />
<Key word = "default" />
</KeyWords>

<KeyWords name = "KEYWORD1" bold="true" italic="false" color="Blue">
<Key word = "asm" />
<Key word = "auto" />
<Key word = "compl" />
<Key word = "mutable" />

<Key word = "typename" />
</KeyWords>
</RuleSet>
</RuleSets>
</SyntaxDefinition>

 

标签:高亮,filePvd,TextEditor,dirPath,ICSharpCode,Document,FileSyntaxModeProvider
From: https://www.cnblogs.com/chenyalin/p/16920589.html

相关文章

  • 代码高亮
    //这里是需要高亮的代码importReact,{Component}from'react'componentDidCatch(error,errorInfo){this.setState({......
  • el-menu 菜单不高亮
    问题在部分页面el-menu的菜单栏不会高亮。分析初步分析是default-active的默认路径和当前页面的路由地址不同。打印下来果然——默认激活的路径中把中文转码了。......
  • Discourse 代码的语法高亮
    Discourse项目是默认支持语法高亮的,Discourse会默认使用 ​​highlight.js​​ 来显示语法高亮。如果你的代码没有正确使用语法高亮的话,你可以在代码块中强制使用你希望......
  • Discourse 代码的语法高亮
    Discourse项目是默认支持语法高亮的,Discourse会默认使用 highlight.js 来显示语法高亮。如果你的代码没有正确使用语法高亮的话,你可以在代码块中强制使用你希望使用的......
  • UE4 UE5 智慧城市 高亮显示物体的轮廓线
    参考视频1:https://www.bilibili.com/video/BV1xZ4y1V7BK/?spm_id_from=333.337.search-card.all.click&vd_source=28de5c84bdc988017d6c9cae2ea2b2c5参考视频2:https://www.......
  • 【附源码】pdf.js批注注释插件库,保存导出pdf批注注释(高亮/下划线/自由文本/自由画笔)
    我开发了pdf.js增加pdf批注注释插件库,支持写入批注到pdf中并保存,为目前纯前端javascript最佳实现方案,仅使用了最新PDF.jsdist版本,可以十分方便的集成到任意web项目中。......
  • ElasticSearch添加高亮后,文本显示不全问题
    主要原因是,需要设置高亮的片数;这里直接看最后的代码片段即可publicNativeSearchQuerygetNativeSearchQuery(ProcessLogcondition,PageParampageParam){So......
  • el-menu 子菜单不高亮显示
    问题之前做了一个二级菜单是正常显示的,后面又加了一组内容,发现原来的子菜单不会高亮了。于是开始排查,发现是绑定的key设置有误。分析绑定key属性是为了强制刷新......
  • AI视频融合平台EasyCVR视频广场分组列表高亮标识的增加
    EasyCVR平台是我们支持协议最全面的视频平台,它能支持标准协议,包括:国标GB/T28181、RTMP、RTSP/Onvif协议,以及厂家的私有协议与SDK,如:海康Ehome协议、海康SDK、大华SDK等。平......
  • AI视频融合平台EasyCVR视频广场分组列表高亮标识的增加
    EasyCVR平台是我们支持协议最全面的视频平台,它能支持标准协议,包括:国标GB/T28181、RTMP、RTSP/Onvif协议,以及厂家的私有协议与SDK,如:海康Ehome协议、海康SDK、大华SDK等。平台......