parent
84df656c06
commit
9222003e4c
38
bcs%3A-Bad-Code-Search.md
Normal file
38
bcs%3A-Bad-Code-Search.md
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
`bcs` is a command-line utility for searching a git-based codebase that syntax-highlights the results. Only files included in the git tree are searched. (This avoids wasting time searching through build output files, autogenerated source code that's not checked in, etc.)
|
||||||
|
|
||||||
|
Grab the latest version: <https://git.semicolin.games/semicolin/sneak/src/branch/master/tools/scripts/bcs.sh>
|
||||||
|
|
||||||
|
It expects you've already installed the `highlight` program on your system (`sudo apt install highlight` or similar).
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
```
|
||||||
|
bcs.sh [-i] [-f/--file FILE_PATTERN] [-x/--extension EXTENSION] [-C/--context NUM_LINES] [-t/--tree TREE_NAME] QUERY
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
-i ignore case in searching for matches
|
||||||
|
-f pattern to match filenames against
|
||||||
|
-x file extension that must be matched
|
||||||
|
-C number of lines of context to include before and after each match (default: 3)
|
||||||
|
-t tree-ish id (as per `git ls-tree`)
|
||||||
|
```
|
||||||
|
|
||||||
|
Some examples:
|
||||||
|
```
|
||||||
|
Search for the token "Vector3" in files whose names contain "Line":
|
||||||
|
$ bcs.sh --file Line Vector3
|
||||||
|
|
||||||
|
Search for "new vector3" on the same line (in that order but not necessarily next to each other; case-insensitive):
|
||||||
|
$ bcs.sh -i new vector3
|
||||||
|
|
||||||
|
Show 10 lines of context before & after each match:
|
||||||
|
$ bcs.sh -C 10 new Vector3
|
||||||
|
|
||||||
|
Search for "sprite" only in files ending in ".py":
|
||||||
|
$ bcs.sh -x py sprite
|
||||||
|
|
||||||
|
Search for "spritebatch" in .cs files with "World" in their names (case-insensitive):
|
||||||
|
$ bcs.sh -i -x cs -f World spritebatch
|
||||||
|
|
||||||
|
Search for "SpriteBatch" in .cs files under MonoGame.Framework/ in the tree named "develop" (the main branch that MonoGame develops on):
|
||||||
|
$ bcs.sh --tree develop -x cs -f MonoGame.Framework/ SpriteBatch
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user