a3b94311ec
If a directory was reported with a concrete status by git, it was assumed that all files below this directory would have the same status. This is not the case were git ignore files are applied to some files in subdirectories. Fixes #461. |
||
---|---|---|
.github | ||
exe | ||
lib | ||
man | ||
spec | ||
test | ||
zsh | ||
.gitignore | ||
.rubocop.yml | ||
CODE_OF_CONDUCT.md | ||
colorls.gemspec | ||
CONTRIBUTING.md | ||
CONTRIBUTORS.md | ||
COVERAGES.md | ||
Gemfile | ||
ISSUE_TEMPLATE.md | ||
LICENSE.md | ||
PULL_REQUEST_TEMPLATE.md | ||
Rakefile | ||
README.md | ||
RELEASE_POLICY.md |
Color LS
A Ruby script that colorizes the ls
output with color and icons. Here are the screenshots of working example on an iTerm2 terminal (Mac OS), oh-my-zsh
with powerlevel9k
theme and powerline nerd-font + awesome-config
font with the Solarized Dark
color theme.
If you're interested in knowing the powerlevel9k configuration to get this prompt, have a look at this gist.
Table of contents
- Usage
- Flags
-1
-a
(or)--all
-A
(or)--almost-all
-d
(or)--dirs
-f
(or)--files
-h
(or)--help
-l
(or)--long
-r
(or)--report
--tree
(or)--tree=[DEPTH]
--gs
(or)--git-status
--sd
(or)--sort-dirs
or--group-directories-first
--sf
(or)--sort-files
-t
- Combination of flags
- Flags
- Installation
- Recommended configurations
- Custom configurations
- Updating
- Uninstallation
- Contributing
- License
Usage
Man pages have been added. Checkout man colorls
.
Flags
-
With
-1
: Lists one entry per line -
With
-a
(or)--all
: Does not ignore entries starting with '.' -
With
-A
(or)--almost-all
: Does not ignore entries starting with '.', except./
and../
-
With
-d
(or)--dirs
: Shows only directories -
With
-f
(or)--files
: Shows only files -
With
-h
(or)--help
: Prints a very helpful help menu -
With
-l
(or)--long
: Shows in long listing format -
With
-r
(or)--report
: Shows brief report about number of files and folders shown -
With
--tree
(or)--tree=[DEPTH]
: Shows tree view of the directory with the specified depth (default 3) -
With
--gs
(or)--git-status
: Shows git status for each entry -
With
--sd
(or)--sort-dirs
or--group-directories-first
: Shows directories first, followed by files -
With
--sf
(or)--sort-files
: Shows files first, followed by directories -
With
-t
: Sort by modification time, newest first (NEED TO ADD IMAGE) -
With color options :
--light
or--dark
can be passed as a flag, to choose the appropriate color scheme. By default, the dark color scheme is chosen. In order to tweak any color, read Custom configurations.
Combination of flags
Installation
-
Install Ruby (preferably, version >= 2.6)
-
Download and install a Nerd Font. Have a look at the Nerd Font README for installation instructions.
Note for
iTerm2
users - Please enable the Nerd Font at iTerm2 > Preferences > Profiles > Text > Non-ASCII font > Hack Regular Nerd Font Complete.Note for
HyperJS
users - Please add"Hack Nerd Font"
Font as an option tofontFamily
in your~/.hyper.js
file. -
Install the colorls ruby gem with
gem install colorls
Note for
rbenv
users - In case of load error when usinglc
, please try the below patch.rbenv rehash rehash
-
Enable tab completion for flags by entering following line to your shell configuration file (
~/.bashrc
or~/.zshrc
) :source $(dirname $(gem which colorls))/tab_complete.sh
-
Start using
colorls
🎉 -
Have a look at Recommended configurations and Custom configurations.
Recommended configurations
-
To add some short command (say,
lc
) with some flag options (say,-l
,-A
,--sd
) by default, add this to your shell configuration file (~/.bashrc
,~/.zshrc
, etc.) :alias lc='colorls -lA --sd'
-
For changing the icon(s) to other unicode icons of choice (select icons from here), change the YAML files in a text editor of your choice (say,
subl
)subl $(dirname $(gem which colorls))/yaml
Custom configurations
You can overwrite the existing icons and colors mapping by copying the yaml files from $(dirname $(gem which colorls))/yaml
into ~/.config/colorls
, and changing them.
-
To overwrite color mapping :
Please have a look at the list of supported color names. You may also use a color hex code as long as it is quoted within the YAML file and prefaced with a
#
symbol.Let's say that you're using the dark color scheme and would like to change the color of untracked file (
??
) in the--git-status
flag to yellow. Copy the defautdark_colors.yaml
and change it.cp $(dirname $(gem which colorls))/yaml/dark_colors.yaml ~/.config/colorls/dark_colors.yaml
In the
~/.config/colorls/dark_colors.yaml
file, change the color set foruntracked
fromdarkorange
toyellow
, and save the change.untracked: yellow
Or, using hex color codes:
untracked: '#FFFF00'
-
To overwrite icon mapping :
Please have a look at the list of supported icons. Let's say you want to add an icon for swift files. Copy the default
files.yaml
and change it.cp $(dirname $(gem which colorls))/yaml/files.yaml ~/.config/colorls/files.yaml`
In the
~/.config/colorls/files.yaml
file, add a new icon / change an existing icon, and save the change.swift: "\uF179"
-
User contributed alias configurations :
Updating
Want to update to the latest version of colorls
?
gem update colorls
Uninstallation
Want to uninstall and revert back to the old style? No issues (sob). Please feel free to open an issue regarding how we can enhance colorls
.
gem uninstall colorls
Contributing
Your contributions are always welcome! Please have a look at the contribution guidelines first. 🎉
License
The MIT License (MIT) 2017 - Athitya Kumar. Please have a look at the LICENSE.md for more details.