Exuberant Ctags#
Program ctags#
--filter#
Argument --filter
dla bieżącego wywołania programu ctags przechodzi w tryb pobierania informacji ze standardowego wejścia, gdzie po przekazaniu jakiejś ścieżki do pliku/folderu od razu wygenerowane zostaną dla niej tagi, po czym nastąpi ich zwrócenie do standardowego wyjścia.
Opis działania#
Prawidłowe użycie argumentu najlepiej objaśnić na zapisie składniowym:
ctags --filter[=value] [--argument | -argument] [path]
gdzie poszczególne człony oznaczają:
- ctags - ścieżka względna lub bezwzględna do pliku binarnego programu ctags (
ctags.exe
). Wszystko zależy od sposobu uruchamiania programu ctags, np. z systemowej konsoli, ze skrótu do programu czy z innego programu/skryptu. value - jedna z dwóch wartości logicznych wpływająca na tryb pobierania informacji ze standardowego wejścia (wielkość znaków nie ma znaczenia):
"yes"
,"on"
,"1"
lub""
- włącza tryb pobierania informacji ze standardowego wejścia dla bieżącego wywołania programu ctags. Można opuścić ten tryb wciskając kombinację klawiszyCtrl+Z
, a następnie zatwierdzając wyjście klawiszemEnter
(tylko pod Windowsem)."no"
,"off"
lub"0"
- tryb pobierania informacji ze standardowego wejścia dla bieżącego wywołania programu pozostaje wyłączony. Jest to domyślne zachowanie i jest ono równoznaczne z brakiem przekazania argumentu--filter
.
- argument - jeden lub więcej dodatkowych argumentów dostrajających działanie programu ctags.
- path - jedna lub więcej dodatkowych ścieżek do plików/folderów, które będą analizowane przy generowaniu tagów (szczegóły).
Kilka uwag odnośnie stosowania argumentu --filter
:
- Argument
--filter
można podawać wielokrotnie (separatorem jest spacja), i każdy kolejny będzie miał wpływ tylko na te pliki, które występują bezpośrednio po nim. - Jeśli przekażemy wiele argumentów
--filter
jeszcze przed analizowanym plikiem/folderem to decydujący będzie tylko ten ostatni. - Jeśli argumentem
--filter
aktywujemy tryb pobierania informacji ze standardowego wejścia jeszcze przed pierwszym analizowanym plikiem/folderem (w dowolnym miejscu jednego z wariantów konfiguracyjnych), to najpierw przetworzone zostaną pozostałe argumenty występujące za nim, efekt tego procesu zostanie wyświetlony do standardowego wyjścia, i dopiero po tych czynnościach nastąpi przejście do standardowego wejścia. - W trybie pobierania informacji ze standardowego wejścia można podawać zarówno ścieżki do plików/folderów, jaki i pozostałe argumenty obsługiwane przez program ctags (chociaż z pewnymi ograniczeniami)
- Jeśli w bieżącym wywołaniu programu ctags prawidłowo użyjemy argumentu
--filter
w połączeniu z argumentem--append
i/lub-a
to program ctags przerwie swoje działanie zwracając jedynie komunikat"ctags: append mode is not compatible with tags to stdout"
. - Za pomocą argumentu
filter−terminator
można zdefiniować dodatkowy separator tekstowy, jaki będzie dodawany na samym końcu tych tagów, które wygenerowano dla plików/folderów wprowadzonych bezpośrednio do standardowego wejścia.
Prosty przykład:
ctags --filter=yes :: stdin włączone
ctags --filter=on
ctags --filter=1
ctags --filter=""
ctags --filter=
ctags --filter
ctags --filter=no * :: stdin wyłączone
ctags --filter=off *
ctags --filter=0 *
ctags *
ctags --filter=yes --filter=no * :: stdin wyłączone
ctags -filter=no --filter=yes * :: stdin włączone
ctags --filter=yes test.js test.html :: wyświetlenie tagów dla obu plików do stdout i wejście do stdin
:: zapisanie tagów do pliku indeksu dla pliku 'test.js', wyświetlenie tagów do stdout dla pliku 'test.html', i wejście do stdin
ctags test.js --filter=yes test.html
ctags --filter=yes -R :: włączenie rekursywnego analizowania folderów i wejście do stdin
ctags -R --filter=yes :: włączenie rekursywnego analizowania folderów i wejście do stdin
:: Błędne przypadki
ctags --filter=cos
ctags --filter=" "
ctags --filter=no
ctags --filter=off
ctags --filter=0
ctags --filter -a
ctags --filter --append
Pasek społecznościowy