4个版本 (2个重大更新)

0.3.1 2024年8月16日
0.3.0 2024年8月16日
0.2.0 2024年7月23日
0.1.0 2024年7月22日

#71 in 文件系统

Download history 246/week @ 2024-07-22 30/week @ 2024-07-29 261/week @ 2024-08-12

每月537次下载

MIT 许可证

36KB
791 代码行

LSPlus - 用Rust编写的'ls'克隆

Rust GitHub issues Crates.io License Crates.io Version Codacy Badge Build Docs

这目前是我在学习Rust的过程中编写的非常简单的(尽管功能齐全)Unix 'ls'命令的克隆。这是一个学习项目,可能包含许多低效和不良的实践。我会随着时间的推移变得更好!😁

lsp output

兼容性

此项目目前仅与类Unix系统(Linux、MacOs等)兼容。计划很快添加对Windows的支持。

nerd字体

要显示文件夹和文件图标,您需要首先为您的终端安装一个'Nerd Font'。您可以在这里找到许多Nerd Fonts。

我个人的最爱是 MesoLG Nerd Font,但还有很多其他的选择。您还需要设置您的终端以使用该字体。

如果您想安装Nerd Font,请将--no-icons选项传递给程序。

安装

最新版本

要安装此包的最新版本,您可以使用以下命令

cargo install lsplus

这将把lsp二进制文件安装到您的~/.cargo/bin目录中。请确保此目录已包含在您的PATH环境变量中,这样您就可以在任何地方运行lsp命令。

从源代码安装

您还可以通过运行以下命令从GitHub仓库安装此包

cargo install --git https://github.com/seapagan/lsplus.git

用法

在您的终端中运行此命令以列出当前目录中的文件

lsp <options> <path | file>

选项和路径都是可选的。如果没有提供路径,将列出当前目录。如果没有提供选项,将使用默认选项,这些选项类似于ls命令。

目前,仅支持标准ls选项的一个子集。这些是

  • -a / --all - 显示隐藏文件
  • -A / --almost-all - 显示隐藏文件,但不显示.和`..
  • -p / --slash-dirs - 为目录追加'/'
  • -l / --long - 显示长格式列表
  • -h / --human-readable - 人类可读的文件大小
  • -D / --sort-dirs - 首先排序目录
  • --no-icons - 不显示文件或文件夹图标
  • -Z / --fuzzy-time - 显示文件修改时间的模糊时间

您可以将简写选项组合在一起,例如 -laph 将显示包含隐藏文件的长格式列表,将 '/' 追加到目录中,并显示人类可读的文件大小。

使用 --help 选项查看完整选项列表。

长格式列表默认情况下是彩色的,无法禁用。这将在未来与添加更多原始 ls 选项一起进行配置。

模糊时间

-Z 选项将显示文件修改时间的模糊时间。这将以人类可读的格式显示时间,例如“2小时前”,“昨天”等。

fuzzy date output

图标

图标被添加到文件夹、文件和链接中。目前只实现了一组有限的映射,但将来还会添加更多。如果您想看到特定的图标,请提交问题 - 更好的是,添加一个实现它的拉取请求!😁

您可以使用 -no-icons 选项禁用图标。

别名

可以通过添加以下行到您的 .bashrc.zshrc 或类似的文件,将 lsp 命令别名到 ls

alias ls='lsp'

您需要重新启动您的shell或源您的配置文件,以便别名生效。

下面的示例显示了使用许多当前选项的 ls 别名

alias ls='lsp -laph'

这将显示包含隐藏文件的长格式列表,将 '/' 追加到目录中,并显示人类可读的文件大小,如上图所示。

未来计划

我计划在未来为这个项目添加更多功能。查看 TODO 文件,以查看计划的功能和改进。

依赖关系

~6–15MB
~152K SLoC