477 |
to the following files. The syntax is: |
to the following files. The syntax is: |
478 |
|
|
479 |
@smallexample |
@smallexample |
480 |
--regex=/@var{tagregexp}[/@var{nameregexp}]/ |
--regex=[@var{@{language@}}]/@var{tagregexp}/[@var{nameregexp}/]@var{modifiers} |
481 |
|
@end smallexample |
482 |
|
|
483 |
|
or else: |
484 |
|
|
485 |
|
@smallexample |
486 |
|
--regex=@@@var{regexfile} |
487 |
@end smallexample |
@end smallexample |
488 |
|
|
489 |
@noindent |
@noindent |
490 |
where @var{tagregexp} is used to match the lines to tag. It is always |
where @var{tagregexp} is used to find the tags. It is always |
491 |
anchored, that is, it behaves as if preceded by @samp{^}. If you want |
anchored, that is, it behaves as if preceded by @samp{^}. If you want |
492 |
to account for indentation, just match any initial number of blanks by |
to account for indentation, just match any initial number of blanks by |
493 |
beginning your regular expression with @samp{[ \t]*}. In the regular |
beginning your regular expression with @samp{[ \t]*}. In the regular |
522 |
You should not match more characters with @var{tagregexp} than that |
You should not match more characters with @var{tagregexp} than that |
523 |
needed to recognize what you want to tag. If the match is such that |
needed to recognize what you want to tag. If the match is such that |
524 |
more characters than needed are unavoidably matched by @var{tagregexp} |
more characters than needed are unavoidably matched by @var{tagregexp} |
525 |
(as will usually be the case), you should add a @var{nameregexp}, to |
(as will sometimes be the case), you should add a @var{nameregexp}, to |
526 |
pick out just the tag. This will enable Emacs to find tags more |
pick out just the tag. This will enable Emacs to find tags more |
527 |
accurately and to do completion on tag names more reliably. You can |
accurately and to do completion on tag names more reliably. You can |
528 |
find some examples below. |
find some examples below. |
529 |
|
|
530 |
The option @samp{--ignore-case-regex} (or @samp{-c}) works like |
A @samp{--regex} option can be restricted to match only files of a |
531 |
@samp{--regex}, except that matching ignores case. This is |
given language using the optional prefix @var{@{language@}}. This is |
532 |
appropriate for certain programming languages. |
particularly useful when storing many predefined regular expressions |
533 |
|
for @code{etags} in a file. |
534 |
|
|
535 |
|
The @var{modifiers} are a sequence of 0 or more characters that |
536 |
|
modify the way @code{etags} does the matching. Without modifiers, |
537 |
|
each regexp is applied sequentially to each line of the input file, in |
538 |
|
a case-sensitive way. The modifiers and their meanings are: |
539 |
|
|
540 |
|
@table @samp |
541 |
|
@item i |
542 |
|
ignore case when matching. |
543 |
|
@item m |
544 |
|
do not match line by line; rather, match the whole file, so that |
545 |
|
multi-line matches are possible. |
546 |
|
@item s |
547 |
|
implies @samp{m}, and causes dots in @var{tagregexp} to match newlines |
548 |
|
as well. |
549 |
|
@end table |
550 |
|
|
551 |
|
A @var{regexfile} is the name of a file where regular expressions |
552 |
|
are stored, one per line. Lines beginning with space or tab are |
553 |
|
ignored, and can be used for adding comments. |
554 |
|
|
555 |
The @samp{-R} option deletes all the regexps defined with |
The @samp{-R} option deletes all the regexps defined with |
556 |
@samp{--regex} options. It applies to the file names following it, as |
@samp{--regex} options. It applies to the file names following it, as |