This repository has been archived by the owner. It is now read-only.
Search tool designed for developers
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
test
.editorconfig
.gitignore
.istanbul.yml
.npmignore
.travis.yml
README.md
package.json

README.md

Build Status Coverage Status

Why??

  • Designed to save your time
  • Common tasks in fewer keystrokes
  • Only search for what really matter
  • Full optimized for developers
  • Portable and easy to install (any machine with nodejs installed)
  • Open source

kaki grep example

Instalation

npm install -g kaki

Usage

kaki [OPTION]... PATTERN [path]
Examples:

Search for text in files -x or --text

kaki -x myFunction

Search for regex pattern in files

kaki -x "/filter.*/"

Search for files that contains text in name -w

kaki -w "index"

Search for regex pattern in files name

kaki -w "/[A-Z]+.js/"

Search recursively -R for files of type -t .doc,.docx,.xls

kaki -R -t .doc,.docx,.xls

Search for shell files [.sh .bash .csh .tcsh .ksh .zsh .fish] in current directory

kaki --shell

Invert match -v: select non-matching files

kaki -v [OPTIONS]... PATTERN [path]

Ignore case distinctions -i

kaki -i [OPTIONS]... PATTERN [path]

Ignore directories --ignore-dir. Similar approach for --ignore-file and --ignore-ext

kaki -R --ignore-dir dist,target

General options

 -h, --help             output usage information
 -V, --version          output the version number
 -i, --ignorecase       Ignore case distinctions
 -x, --text             find text or /regex/ in files
 -w, --word             force PATTERN to match only whole words or /regex/ (file name)
 -t, --extensions       filter by custom types ex: ".app,.jar,.exe"
 -R, --rec              search recursively
 -v, --invert-match     Invert match: select non-matching lines
 --ignore-dir           Ignore directories from search
 --ignore-file          Ignore files from search
 --ignore-ext           Ignore extensions from search
 --sort                 Sort the found files

Supported languages and related extensions

--actionscript .as .mxml
--ada          .ada .adb .ads
--asm          .asm .s
--asp          .asp
--aspx         .master .ascx .asmx .aspx .svc
--batch        .bat .cmd
--cc           .c .h .xs
--cfmx         .cfc .cfm .cfml
--clojure      .clj
--cmake        CMakeLists.txt; .cmake
--coffeescript .coffee
--cpp          .cpp .cc .cxx .m .hpp .hh .h .hxx
--csharp       .cs
--css          .css
--dart         .dart
--delphi       .pas .int .dfm .nfm .dof .dpk .dproj .groupproj .bdsgroup .bdsproj
--elisp        .el
--elixir       .ex .exs
--erlang       .erl .hrl
--fortran      .f .f77 .f90 .f95 .f03 .for .ftn .fpp
--go           .go
--groovy       .groovy .gtmpl .gpp .grunit .gradle
--haskell      .hs .lhs
--hh           .h
--html         .htm .html
--java         .java .properties
--js           .js
--json         .json
--jsp          .jsp .jspx .jhtm .jhtml
--less         .less
--lisp         .lisp .lsp
--lua          .lua
--make         .mk; .mak; makefile; Makefile; GNUmakefile
--matlab       .m
--md           .mkd; .md
--objc         .m .h
--objcpp       .mm .h
--ocaml        .ml .mli
--parrot       .pir .pasm .pmc .ops .pod .pg .tg
--perl         .pl .pm .pod .t .psgi
--perltest     .t
--php          .php .phpt .php3 .php4 .php5 .phtml
--plone        .pt .cpt .metadata .cpy .py
--pmc          .pmc
--python       .py
--rake         Rakefile
--rr           .R
--ruby         .rb .rhtml .rjs .rxml .erb .rake .spec
--rust         .rs
--sass         .sass .scss
--scala        .scala
--scheme       .scm .ss
--shell        .sh .bash .csh .tcsh .ksh .zsh .fish
--smalltalk    .st
--sql          .sql .ctl
--tcl          .tcl .itcl .itk
--tex          .tex .cls .sty
--textile      .textile
--tt           .tt .tt2 .ttml
--vb           .bas .cls .frm .ctl .vb .resx
--verilog      .v .vh .sv
--vhdl         .vhd .vhdl
--vim          .vim
--xml          .xml .dtd .xsl .xslt .ent
--yaml         .yaml .yml

Default ignored directories

[".bzr", ".cdv", ".dep", ".dot", ".nib", ".plst", ".git", ".hg", ".pc", ".svn",
 "_MTN", "CSV", "RCS", "SCCS", "_darcs", "_sgbak", "utom4te.cache", "blib", "_build",
 "cover_db", "node_modules", "CMakeFiles", ".metadata", ".cabal-sandbox", ".idea"]

Notes

  • Kaki is strongly inspired in ack! project.
  • Made with love ❤️

License

MIT