Exuberant Ctags#

Program ctags#

--<lang>-kinds#

Argument --<lang>-kinds dla bieżącego wywołania programu ctags kontroluje stanem włączenia/wyłączenia określonych rodzajów tagów 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. W celu zachowania spójnego wyniku dla wszystkich analizowanych plików dla danego języka najlepiej umieszczać kontrolujący go argument --<lang>-kinds jeszcze przed pierwszym analizowanym plikiem w tym języku.

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 --<lang>-kinds[=[+|-]value] [--argument | -argument] [path]

gdzie poszczególne człony oznaczają:

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

Prosty przykład:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
ctags --c-kinds="" --list-kinds=c	:: wyłączenie wszystkich rodzajów tagów pochodzących z parsera dla języka C
ctags --c-kinds= --list-kinds=c		:: wyłączenie wszystkich rodzajów tagów pochodzących z parsera dla języka C
ctags --c-kinds --list-kinds=c		:: wyłączenie wszystkich rodzajów tagów pochodzących z parsera dla języka C
ctags --list-kinds=c

ctags --c-kinds=vf --list-kinds=c	:: włączenie dla języka C tylko tych tagów z rodzajem 'v' i 'f'
ctags --c-kinds=v+f --list-kinds=c	:: włączenie dla języka C tylko tych tagów z rodzajem 'v' i 'f'

ctags --c-kinds=-vf --list-kinds=c	:: wyłączenie dla języka C tagów z rodzajem 'v' i 'f'
ctags --c-kinds=-v-f --list-kinds=c	:: wyłączenie dla języka C tagów z rodzajem 'v' i 'f'

ctags --c-kinds=+lp --list-kinds=c	:: włączenie dla języka C tagów z rodzajem 'l' i 'p' (które domyślnie są wyłączone)
ctags --c-kinds=+l+p --list-kinds=c	:: włączenie dla języka C tagów z rodzajem 'l' i 'p' (które domyślnie są wyłączone)

ctags --c-kinds --c-kinds=vf --list-kinds=c		:: wyłączenie wszystkich rodzajów tagów, a potem włączenie tylko 'v' i 'f'
ctags --c-kinds --c-kinds=+vf --list-kinds=c	:: wyłączenie wszystkich rodzajów tagów, a potem włączenie tylko 'v' i 'f'
ctags --c-kinds --c-kinds=+v+f --list-kinds=c	:: wyłączenie wszystkich rodzajów tagów, a potem włączenie tylko 'v' i 'f'

ctags --regex-c=/a/a/ --c-kinds --list-kinds=c		:: nowy rodzaj tagu 'r' pozostaje włączony
ctags --regex-c=/a/a/v/ --c-kinds --list-kinds=c	:: nowy rodzaj tagu 'v' pozostaje włączony

ctags --regex-c=/a/a/v/ --c-kinds=v --list-kinds=c	:: nowy rodzaj tagu 'v' pozostaje włączony
ctags --regex-c=/a/a/v/ --c-kinds=+v --list-kinds=c	:: nowy rodzaj tagu 'v' pozostaje włączony
ctags --regex-c=/a/a/v/ --c-kinds=-v --list-kinds=c	:: nowy rodzaj tagu 'v' pozostaje włączony

ctags --langdef=new --list-kinds=new							:: nowy język 'new' nie ma żadnych rodzajów tagów
ctags --langdef=new ctags --regex-new=/a/a/ --list-kinds=new	:: nowy rodzaj tagu 'r' pozostaje włączony

ctags --langdef=new ctags --regex-new=/a/a/ --new-kinds --list-kinds=new	:: wyłączenie wszystkich rodzajów tagów
ctags --langdef=new ctags --regex-new=/a/a/ --new-kinds=-r --list-kinds=new	:: wyłączenie nowego rodzaj tagu 'r'

ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/ --list-kinds=new				:: dwa nowe rodzaj tagu 'r' pozostają włączone
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/ --new-kinds --list-kinds=new	:: wyłączenie wszystkich rodzajów tagów
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/ --new-kinds=-r --list-kinds=new	:: wyłączenie dwóch nowych rodzajów tagu 'r'
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/ --new-kinds=r --list-kinds=new	:: włączenie tylko tych tagów z rodzajem 'r'
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/ --new-kinds=+r --list-kinds=new	:: włączenie dodatkowych tagów z rodzajem 'r'

ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/v/ --list-kinds=new								:: dwa nowe rodzaj tagu 'r' i 'v' pozostają włączone
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/v/ --new-kinds --list-kinds=new					:: wyłączenie wszystkich rodzajów tagów
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/v/ --new-kinds=-r --list-kinds=new				:: wyłączenie nowego rodzajów tagu 'r'
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/v/ --new-kinds=-v --list-kinds=new				:: wyłączenie nowego rodzajów tagu 'v'
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/v/ --new-kinds=-rv --list-kinds=new				:: wyłączenie nowego rodzajów tagu 'r' i 'v'
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/v/ --new-kinds=r --list-kinds=new				:: włączenie tylko tych tagów z rodzajem 'r'
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/v/ --new-kinds=v --list-kinds=new				:: włączenie tylko tych tagów z rodzajem 'v'
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/v/ --new-kinds=rv --list-kinds=new				:: włączenie tylko tych tagów z rodzajem 'r' i 'v'
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/v/ --new-kinds --new-kinds=+r --list-kinds=new	:: włączenie dodatkowych tagów z rodzajem 'r'
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/v/ --new-kinds --new-kinds=+v --list-kinds=new	:: włączenie dodatkowych tagów z rodzajem 'v'
ctags --langdef=new --regex-new=/a/a/ --regex-new=/a/a/v/ --new-kinds --new-kinds=+rv --list-kinds=new	:: włączenie dodatkowych tagów z rodzajem 'r' i 'v'

:: Błędne przypadki

ctags ---kinds
ctags --cos-kinds
ctags --c-kinds=a

ctags --regex-c=/a/a/ --c-kinds=r
ctags --regex-c=/a/a/ --c-kinds=+r
ctags --regex-c=/a/a/ --c-kinds=-r
Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

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