Provide a mechanism to compose type definitions

This extends the syntax of the --type-add flag to allow including the globs of
other already defined types.

Fixes #83.
This commit is contained in:
Ian Kerins
2017-01-01 19:32:46 -05:00
committed by Andrew Gallant
parent 8f7b9be356
commit ed01e80a79
5 changed files with 166 additions and 16 deletions

View File

@@ -267,7 +267,25 @@ Project home page: https://github.com/BurntSushi/ripgrep
this must be passed to every invocation of rg. Type settings are NOT
persisted.
Example: `rg --type-add 'foo:*.foo' -tfoo PATTERN`
Example: `rg --type-add 'foo:*.foo' -tfoo PATTERN`
--type-add can also be used to include rules from other types
with the special include directive. The include directive
permits specifying one or more other type names (separated by a
comma) that have been defined and its rules will automatically
be imported into the type specified. For example, to create a
type called src that matches C++, Python and Markdown files, one
can use:
`--type-add 'src:include:cpp,py,md'`
Additional glob rules can still be added to the src type by
using the --type-add flag again:
`--type-add 'src:include:cpp,py,md' --type-add 'src:*.foo'`
Note that type names must consist only of Unicode letters or
numbers. Punctuation characters are not allowed.
--type-clear *TYPE* ...
: Clear the file type globs previously defined for TYPE. This only clears