Giter Club home page Giter Club logo

colorls's Introduction

Color LS

forthebadge forthebadge

Gem Version Build Status PRs Welcome

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.

image

If you're interested in knowing the powerlevel9k configuration to get this prompt, have a look at this gist.

Table of contents

Usage

(Back to top)

Man pages have been added. Checkout man colorls.

Flags

  • With -1 : Lists one entry per line

    image

  • With -a (or) --all : Does not ignore entries starting with '.'

    image

  • With -A (or) --almost-all : Does not ignore entries starting with '.', except ./ and ../

    image

  • With -d (or) --dirs : Shows only directories

    image

  • With -f (or) --files : Shows only files

    image

  • With -h (or) --help : Prints a very helpful help menu

    image

  • With -l (or) --long : Shows in long listing format

    image

  • With -r (or) --report : Shows brief report about number of files and folders shown

    image

  • With --tree (or) --tree=[DEPTH] : Shows tree view of the directory with the specified depth (default 3)

    image

  • With --gs (or) --git-status : Shows git status for each entry

    image

  • With --sd (or) --sort-dirs or --group-directories-first : Shows directories first, followed by files

    image

  • With --sf (or) --sort-files : Shows files first, followed by directories

    image

  • 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

  • Using --gs with -t :

    image

  • Using --gs with -l :

    image

  • Using --sd with -l and -A :

    image

Installation

(Back to top)

  1. Install Ruby (preferably, version >= 2.5)

  2. Install the patched fonts of powerline nerd-font and/or font-awesome. Have a look at the Nerd Font README for more installation instructions.

    Note for iTerm2 users - Please enable the Nerd Font at iTerm2 > Preferences > Profiles > Text > Non-ASCII font > Hack Regular Nerd Font Complete.

  3. Install the colorls ruby gem with gem install colorls

    Note for rbenv users - In case of load error when using lc, please try the below patch.

    rbenv rehash
    rehash
  4. 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
  5. Start using colorls ๐ŸŽ‰

  6. Have a look at Recommended configurations and Custom configurations.

Recommended configurations

(Back to top)

  1. 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'
  2. 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

(Back to top)

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. 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 defaut dark_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 for untracked from darkorange to yellow, and save the change.

    untracked: yellow
    
  • 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

(Back to top)

Want to update to the latest version of colorls?

gem update colorls

Uninstallation

(Back to top)

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

(Back to top)

Your contributions are always welcome! Please have a look at the contribution guidelines first. ๐ŸŽ‰

License

(Back to top)

The MIT License (MIT) 2017 - Athitya Kumar. Please have a look at the LICENSE.md for more details.

colorls's People

Contributors

adimasuhid avatar alexanderarvidsson avatar alexpjohnson avatar athityakumar avatar avdv avatar bladebhs avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar gladoskar avatar henrebotha avatar hirowatari avatar igordcsouza avatar kaustubhhiware avatar lewazo avatar mariuz avatar mashehu avatar mccarths avatar pranitbauva1997 avatar redcinelli avatar rjhilgefort avatar rohitner avatar ryanoasis avatar sergeant-wizard avatar sl avatar sumbach avatar swentling87 avatar technologyclassroom avatar trivett avatar vfonic avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.