4 个版本

0.3.1 2020年1月13日
0.2.5 2020年1月10日
0.2.4 2020年1月10日
0.2.2 2020年1月8日

#1316 in 文件系统

Apache-2.0

47KB
610 代码行

lsvine

tree -L 2占用更少的屏幕空间。

动机

我构建了lsvine,使其类似于tree,但第一级目录水平分布(并且向下悬空,因此像藤蔓)。

这种格式将信息垂直压缩并在类似于trello的格式中显示,每个目录一个“卡片”。

屏幕截图

Imgur Image

安装

使用 cargo

cargo install lsvine

64位linux的可下载二进制文件

LSVINE_VERSION=0.3.1
wget https://github.com/autofitcloud/lsvine/releases/download/$LSVINE_VERSION/lsvine-v$LSVINE_VERSION-x86_64-unknown-linux-musl.tar.gz
tar -xzf lsvine-v$LSVINE_VERSION-x86_64-unknown-linux-musl.tar.gz
mv lsvine ~/.local/bin/

用法

常规用法

# lsvine --version
lsvine 0.2.4

# lsvine .
+---------------+------------------------------------------------+-------------+---------+---------------------------+---------+
| .             | dist                                           | screenshots | src     | target                    | testdir |
+---------------+------------------------------------------------+-------------+---------+---------------------------+---------+
| CHANGELOG     | lsvine-v0.2.1-x86_64-unknown-linux-musl.tar.gz | ls.png      | main.rs | release                   | test1   |
| Cargo.lock    |                                                | lsvine.png  |         | x86_64-unknown-linux-musl | test2   |
| Cargo.toml    |                                                | tree.png    |         |                           | test3   |
| DEVELOPER.md  |                                                |             |         |                           |         |
| LICENSE       |                                                |             |         |                           |         |
| README.md     |                                                |             |         |                           |         |
| build.sh      |                                                |             |         |                           |         |
| mk_testdir.sh |                                                |             |         |                           |         |
+---------------+------------------------------------------------+-------------+---------+---------------------------+---------+

将文件名后缀约束以进一步减少占用的屏幕空间

# lsvine testdir/test1
+----+----+----+-----+
| .  | d1 | d2 | d3  |
+----+----+----+-----+
| f1 | f4 | f7 | d4  |
| f2 | f5 | f8 | f10 |
| f3 | f6 | f9 | f11 |
|    |    |    | f12 |
|    |    |    | f13 |
|    |    |    | f14 |
+----+----+----+-----+

# lsvine testdir/test1 --contract-suffix
+--------+--------+--------+---------+
| .      | d1     | d2     | d3      |
+--------+--------+--------+---------+
| f* (3) | f* (3) | f* (3) | d4      |
|        |        |        | f1* (5) |
+--------+--------+--------+---------+

# lsvine testdir/test1 --contract-suffix --minimum-prefix-length=2
+----+----+----+---------+
| .  | d1 | d2 | d3      |
+----+----+----+---------+
| f1 | f4 | f7 | d4      |
| f2 | f5 | f8 | f1* (5) |
| f3 | f6 | f9 |         |
+----+----+----+---------+

未来

在某个时候,可能会将其合并到其他流行的基于Rust的现代ls替代品中。它可以作为一个单独的选项实现,例如 exa --vinelsd --vine。示例仓库

  • exa
    • (优点) 已经有长网格视图
    • (缺点) 作者似乎太忙,无法处理问题和PR
    • (缺点) README中没有列出从版本中下载二进制文件并运行的方法
  • lsd
    • (优点) 除了exa使用的其他渠道外,还通过snap分发
    • (缺点) 需要一些字体作为先决条件
  • 其他在 github 主题 = ls

许可证

Apache许可证2.0。检查文件 LICENSE

开发笔记

查看 DEVELOPER.md

依赖项

~7–16MB
~203K SLoC