All Projects → autofitcloud → lsvine

autofitcloud / lsvine

Licence: Apache-2.0 license
`tree -L 2` with less empty screen space.

Programming Languages

rust
11053 projects
shell
77523 projects

Labels

Projects that are alternatives of or similar to lsvine

ls
Zsh plugin for ls
Stars: ✭ 73 (+32.73%)
Mutual labels:  ls
File-LsColor
Colorize input filenames just like ls(1) does
Stars: ✭ 33 (-40%)
Mutual labels:  ls
ll
ll - a more informative `ls`, based on `k`
Stars: ✭ 24 (-56.36%)
Mutual labels:  ls
license-ls
Get a list of licenses used by a projects dependencies
Stars: ✭ 17 (-69.09%)
Mutual labels:  ls
Lsix
Like "ls", but for images. Shows thumbnails in terminal using sixel graphics.
Stars: ✭ 2,635 (+4690.91%)
Mutual labels:  ls
Exa
A modern replacement for ‘ls’.
Stars: ✭ 15,471 (+28029.09%)
Mutual labels:  ls
Lsd
The next gen ls command
Stars: ✭ 6,655 (+12000%)
Mutual labels:  ls
Colorls
A Ruby gem that beautifies the terminal's ls command, with color and font-awesome icons. 🎉
Stars: ✭ 3,896 (+6983.64%)
Mutual labels:  ls
Linux Command
Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux
Stars: ✭ 17,481 (+31683.64%)
Mutual labels:  ls
Zeus
🔭 A modern cross platform `ls` with powerful searching and querying capabilities to scale your productivity to the moon 🚀 (and yeah it has file explorer like capabilities too 🤫)
Stars: ✭ 75 (+36.36%)
Mutual labels:  ls
sl
🍻 An utility tool to list npm scripts from package.json file
Stars: ✭ 22 (-60%)
Mutual labels:  ls
better-ls
ls with customizable icons and colors. Uses nerd-fonts.
Stars: ✭ 47 (-14.55%)
Mutual labels:  ls
treeage
Expose aging code by listing contents of repository in a tree-like format with eye-catching age metric.
Stars: ✭ 42 (-23.64%)
Mutual labels:  ls
ls-git
A happy union of `ls` and `git status`.
Stars: ✭ 15 (-72.73%)
Mutual labels:  ls
PowerColorLS
PowerShell script to display a colorized directory and file listing with icons
Stars: ✭ 35 (-36.36%)
Mutual labels:  ls

lsvine

tree -L 2 with less empty screen space.

ls * with vertical filename listing.

Motivation

I built lsvine to be like tree but with the first-level directories distributed horizontally (and dangling downwards, hence like a vine).

This format compacts the information vertically and displays it in a trello-like format, one "card" per directory.

Screenshots

Imgur Image

Comparison to ls *

# ls *
cli.py  corpus.py  corpus_ytq1_v20210524e.py  datasets.py  ffmpeg.py  __init__.py  s3_archive_cli.py  s3_tarfile.py  s3_zipfile.py  spectrogram.py  test_bla.py  test_utils.py  utils.py

io:
audiofile.py  dir_tgz.py  gallery_html_generator.py  gs_dir_struct_mirror.py  __init__.py

pipeline:
base_multiple.py  __init__.py  local_multiple.py  local_single.py  remote_gs.py  remote_youtube.py

