Показать HN: Lstr – современная интерактивная команда для работы с деревьями, написанная на Rust ( github.com/bgreenwell ) Привет, HN,
(Впервые постер!)
Я автор `lstr`. Мне всегда нравилась классическая команда Linux `tree` за ее простоту, но я часто ловил себя на мысли, что мне хочется более современных функций, таких как интерактивность и интеграция с Git. Поэтому я решил создать собственную версию на Rust с философией быстроты, минимализма и интерактивности. Это также был повод узнать больше о Rust!
Вот краткий обзор интерактивного режима:
https://raw.githubusercontent.com/bgreenwell/lstr/main/asset…
Я только что выпустил версию 0.2.0 с некоторыми функциями, которые, как я думаю, могут оказаться полезными для сообщества:
* **Интерактивный режим TUI:** Вы можете запустить его с помощью `lstr interactive`. Он позволяет осуществлять навигацию с помощью клавиатуры, разворачивать/сворачивать каталоги и открывать файлы в редакторе по умолчанию. * **Интеграция со статусом Git:** Используя флаг `-G`, `lstr` покажет статус Git для каждого файла и каталога прямо в выводе дерева. * **Интеграция с оболочкой:** Это моя любимая функция. В интерактивном режиме вы можете нажать `Ctrl+s`, чтобы выйти, и `lstr` выведет выбранный путь на stdout. Это позволяет передавать его в другие команды или использовать как визуальный `cd`. Например, вы можете добавить эту функцию в свой `.bashrc`/`.zshrc`: “`bash lcd() { local selected_path selected_path=”$(lstr interactive -gG)” if [[ -n “$selected_path” && -d “$selected_path” ]]; then cd “$selected_path” fi } “` Затем просто запустите `lcd`, чтобы визуально выбрать каталог и перейти к нему. Он также поддерживает значки типов файлов (через Nerd Fonts), размеры файлов, разрешения и уважает ваш `.gitignore`.
Проект имеет открытый исходный код, и мне было бы интересно получить ваши отзывы.
GitHub: https://github.com/bgreenwell/lstr
Crates.io: https://crates.io/crates/lstr
Спасибо, что заглянули!
Source: news.ycombinator.com