4 个稳定版本
1.1.2 | 2023 年 8 月 29 日 |
---|---|
1.1.1 | 2022 年 10 月 17 日 |
1.1.0 | 2022 年 8 月 2 日 |
1.0.0 | 2022 年 6 月 23 日 |
#2659 在 命令行工具 中
每月 79 次下载
用于 tuifeed
44KB
579 行
tui-realm-textarea
~ tui-realm 的 textarea 组件 ~
tui-textarea · tui-realm · 文档
由 @veeso 开发
当前版本:1.1.2 (29/08/2023)
关于 tui-realm-textarea ✏️
tui-realm-textarea 是 tui-realm 的 textarea 组件实现。它基于 tui-textarea 组件,由 rhysd 开发。
入门 🏁
将 tui-realm-textarea 添加到您的 Cargo.toml 🦀
tui-realm-textarea = "^1.1.0"
如果不使用 Crossterm,则按 tui-realm 的方式定义后端
tui-realm-textarea = { version = "^1.1.0", default-features = false, features = [ "with-termion" ] }
功能 ⚙️
这些功能可以在 tui-realm-textarea 中启用
clipboard
启用系统剪贴板支持search
启用 textarea 中的字符串搜索
示例 📋
在 示例 中查看如何使用 textarea 组件。示例包含一个简单的文本编辑器。
cargo run --example demo --features clipboard,search
按 ESC
退出
组件 API
命令:
Cmd | 结果 | 行为 |
---|---|---|
自定义($TEXTAREA_CMD_NEWLINE) |
None |
插入换行 |
自定义($TEXTAREA_CMD_DEL_LINE_BY_END) |
None |
从末尾到当前位置删除行 |
自定义($TEXTAREA_CMD_DEL_LINE_BY_HEAD) |
None |
从开头到当前位置删除行 |
自定义($TEXTAREA_CMD_DEL_WORD) |
None |
删除当前单词 |
自定义($TEXTAREA_CMD_DEL_NEXT_WORD) |
None |
删除下一个单词 |
自定义($TEXTAREA_CMD_MOVE_WORD_FORWARD) |
None |
移动到下一个单词 |
自定义($TEXTAREA_CMD_MOVE_WORD_BACK) |
None |
移动到上一个单词 |
自定义($TEXTAREA_CMD_MOVE_PARAGRAPH_BACK) |
None |
移动到上一个段落 |
自定义($TEXTAREA_CMD_MOVE_PARAGRAPH_FORWARD) |
None |
移动到下一个段落 |
自定义($TEXTAREA_CMD_MOVE_TOP) |
None |
移动到文件开头 |
自定义($TEXTAREA_CMD_MOVE_BOTTOM) |
None |
移动到文件末尾 |
自定义($TEXTAREA_CMD_UNDO) |
None |
撤销上一个更改 |
自定义($TEXTAREA_CMD_REDO) |
None |
重做上一个更改 |
自定义($TEXTAREA_CMD_PASTE) |
None |
粘贴缓冲区当前内容 |
自定义($TEXTAREA_CMD_SEARCH_BACK) |
None |
转到上一个搜索匹配项 |
自定义($TEXTAREA_CMD_SEARCH_FORWARD) |
None |
转到下一个搜索匹配项 |
取消 |
None |
删除下一个字符 |
删除 |
None |
删除上一个字符 |
转到(开始) |
None |
转到行首 |
转到(结束) |
None |
转到行尾 |
移动(向下) |
None |
移动到下一行 |
移动(向上) |
None |
移动到上一行 |
移动(向左) |
None |
将光标移动到左边 |
移动(向右) |
None |
将光标移动到右边 |
滚动(向上) |
None |
向上滚动 scroll_step 行 |
滚动(向下) |
None |
向下滚动 scroll_step 行 |
输入(ch) |
None |
在编辑器中输入一个字符 |
提交 |
提交 |
获取当前行 |
❗ 仅当启用
clipboard
功能时才支持粘贴命令
状态:返回的状态是一个包含文本区域中行数的 Vec(String)
。
属性:
Borders(Borders)
:设置组件的边框属性Custom($TREE_IDENT_SIZE, Size)
:设置渲染每个深度级别的空间Custom($TEXTAREA_MAX_HISTORY, Payload(One(Usize)))
:设置要记录的历史步骤Custom($TEXTAREA_CURSOR_STYLE, Style)
:设置光标样式Custom($TEXTAREA_CURSOR_LINE_STYLE, Style)
:设置当前行样式Custom($TEXTAREA_FOOTER_FMT, Payload(Tup2(Str, Style)))
:设置底部栏的格式和样式Custom($TEXTAREA_LINE_NUMBER_STYLE, Style)
:设置行号的样式Custom($TEXTAREA_STATUS_FMT, Payload(Tup2(Str, Style)))
:设置状态栏的格式和样式Custom($TEXTAREA_SEARCH_PATTERN, String
:设置搜索模式Custom($TEXTAREA_SEARCH_STYLE, Style
:设置搜索样式Style(Style)
:设置 textarea 的一般样式Custom($TEXTAREA_TAB_SIZE, Size)
:设置要显示的制表符大小FocusStyle(Style)
:非活动样式ScrollStep(Length)
:定义可滚动的最大行数标题(标题)
:设置框标题
页脚和状态格式
状态栏和页脚栏支持特殊语法。以下键可以插入到字符串中
{ROW}
:当前行{COL}
:当前列
文档 📚
开发者文档可在Rust Docs上找到:https://docs.rs/tui-realm-textarea
贡献和问题 🤝🏻
欢迎贡献、错误报告、新功能和提问!😉 如果您有任何问题或疑虑,或者想建议一个新功能,或者只是想改进 tui-realm,请随意打开一个 issue 或 PR。
请遵循我们的贡献指南
变更日志 ⏳
查看 tui-realm-textarea 的变更日志这里
支持开发者 ☕
如果您喜欢 tui-realm 并对我的工作表示感激,请考虑进行一小笔捐赠 🥳
您可以使用以下平台之一进行捐赠
许可证 📃
tui-realm-textarea 采用 MIT 许可证。
您可以在这里阅读整个许可证
依赖项
~5–18MB
~247K SLoC