aboutsummaryrefslogblamecommitdiffstats
path: root/cgrep.roff
blob: 8c48bee24a6661dccee78b6aa8a58f5484acfd3f (plain) (tree)
1
2
3
4
5
6



                                        

 

























                                                                              































































































                                                                                                                       




                     
              









                                       
.TH CGREP "29 Feb 2020"
.SH Farzad Sadeghi
cgrep \ - grep for C-family source files


.SH NAME
.PP
cgrep

.SH SYNOPSIS
.PP
cgrep [options] [target]

.SH DESCRIPTION
.PP
\fBCgrep\fP [ OPTION ] [ TARGET ]
\fIcgrep\fP cgrep is a grep-like tool for the 
C-family languages. It supports a subset of grep
options to search through C-famlily source files.
cgrep is written using clang's libtooling and as such 
will accept any option clang accepts as well. Like clang,
cgrep will require you to have a compilation database. 
.PP
If you can build your sources without any specific command-line 
options, you can pass "--" as the last command-line option which
tells clang to try to build the source without a compilation database.
If you are using \fBmake\fP to build your code-base, you can use \fBBEAR(1)\fP
to generate a compilation database.

.SS Options
.PP
.TP
\fB-A=<int>\fP
same as grep, how many lines after the matched line to print

.TP
\fB-B=<int>\fP
same as grep, howm many lines before the matched line to print

.TP
\fB--all\fP
turns on all switches other than nameddecl

.TP
\fB--awk\fP
outputs location in a gawk freidnly format

.TP
\fB--call\fP
match function calls only

.TP
\fB--class\fP
match class declrations only

.TP
\fB--cxxcall\fP
match member function calls only

.TP
\fB--declrefexpr\fP
matches declrefexpr

.TP
\fB--dir=<string>\fP
recursively goes through all the files and directories. assumes compilation databases are present for all source files.

.TP
\fB--extra-arg=<string>\fP
Additional argument to append to the compiler command line

.TP
\fB--extra-arg-before=<string>\fP
Additional argument to prepend to the compiler command line

.TP
\fB--func\fP
match functions only

.TP
\fB--header\fP
match headers in header inclusions

.TP
\fB--macro\fP
match macro definitions

.TP
\fB--mainfile\fP
match identifiers in the main file only

.TP
\fB--memfunc\fP
match member functions only

.TP
\fB--memvar\fP
match member variables only

.TP
\fB--nameddecl\fP
matches all named declrations

.TP
\fB-p=<string>\fP
Build path

.TP
\fB--regex=<string>\fP
the regex to match against

.TP
\fB--struct\fP
match structures only

.TP
\fB--syshdr\fP
match identifiers in system header as well

.TP
\fB--union\fP
match unions only

.TP
\fB--var\fP
match variables only

.SH "FILES"
.PP
\fBcgrep\fP
The cgrep executable.

.SH "SEE ALSO"
.PP
BEAR(1)

.SH "COPYRIGHT"
.PP
Copyright (C) by Farzad Sadeghi
<https://github.com/bloodstalker/cgrep>

.SH "AUTHORS"
Farzad Sadeghi