Skip to content

Latest commit

 

History

History
106 lines (75 loc) · 3.11 KB

README.md

File metadata and controls

106 lines (75 loc) · 3.11 KB

ls-go

A more colorful, user-friendly implementation of ls written in Go.

You want to be able to glean a lot of information as quickly as possible from ls. Colors can help your mind parse the information. You can configure ls to color the output a little bit. Configuring ls is a hassle though, and the colors are limited.

Instead, you can use ls-go. It is highly colored by default. It has much fewer flags so you can get the behavior you want more easily. The colors are beautiful and semantic. A terminal with xterm-256 colors is required.

Features

  • Should work on Linux, MacOS, and Windows.
  • Outputs beautiful, semantic colors by default.
  • Show paths to symlinks, and explicitly show broken links.
  • Recurse down subdirectories.
  • Emojis (if you're into that).
  • Supports Nerd Fonts.

Install

With go get:

# do this once in a while
$ go get -u github.com/acarl005/ls-go

With Homebrew:

brew install acarl005/homebrew-formulas/ls-go

Usage

demo-1

Of course, you can use an alias to save some typing and get your favorite options.

demo-2

Show locations of symlink.

demo-3

List subdirectories recursively.

demo-5

usage: ls-go [<flags>] [<paths>...]

Flags:
  -h, --help       Show context-sensitive help (also try --help-long and --help-man).
  -a, --all        show hidden files
  -b, --bytes      include size
  -m, --mdate      include modification date
  -o, --owner      include owner and group
  -p, --perms      include permissions for owner, group, and other
  -l, --long       include size, date, owner, and permissions
  -d, --dirs       only show directories
  -f, --files      only show files
  -L, --links      show paths for symlinks
  -R, --link-rel   show symlinks as relative paths if shorter than absolute path
  -s, --size       sort items by size
  -t, --time       sort items by time
  -k, --kind       sort items by extension
  -S, --stats      show statistics
  -i, --icons      show folder icon before dirs
  -n, --nerd-font  show nerd font glyphs before file names
  -r, --recurse    traverse all dirs recursively
  -F, --find=FIND  filter items with a regexp

Args:
  [<paths>]  the files(s) and/or folder(s) to display

Nerd Font Support

ls-go works with Nerd Fonts. Simply add --nerd-font or -n to get file-specific icons. This won't work unless you have a Nerd Font installed and selected in your terminal emulator.

demo-4

Prior Art

This is inspired by athityakumar/colorls and monsterkodi/color-ls, ported to Go, with various modifications.

Contributing

Contributions are muchly appreciated! Want to add a glyph for another file type? Did I forget an edge case? Is there another option that would be useful? Submit a PR! You might want to submit an issue first to make sure it's something I'd want to add though.