ls-plus-0.0.1 is not a library.
ls-plus
使用 Rust 编写的增强版 ls
命令,提供现代化功能,支持双包管理系统安装。
功能特性
- 🚀 快速高效 - 使用 Rust 构建,性能卓越
- 🎨 美观输出 - 彩色输出与文件类型指示器
- 📁 多种格式 - 支持不同显示格式(默认、详细、树形、网格、JSON)
- 🔍 智能过滤 - 按文件类型过滤,模式匹配
- 🌳 树形视图 - 层次化目录可视化
- ⚙️ 可配置 - 持久化配置,合理默认值
- 📊 Git 集成 - 显示文件的 git 状态(可选)
- 🎯 搜索功能 - 模式匹配查找文件
- 📦 双包管理 - 同时支持 Cargo 和 npm 安装
安装
Option 1: 通过 npm 安装(推荐)
适合 Node.js 开发者,无需安装 Rust 环境:
# 全局安装
# 使用命令
Option 2: 通过 Cargo 安装
适合 Rust 开发者:
Option 3: 从源码安装
# 方式 1: 使用 npm(自动处理 Rust 构建)
# 方式 2: 直接使用 Cargo
环境要求
npm 安装
- Node.js 14+
- 无需 Rust 环境(自动下载预构建二进制)
Cargo 安装
- Rust 1.74 或更新版本
- Git(可选,用于 git 集成功能)
使用方法
基本用法
# npm 安装用户使用 lsp 命令
# Cargo 安装用户使用 ls-plus 命令
# 列出指定目录
# 显示所有文件(包括隐藏文件)
# 详细格式显示
# 人类可读的文件大小
# 按修改时间排序
# 逆序排列
# 目录优先显示
# 显示文件图标
# 强制开启/关闭颜色
高级功能
# 树形视图
# 限制树形深度
# 不同输出格式
# 按文件类型过滤
# 搜索文件
# Git 集成
配置管理
# 显示当前配置
# 设置配置值
# 重置为默认值
# 编辑配置文件
配置文件
配置文件位置:
- Linux/macOS:
~/.config/ls-plus/config.toml
- Windows:
%APPDATA%/ls-plus/config.toml
配置示例
[]
= "Default"
= "Auto"
= false
= true
= true
= false
[]
= false
= false
= null
= false
= false
[]
= false
= "default"
[]
= true
= true
= true
= true
开发
构建
# 调试构建
# 发布构建
# 运行测试
# 带日志运行
RUST_LOG=debug
测试
# 运行所有测试
# 运行特定测试
# 运行集成测试
代码质量
# 格式化代码
# 代码检查
# 安全审计
双包架构说明
本项目采用创新的双包管理架构,同时支持 Rust 和 Node.js 生态:
🦀 Rust 包 (Cargo)
- 包名:
ls-plus
- 命令:
ls-plus
- 安装:
cargo install ls-plus
- 适用: Rust 开发者,系统管理员
📦 Node.js 包 (npm)
- 包名:
@atom/ls-plus
- 命令:
lsp
- 安装:
npm install -g @atom/ls-plus
- 适用: 前端开发者,Node.js 用户
技术实现
- 智能安装脚本: 自动检测环境,优先本地构建,回退到预构建二进制
- 跨平台支持: 自动检测操作系统和架构,下载对应的二进制文件
- 统一功能: 两种安装方式提供完全相同的功能和命令选项
- 开发友好: 开发环境自动构建,生产环境使用预构建二进制
项目结构
src/
├── main.rs # 应用程序入口
├── cli.rs # 命令行接口定义
├── config.rs # 配置管理
├── display.rs # 输出格式化和渲染
├── error.rs # 错误类型和处理
├── fs.rs # 文件系统操作
└── git.rs # Git 集成
bin/
└── lsp # npm 包命令行入口
tests/
└── integration_test.rs # 集成测试
package.json # npm 包配置
Cargo.toml # Rust 包配置
install.js # npm 智能安装脚本
index.js # npm 包主入口
贡献
- Fork 仓库
- 创建功能分支
- 进行修改
- 为新功能添加测试
- 运行测试套件
- 提交 Pull Request
许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
路线图
- 自定义格式化器插件系统
- 云存储提供商集成
- 正则表达式高级搜索
- 性能基准测试工具
- Shell 自动补全脚本
- Man 页面生成
- Windows 特定优化
- 多语言支持