Lexilla
Lexilla是一个为Scintilla 5.0版本单独分离出来的词法分析库。Scintilla主要负责图形用户界面(GUI)并调用词法分析器,而Lexilla则提供这些词法分析器。
Lexilla被构建为共享库和静态库两种形式,应用程序可以根据需要选择链接到其中之一。
要构建和使用Lexilla,请查阅Lexilla的文档以获取相关说明Lexilla Documentation。
Lexilla遵循外部词法分析器协议,因此可以被支持该协议的应用程序加载。由于该协议仅支持对象词法分析器,因此还公开了一个额外的函数CreateLexer(const char *name),用于为任何对象词法分析器或函数词法分析器创建词法分析器对象(ILexer5 *)。
提供与Lexilla一样功能的词法分析器库,可以为Scintilla提供词法分析器,从而增强或替换Lexilla提供的词法分析器。
在Scintilla中使用Lexilla创建的词法分析器,可以通过调用SCI_SETILEXER来实现。
Contents
|
Text retrieval and modification 文本检索和修改 |
Information 信息 |
By character or UTF-16 code unit 通过字符或UTF-16代码单元 |
|
Error handling 错误处理 |
Selection 选择 |
Multiple Selection and Virtual Space 多重选择和虚拟空间 |
|
Overtype 改写 |
Searching and replacing 搜索和替换 |
Cut, copy and paste 剪切、复制和粘贴 |
|
Undo and Redo 撤销和重做 |
Undo save and restore 撤销保存和恢复 |
Change history 变更历史 |
|
Scrolling and automatic scrolling 滚动和自动滚动 |
White space 空白 |
Cursor 光标 |
|
Mouse capture 鼠标捕获 |
Line endings 行尾 |
Words 单词 |
|
Styling 样式 |
Style definition 样式定义 |
Element colours 元素的颜色 |
|
Selection, caret, and hotspot styles 选择、插入和热点样式 |
Character representations 字符表明 |
Margins 边距 |
|
Annotations 注释 |
End of Line Annotations 行尾注释 |
Other settings 其他设置 |
|
Brace highlighting 大括号突出显示 |
Tabs and Indentation Guides 制表符和缩进指南 |
Markers 标记 |
|
Indicators 指示器 |
Autocompletion 自动完成 |
User lists 用户列表 |
|
Call tips 调用提示 |
Keyboard commands 键盘命令 |
Key bindings 键绑定 |
|
Popup edit menu 弹出式编辑菜单 |
Macro recording 宏录制 |
Printing 打印 |
|
Direct access 直接访问 |
Multiple views 多个视图 |
Background loading and saving 后台加载和保存 |
|
Document interface 文档界面 |
Folding 折叠 |
Line wrapping 断行 |
|
Zooming 缩放 |
Long lines 长行 |
Accessibility 可访问性 |
|
Lexer 词法分析程序 |
Lexer objects 词法分析程序对象 |
Notifications 通知 |
|
Images 图片 |
GTK |
Provisional messages 临时消息 |
|
Deprecated messages 过时的消息 |
Edit messages never supported by Scintilla 编辑Scintilla不支持的消息 |
Removed features 删除功能 |
|
Building Scintilla 构建Scintilla |
名称为SCI_SETxxxxx形式的消息一般有一个配套的SCI_GETxxxxx。为了避免繁琐的重复,如果SCI_GETxxxxx消息返回SCI_SETxxxxx消息设置的值,则描述SET例程,而GET例程则留给您想象。




