Skip to content
This repository has been archived by the owner on Jan 13, 2019. It is now read-only.

magarcia/doyle

Repository files navigation

Doyle

image

image

Documentation Status

doyle is a tool for creating and tracking internal notes in code (inspired by watson)

Motivation

This project born for find a fastest solution for watson to deal with large projects. First benchmarks shows that doyle is x10 faster than watson with large projects.

Install

doyle require The Silver Searcher to work.

doyle requires Python3. Python2 support in progress.

pip3 install git+git://github.com/magarcia/doyle.git@master

Features

  • It is an order of magnitude faster than ack.
  • It ignores file patterns from your .gitignore and .hgignore.

Supported languages

  • Actionscript
  • Ada
  • Asm
  • Cc
  • Clojure
  • Coffee
  • Cpp
  • Csharp
  • Css
  • Delphi
  • Elisp
  • Elixir
  • Erlang
  • Fortran
  • Fsharp
  • Gettext
  • Go
  • Groovy
  • Haml
  • Haskell
  • Hh
  • Html
  • Jade
  • Java
  • Js
  • Jsp
  • Less
  • Liquid
  • Lisp
  • Lua
  • M4
  • Make
  • Mako
  • Markdown
  • Mason
  • Matlab
  • Nim
  • Objc
  • Objcpp
  • Ocaml
  • Perl
  • Php
  • Pike
  • Puppet
  • Python
  • R
  • Ruby
  • Rust
  • Sass
  • Scala
  • Scheme
  • Shell
  • Smalltalk
  • Sql
  • Stylus
  • Swift
  • Tcl
  • Tex
  • Vala
  • Vb
  • Vim
  • Xml
  • Yaml

Command line arguments

Usage: doyle [OPTIONS] [PATHS]...

Options:
  -q, --quiet                     Runs without displaying a user interface.
  --list-file-types               List of supported file types.
  -f, --format [plain|json|yaml]  Set output format.
  -t, --type TEXT                 Select filetypes to search for (see --list-
                                  file-types).
  -i, --ignore TEXT               Ignore files/directories matching PATTERN.
  -c, --count                     Only print the number of matches for each
                                  type.
  --version                       Show the version and exit.
  --help                          Show this message and exit.

.doylerc

doyle supports an RC file that allows for reusing common settings without repeating command line arguments every time.

The .doylerc is placed in every directory that doyle is run from as opposed to a unified file (in ~/.doylerc for example). The thought process behind this is that each project may have a different set of folders to ignore, directories to search through, and tags to look for.

For example, a C/C++ project might want to look in src/ and ignore obj/ whereas a Node project might want to look in lib/ and ignore node_modules/.

The .doylerc file is fairly straightforward...

[dirs] - This is a newline separated list of directories to look in while parsing.

[tags] - This is a newline separated list of tags to look for while parsing.

[types] - This is a newline separated list of file types to look for while parsing (see option --list-file-types).

[ignore] - This is a newline separated list of files / folders to ignore while parsing.

TODO

  • Support for Python2
  • Add testsuite
  • Suppor for custom tag_format
  • unite output format
  • Support for GitHub
  • Support for Bitbucket
  • Support for Asana
  • Support for GitLab
  • Support for Jira

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

About

doyle is a tool for creating and tracking internal notes in code inspired by watson-ruby

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published