Exuberant Ctags#

Program ctags#

--regex-<lang>#

Argument --regex-<lang> dla bieżącego wywołania programu ctags zarządza wyrażeniami regularnymi w poszczególnych językach spośród wszystkich obsługiwanych języków (zarówno tych pochodzących z wbudowanych parserów, jak i tych z własnych wyrażeń regularnych), które będą brane pod uwagę przy generowaniu tagów dla analizowanych plików.

Niniejszy poradnik dla programu ctags nie jest przewodnikiem po wyrażeniach regularnych, dlatego wszystkie opisy i przykłady dla wyrażeń regularnych są bardzo ogólnikowe. W razie potrzeby należy poszukać dodatkowych informacji na własną rękę.

Opis działania#

Prawidłowe użycie argumentu najlepiej objaśnić na zapisie składniowym:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
ctags --regex-<lang>[=value] [--argument | -argument] [path]

gdzie poszczególne człony oznaczają:

Kilka uwag odnośnie stosowania argumentu --regex-<lang>:

Prosty przykład:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
ctags --regex-c="" --list-kinds=c		:: wyczyszczenie wszystkich wyrażeń regularnych dla języka C
ctags --regex-c= --list-kinds=c			:: wyczyszczenie wszystkich wyrażeń regularnych dla języka C
ctags --regex-c --list-kinds=c			:: wyczyszczenie wszystkich wyrażeń regularnych dla języka C
ctags --list-kinds=c

ctags --regex-c=/a/a/ --list-kinds=c					:: nowy rodzaj tagu z domyślnymi wartościami 'r,regex'
ctags --regex-c=/a/a/ --regex-c=/a/a/ --list-kinds=c	:: dwa nowe rodzaj tagu z domyślnymi wartościami 'r,regex'
ctags --regex-c=/a/a/v/ --list-kinds=c					:: nowy rodzaj tagu z wartościami 'v,regex'
ctags --regex-c=/a/a/v,tag/ --list-kinds=c				:: nowy rodzaj tagu z wartościami 'v,tag'
ctags --regex-c=/a/a/v,tag,tags/ --list-kinds=c			:: nowy rodzaj tagu z wartościami 'v,tags'

ctags --regex-c=/a/a/i --list-kinds=c					:: nowy rodzaj tagu z domyślnymi wartościami 'r,regex' oraz flagą 'i'
ctags --regex-c=/a/a/ie --list-kinds=c					:: nowy rodzaj tagu z domyślnymi wartościami 'r,regex' oraz flagami 'ie'

ctags --regex-c=/a/a/v/ --c-kinds=-v --list-kinds=c		:: wyłączenie tagu z rodzajem 'v' tylko we wbudowanym parserze języka C
ctags --regex-c=/a/a/v/ --c-kinds --list-kinds=c		:: wyłączenie wszystkich rodzajów tagów z wbudowanego parsera języka C

ctags --langdef=new --regex-new=/a/a/v/ --list-kinds=new						:: nowy język 'new' z własnym rodzajem tagu 'v,regex'
ctags --langdef=new --regex-new=/a/a/v/ --regex-new=/a/a/v/ --list-kinds=new 	:: nowy język 'new' z dwoma własnymi rodzajami tagu 'v,regex'

ctags --langdef=new --regex-new=/a/a/v/ --regex-new --list-kinds=new			:: wyczyszczenie wszystkich wyrażeń regularnych dla nowego języka 'new'
ctags --langdef=new --regex-new=/a/a/v/ --new-kinds --list-kinds=new			:: wyłączenie wszystkich rodzajów tagów dla nowego języka 'new'
ctags --langdef=new --regex-new=/a/a/v/ --new-kinds=-v --list-kinds=new			:: wyłączenie tagu z rodzajem 'v' dla nowego języka 'new'

:: Błędne przypadki

ctags --regex-
ctags --regex-cos

ctags --regex-c=/
ctags --regex-c=//
ctags --regex-c=///

ctags --regex-c=/a/
ctags --regex-c=/a//
ctags --regex-c=/a/b
ctags --regex-c=//b
ctags --regex-c=/a/b/c
ctags --regex-c=/a/b/ic
Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

Exuberant Ctags (H1) Program ctags (H2) --regex-<lang> (H3) Opis działania (H4)