spectrogram_helpers:
__init__.py                     s14_drop_periodic_blobs.py   s22a_watershed.py          s23b_whistle_segwrap.py  s42_tracer.py          test_s22a_watershed.py
s12_drop_bursts.py              s21a_drop_blobs.py           s22b_whistle_connector.py  s3_reporter.py           s43_transliterator.py  test_s43_transliterator.py
s13_remove_noise__blurflood.py  s21b_strengthen_whistles.py  s23a_whistle_segmenter.py  s41_stats.py             s44_subtitles.py
# lsvine
+---------------------------+---------------------------+-------------------+--------------------------------+
| .                         | io                        | pipeline          | spectrogram_helpers            |
+---------------------------+---------------------------+-------------------+--------------------------------+
| __init__.py               | __init__.py               | __init__.py       | __init__.py                    |
| cli.py                    | audiofile.py              | base_multiple.py  | s12_drop_bursts.py             |
| corpus.py                 | dir_tgz.py                | local_multiple.py | s13_remove_noise__blurflood.py |
| corpus_ytq1_v20210524e.py | gallery_html_generator.py | local_single.py   | s14_drop_periodic_blobs.py     |
| datasets.py               | gs_dir_struct_mirror.py   | remote_gs.py      | s21a_drop_blobs.py             |
| ffmpeg.py                 |                           | remote_youtube.py | s21b_strengthen_whistles.py    |
| s3_archive_cli.py         |                           |                   | s22a_watershed.py              |
| s3_tarfile.py             |                           |                   | s22b_whistle_connector.py      |
| s3_zipfile.py             |                           |                   | s23a_whistle_segmenter.py      |
| spectrogram.py            |                           |                   | s23b_whistle_segwrap.py        |
| test_bla.py               |                           |                   | s3_reporter.py                 |
| test_utils.py             |                           |                   | s41_stats.py                   |
| utils.py                  |                           |                   | s42_tracer.py                  |
|                           |                           |                   | s43_transliterator.py          |
|                           |                           |                   | s44_subtitles.py               |
|                           |                           |                   | test_s22a_watershed.py         |
|                           |                           |                   | test_s43_transliterator.py     |
+---------------------------+---------------------------+-------------------+--------------------------------+

Installation

With cargo

cargo install lsvine

Downloadable binary for 64-bit 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/

Usage

Regular usage:

# lsvine --version
lsvine 0.3.1

# 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 |                                                |             |         |                           |         |
+---------------+------------------------------------------------+-------------+---------+---------------------------+---------+

Show hidden filenames

# lsvine -a
+----------------+----------------+------------------------------------------------+-----------------------+-------------------------------+---------------------------+----------+-------------------------------+
| .              | .git           | dist                                           | screenshots           | src                           | target                    | testdir  | tests                         |
+----------------+----------------+------------------------------------------------+-----------------------+-------------------------------+---------------------------+----------+-------------------------------+
| .README.md.swp | COMMIT_EDITMSG | .gitkeep                                       | sideBySide-latest.png | level1dir.rs                  | .gitkeep                  | .gitkeep | test_tablebuf.rs              |
| .gitignore     | FETCH_HEAD     | lsvine-v0.3.1-x86_64-unknown-linux-musl.tar.gz |                       | longest_common_prefix.rs      | .rustc_info.json          | test1    | vecpath2vecl1dir_iterators.rs |
| CHANGELOG      | HEAD           |                                                |                       | main.rs                       | package                   | test2    | vecpath2vecl1dir_onefunc.rs   |
| Cargo.lock     | ORIG_HEAD      |                                                |                       | main_bkp_onefunc.rs           | release                   | test3    |                               |
| Cargo.toml     | branches       |                                                |                       | tablebuf.rs                   | x86_64-unknown-linux-musl |          |                               |
| DEVELOPER.md   | config         |                                                |                       | vecpath2vecl1dir_iterators.rs |                           |          |                               |
| LICENSE        | description    |                                                |                       | vecpath2vecl1dir_onefunc.rs   |                           |          |                               |
| README.md      | hooks          |                                                |                       |                               |                           |          |                               |
| build.sh       | index          |                                                |                       |                               |                           |          |                               |
| mk_testdir.sh  | info           |                                                |                       |                               |                           |          |                               |
|                | logs           |                                                |                       |                               |                           |          |                               |
|                | objects        |                                                |                       |                               |                           |          |                               |
|                | refs           |                                                |                       |                               |                           |          |                               |
+----------------+----------------+------------------------------------------------+-----------------------+-------------------------------+---------------------------+----------+-------------------------------+

Contract filename suffixes to reduce occupied screen-space further:

# 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 |         |
+----+----+----+---------+

For example, lsvine -c -m 3 /etc output here

The future

At some point, might want to get merged into other popular rust-based modern ls alternatives. It could be implemented as a separate option, eg exa --vine or lsd --vine. Example repos

  • exa
    • (pro) It already has a long grid view
    • (con) Author seems too busy to dequeue issues and PRs
    • (con) README doesn't list download binary from releases and run
  • lsd
    • (pro) Distributed via snap in addition to other channels that exa uses
    • (con) Requires some fonts as pre-requisite
  • Others at github topic = ls

License

Apache License 2.0. Check file LICENSE

Dev notes

Check DEVELOPER.md

Author

Built by AutofitCloud.

To follow announcements 📢:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].