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

Download history • Rust 包仓库 19/week @ 2024-03-15 • Rust 包仓库 5/week @ 2024-03-29 • Rust 包仓库

每月下载量 57

MIT 许可证

74KB
2K SLoC

一个 TUI 文件树面板

image

专为与 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 ..

键的格式如下

  • 一个字符,或以下之一: returnretsemicolongtltpercentspacetab
  • 以上任何组合,加上修饰符 ctrlalt,格式如下 <[mods-...][key]>,例如 <c-j><a-j><c-a-space> 等。
  • 不支持修饰符的特殊命名键之一: escbacktabbackspacedelhomeendupdownleftrightinsertpageuppagedown

扩展

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 是终端颜色的索引。有效的颜色名称有:resetblackredgreenyellowbluemagentacyangraydarkgraylightredlightgreenlightyellowlightbluelightmagentalightcyanwhite

<add_attr> 是要添加的属性,而 sub_attr 是要删除的属性。这些是一系列字符,每个字符对应以下属性

b → bold
d → dim
i → italic
u → underlined
B → blink
r → reversed

示例样式:blue,black+bu-i,redreset,reset+r-B

icon_style: Style:文件/文件夹图标的样式

dir_name_style: Style:目录名称的样式

file_name_style: Style:非目录名称的样式

highlight_style: Style:高亮条目的样式

此样式将在现有样式之上应用,因此 +r 可以是一个不错的选择,或者也可以是 blue,reset+r

待办事项

  • 正确的符号链接处理
  • 自定义快捷键映射,map 命令
  • 更多导航命令
  • 在启动之间保存选择和展开的文件夹
  • 条目样式的后端
  • 按扩展名显示文件图标
  • 自定义格式化
  • 更好的脚本解析
    • 注释
    • 代码块
    • 百分比字符串
    • 扩展
  • 自动反射配置
  • 自定义命令和别名
  • 更好的提示键绑定和光标移动
  • Git 集成
    • Gitignore
    • Git 状态
  • 双向同步的 IPC

依赖项

~6MB
~116K SLoC