Mercurial > emacs
comparison man/maintaining.texi @ 45801:0cbd872ef18b
New multi-line regexp and new regexp syntax.
New {language} and @regexp features.
author | Francesco Potortì <pot@gnu.org> |
---|---|
date | Thu, 13 Jun 2002 12:10:00 +0000 |
parents | c8a6b0050bb0 |
children | 22138a27a5f3 |
comparison
equal
deleted
inserted
replaced
45800:d11816fe2c59 | 45801:0cbd872ef18b |
---|---|
475 based on regexp matching. You can freely intermix it with file names. | 475 based on regexp matching. You can freely intermix it with file names. |
476 Each @samp{--regex} option adds to the preceding ones, and applies only | 476 Each @samp{--regex} option adds to the preceding ones, and applies only |
477 to the following files. The syntax is: | 477 to the following files. The syntax is: |
478 | 478 |
479 @smallexample | 479 @smallexample |
480 --regex=/@var{tagregexp}[/@var{nameregexp}]/ | 480 --regex=[@var{@{language@}}]/@var{tagregexp}/[@var{nameregexp}/]@var{modifiers} |
481 @end smallexample | 481 @end smallexample |
482 | 482 |
483 or else: | |
484 | |
485 @smallexample | |
486 --regex=@@@var{regexfile} | |
487 @end smallexample | |
488 | |
483 @noindent | 489 @noindent |
484 where @var{tagregexp} is used to match the lines to tag. It is always | 490 where @var{tagregexp} is used to find the tags. It is always |
485 anchored, that is, it behaves as if preceded by @samp{^}. If you want | 491 anchored, that is, it behaves as if preceded by @samp{^}. If you want |
486 to account for indentation, just match any initial number of blanks by | 492 to account for indentation, just match any initial number of blanks by |
487 beginning your regular expression with @samp{[ \t]*}. In the regular | 493 beginning your regular expression with @samp{[ \t]*}. In the regular |
488 expressions, @samp{\} quotes the next character, and all the | 494 expressions, @samp{\} quotes the next character, and all the |
489 @code{gcc} character escape sequences are supported. Here is the list | 495 @code{gcc} character escape sequences are supported. Here is the list |
514 Emacs. | 520 Emacs. |
515 | 521 |
516 You should not match more characters with @var{tagregexp} than that | 522 You should not match more characters with @var{tagregexp} than that |
517 needed to recognize what you want to tag. If the match is such that | 523 needed to recognize what you want to tag. If the match is such that |
518 more characters than needed are unavoidably matched by @var{tagregexp} | 524 more characters than needed are unavoidably matched by @var{tagregexp} |
519 (as will usually be the case), you should add a @var{nameregexp}, to | 525 (as will sometimes be the case), you should add a @var{nameregexp}, to |
520 pick out just the tag. This will enable Emacs to find tags more | 526 pick out just the tag. This will enable Emacs to find tags more |
521 accurately and to do completion on tag names more reliably. You can | 527 accurately and to do completion on tag names more reliably. You can |
522 find some examples below. | 528 find some examples below. |
523 | 529 |
524 The option @samp{--ignore-case-regex} (or @samp{-c}) works like | 530 A @samp{--regex} option can be restricted to match only files of a |
525 @samp{--regex}, except that matching ignores case. This is | 531 given language using the optional prefix @var{@{language@}}. This is |
526 appropriate for certain programming languages. | 532 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. | |
527 | 554 |
528 The @samp{-R} option deletes all the regexps defined with | 555 The @samp{-R} option deletes all the regexps defined with |
529 @samp{--regex} options. It applies to the file names following it, as | 556 @samp{--regex} options. It applies to the file names following it, as |
530 you can see from the following example: | 557 you can see from the following example: |
531 | 558 |