mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-07 15:21:46 +00:00
New multi-line regexp and new regexp syntax.
New {language} and @regexp features.
This commit is contained in:
parent
6861f0e327
commit
cc76b31124
@ -477,11 +477,17 @@ Each @samp{--regex} option adds to the preceding ones, and applies only
|
||||
to the following files. The syntax is:
|
||||
|
||||
@smallexample
|
||||
--regex=/@var{tagregexp}[/@var{nameregexp}]/
|
||||
--regex=[@var{@{language@}}]/@var{tagregexp}/[@var{nameregexp}/]@var{modifiers}
|
||||
@end smallexample
|
||||
|
||||
or else:
|
||||
|
||||
@smallexample
|
||||
--regex=@@@var{regexfile}
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
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
|
||||
anchored, that is, it behaves as if preceded by @samp{^}. If you want
|
||||
to account for indentation, just match any initial number of blanks by
|
||||
beginning your regular expression with @samp{[ \t]*}. In the regular
|
||||
@ -516,14 +522,35 @@ Emacs.
|
||||
You should not match more characters with @var{tagregexp} than that
|
||||
needed to recognize what you want to tag. If the match is such that
|
||||
more characters than needed are unavoidably matched by @var{tagregexp}
|
||||
(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
|
||||
pick out just the tag. This will enable Emacs to find tags more
|
||||
accurately and to do completion on tag names more reliably. You can
|
||||
find some examples below.
|
||||
|
||||
The option @samp{--ignore-case-regex} (or @samp{-c}) works like
|
||||
@samp{--regex}, except that matching ignores case. This is
|
||||
appropriate for certain programming languages.
|
||||
A @samp{--regex} option can be restricted to match only files of a
|
||||
given language using the optional prefix @var{@{language@}}. This is
|
||||
particularly useful when storing many predefined regular expressions
|
||||
for @code{etags} in a file.
|
||||
|
||||
The @var{modifiers} are a sequence of 0 or more characters that
|
||||
modify the way @code{etags} does the matching. Without modifiers,
|
||||
each regexp is applied sequentially to each line of the input file, in
|
||||
a case-sensitive way. The modifiers and their meanings are:
|
||||
|
||||
@table @samp
|
||||
@item i
|
||||
ignore case when matching.
|
||||
@item m
|
||||
do not match line by line; rather, match the whole file, so that
|
||||
multi-line matches are possible.
|
||||
@item s
|
||||
implies @samp{m}, and causes dots in @var{tagregexp} to match newlines
|
||||
as well.
|
||||
@end table
|
||||
|
||||
A @var{regexfile} is the name of a file where regular expressions
|
||||
are stored, one per line. Lines beginning with space or tab are
|
||||
ignored, and can be used for adding comments.
|
||||
|
||||
The @samp{-R} option deletes all the regexps defined with
|
||||
@samp{--regex} options. It applies to the file names following it, as
|
||||
|
Loading…
Reference in New Issue
Block a user