YSSCore::Editor::TabCompleterProvider Class
class YSSCore::Editor::TabCompleterProviderTabCompleter的提供者接口. 详情...
| 头文件: | #include <TabCompleterProvider> |
| 自以下版本: | YSS 0.13.0 |
公开成员函数
(自 YSS 0.13.0 引入) | TabCompleterProvider(YSSCore::Editor::TextEdit *textEdit) |
(自 YSS 0.13.0 引入) virtual | ~TabCompleterProvider() |
(自 YSS 0.13.0 引入) QTextDocument * | getDocument() const |
(自 YSS 0.13.0 引入) virtual QList<YSSCore::Editor::TabCompleterItem> | onTabComplete(qint32 lineNumber, qint32 column, const QString &content) = 0 |
详细说明
这类是YSSCore::Editor::LangServer(语言服务器)的三大接口类其中之一, 用于用户实现语言服务中的Tab补全功能。
这类在初始化时会绑定到一个YSSCore::Editor::TextEdit上,用户可以通过getDocument()函数获取到该TextEdit的文档对象。 不过一般来说,实现补全仅需要onTabComplete函数提供的参数即可,一般不需要额外操作文档对象。
请注意,这个类的生命周期由TextEdit管理,用户不需要也不应该手动删除TabCompleterProvider对象。 当TextEdit被销毁时,TabCompleterProvider也会被自动销毁。
成员函数文档
[since YSS 0.13.0] TabCompleterProvider::TabCompleterProvider(YSSCore::Editor::TextEdit *textEdit)
textEdit 绑定的TextEdit对象。
构造函数,接受一个TextEdit指针作为参数。 构造函数会将TabCompleterProvider绑定到传入的TextEdit上,以便提供补全功能。
这个function 从 YSS 0.13.0 开始支持。
[virtual noexcept, since YSS 0.13.0] TabCompleterProvider::~TabCompleterProvider()
析构函数。
这个function 从 YSS 0.13.0 开始支持。
[since YSS 0.13.0] QTextDocument *TabCompleterProvider::getDocument() const
return 绑定的TextEdit的文档对象。
这个function 从 YSS 0.13.0 开始支持。
[pure virtual, since YSS 0.13.0] QList<YSSCore::Editor::TabCompleterItem> TabCompleterProvider::onTabComplete(qint32 lineNumber, qint32 column, const QString &content)
lineNumber 光标所在的行号,从0开始。 column 光标所在的列号,从0开始。 content 当前整行的内容。
return 补全项列表。
纯虚函数,用户需要重写这个函数来提供Tab补全功能。
如果返回空列表,则表示没有补全项;如果返回非空列表,则会在编辑器中显示这些补全项供用户选择。 编辑器不负责优化补全列表的顺序,用户应该根据实际情况自行排序补全项,以提供更好的用户体验。
这个function 从 YSS 0.13.0 开始支持。