15 个版本 (8 个重大更新)
0.10.1 | 2023年2月18日 |
---|---|
0.8.2 | 2022年8月28日 |
0.6.1 | 2022年4月20日 |
0.6.0 | 2021年10月14日 |
0.3.0 | 2021年5月10日 |
在 文本编辑器 中排名 230
每月下载量 57
74KB
2K SLoC
一个 TUI 文件树面板
专为与 kakoune 集成而构建,但通过一些配置,它也可以与大多数 TUI 一起使用,甚至可以作为独立的终端文件管理器。
目前处于早期 alpha 阶段,欢迎 PR!
安装
由于 sidetree 发布在 crates.io 上,任何已安装 cargo
的系统都可以通过运行以下命令来获取 sidetree:
cargo install sidetree
示例集成
在 tmux 中使用 kakoune 的非常简单的集成
map -docstring 'file explorer' global normal <c-e> ':connect panel sidetree --select %val{buffile}<ret>'
这还需要 kcr
配置
可以将命令放在 ~/.config/sidetree/sidetreerc
set show_hidden false
set quit_on_open false
set open_cmd 'kcr open "${sidetree_entry}"'
set file_icons true
set icon_style darkgray
set dir_name_style lightblue+b
set file_name_style reset
set highlight_style +r
set link_style cyan+b
有关更多示例,请参阅提供的 sidetreerc
文件。
命令
可以通过按 :
获取命令提示符或如上所述放在配置文件中来执行命令。
quit
退出 sidetree
open[path]
打开给定的路径或当前选定的路径。有关配置,请参阅下面的 open_cmd
选项。
set<option> <value>
设置配置选项。有关选项,请参阅以下内容。
echo[args...]
将某些内容输出到状态行。所有参数将通过空格连接并输出。
shell[command...]
在 shell 中执行 command
。如果没有引号,所有参数将通过空格连接并执行。
cd[path]
将根目录更改为给定的路径或当前选定的文件夹。
map<key> <command> [args...]
将一个键映射到另一个 sidetree 命令。例如:map H cd ..
键的格式如下
- 一个字符,或以下之一:
return
、ret
、semicolon
、gt
、lt
、percent
、space
、tab
。 - 以上任何组合,加上修饰符
ctrl
或alt
,格式如下<[mods-...][key]>
,例如<c-j>
、<a-j>
、<c-a-space>
等。 - 不支持修饰符的特殊命名键之一:
esc
、backtab
、backspace
、del
、home
、end
、up
、down
、left
、right
、insert
、pageup
、pagedown
。
扩展
sidetree_entry
所选条目的路径。
sidetree_dir
所选目录的路径。
选项
使用 set [option] [value]
命令设置选项
show_hidden: 布尔值
是否显示隐藏文件(以 .
开头的文件名)
open_cmd: 字符串
打开文件时要运行的 shell 命令,即 :open
命令时,或在文件上按下 <return>
。
示例: set open_cmd 'xdg-open "$sidetree_entry"'
。
quit_on_open: 布尔值
在 :open
(或按下文件上的 <return>
)后是否退出 sidetree
file_icons: 布尔值
是否通过扩展名启用文件图标。这可能会或可能不会由您的字体支持。
样式
样式选项具有以下格式: [<fg>][,<bg>][+<add_attr>][-<sub_attr>]
<fg>
和 <bg>
是颜色,可以是颜色名称,也可以是一个 rgb:XXXXXX
字符串,其中 XXXXXX
是十六进制颜色值,或者 colorX
,其中 X
是终端颜色的索引。有效的颜色名称有:reset
、black
、red
、green
、yellow
、blue
、magenta
、cyan
、gray
、darkgray
、lightred
、lightgreen
、lightyellow
、lightblue
、lightmagenta
、lightcyan
、white
<add_attr>
是要添加的属性,而 sub_attr
是要删除的属性。这些是一系列字符,每个字符对应以下属性
b → bold
d → dim
i → italic
u → underlined
B → blink
r → reversed
示例样式:blue,black+bu-i
、,red
、reset,reset+r
、-B
icon_style: Style
:文件/文件夹图标的样式
dir_name_style: Style
:目录名称的样式
file_name_style: Style
:非目录名称的样式
highlight_style: Style
:高亮条目的样式
link_style
:符号链接名称的样式
此样式将在现有样式之上应用,因此 +r
可以是一个不错的选择,或者也可以是 blue,reset+r
。
待办事项
- 正确的符号链接处理
- 自定义快捷键映射,
map
命令 - 更多导航命令
- 在启动之间保存选择和展开的文件夹
- 条目样式的后端
- 按扩展名显示文件图标
- 自定义格式化
- 更好的脚本解析
- 注释
- 代码块
- 百分比字符串
- 扩展
- 自动反射配置
- 自定义命令和别名
- 更好的提示键绑定和光标移动
- Git 集成
- Gitignore
- Git 状态
- 双向同步的 IPC
依赖项
~6MB
~116K SLoC