[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#945373: ITP: cf -- cf colorizes piped filenames w/Truecolor sRGB



Package: wnpp
Severity: wishlist
Owner: Adam Danischewski <adam.danischewski@gmail.com>

* Package name    : cf
  Version         : 1.0
  Upstream Author : Adam Danischewski <adam.danischewski@protonmail.com>
* URL             : https://github.com/AdamDanischewski/cf 
* License         : Creative Commons, CC BY-SA 4.0
  Programming Lang: AWK 
  Description     : cf colorizes piped filenames w/Truecolor sRGB

cf improves the commandline user experience by adding extensive filename
coloring capabilities via pipelines. cf colorizes mapped file extensions
to a Truecolor sRGB triplet.

cf colors piped file names by file extension according to their respective
colormap["ext"] entry in the system-wide or user defined cf config file.

cf can be used in with find/ls commands in pipelines.

If you get used to using cf you will likely find it very difficult to
imagine not using cf!!

Why not just use ls --color via LS_COLORS? First ls --color doesn't 
color piped filename data. cf is better documented and easier to 
configure than LS_COLORS (and dircolors) and allows the user to hit 
the ground running with sensible defaults. 

Another improvement that cf has other than working with pipes, being 
well documented and having an extensive default color mappings already 
set up - cf also has fallback logic that allows files to be colored only 
if they don't match on other defined file extensions. 

For instance, suppose you set up hidden files to be colored rouge and 
jpg files to be colored green. A hidden jpg would be colored rouge 
normally because you have configured hidden files to be rouge. With 
fallback logic you can unset hidden mappings from rouge to the empty 
string ("") and set fb_hidden to rouge. Now when you pipe the hidden 
jpg through cf it will be colored green as you wished for jpg's but any 
other hidden files that don't have a color mapping for their file 
extension (if they have one) will be colored rouge. 

cf is very easy to use and try out effectively, after installing simply 
run cf -? for usage. You can use the cf -ls to test piping the current 
directory through cf. Use the cf -A to add an ls alias to your {.bashrc,
.zshrc} file that colors cf and you are all set. 

The default system wide configuration file is located at: 
/etc/cf/cf_default.conf

User defined config file is located at (not installed by default): 
~/.config/cf/cf_user.conf

To customize filename colors you can change the system wide default 
settings or generate a user config file with cf -C to customize your 
user coloring settings as you wish. 

Also, cf is awk based and very fast! 

I plan on maintaining cf myself, although I plan to keep it simple, it
is really good at what it does and I don't expect to add much to it. 
I have utilized cf for a while personally yet now have made it available 
if anyone does find a bug I will quickly fix it. 

Sponsorship offers are welcome. 


Reply to: