Exuberant Ctags#
Program ctags#
--append#
Argument --append
nakazuje programowi ctags, aby tagi z bieżącej generacji zostały dołączone do już istniejących tagów w pliku indeksu (to samo, co argument -a
) lub całkowicie je zastępowały (domyślnie). Jeśli przekazano jakieś argumenty path
to argument --append
musi pojawić się jeszcze przed pierwszym takim argumentem, aby w ogóle zadziałał. Argument --append
to jeden z odroczonych argumentów.
Opis działania#
Prawidłowe użycie argumentu najlepiej objaśnić na zapisie składniowym:
ctags --append[=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 sposób dodawania tagów do pliku indeksu (wielkość znaków nie ma znaczenia):
"yes"
,"on"
,"1"
lub""
- dołącza tagi z bieżącej generacji do już istniejących tagów w pliku indeksu. Jeśli plik indeksu nie istnieje to najpierw zostanie on utworzony, ale bez początkowych pseudo tagów. Alternatywnie można skorzystać z identycznie działającego skróconego argumentu-a
.Jeśli któryś z wygenerowanych tagów istniał już w pliku indeksu to nie zostanie do niego dodany, co ma zapobiec występowaniu zduplikowanych tagów. Warto podkreślić, że porównuje się całe tagi, a nie tylko ich nazwy i/lub ścieżki, dlatego dwa tagi różniące się choćby jednym znakiem stanowią osobne tagi.
"no"
,"off"
lub"0"
- tworzy nowy plik indeksu dla tagów z bieżącej generacji (włącznie z początkowymi pseudo tagami). Jest to domyślne zachowanie i jest ono równoznaczne z brakiem przekazania argumentu--append
.
- 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).
Trzeba wyraźnie zaznaczyć, że argument --append=yes
nie zadziała w sytuacji, kiedy tagi z bieżącej generacji spróbujemy wyświetlić do standardowego wyjścia poprzez argument -f -
, -o -
, -x
lub --filter
, o czym zostaniemy poinformowani stosownym komunikatem "ctags: append mode is not compatible with tags to stdout"
.
Prosty przykład:
ctags --append=yes *
ctags --append=on *
ctags --append=1 *
ctags --append="" *
ctags --append= *
ctags --append *
ctags -a *
ctags --append=no *
ctags --append=off *
ctags --append=0 *
ctags *
ctags --append=yes -R
ctags -R --append=yes
ctags --append=yes test.js test.html
ctags --append=yes --append=no test.js
ctags --append=no --append=yes test.js
ctags --append=yes -Lpliki
ctags -Lpliki --append=yes
:: Błędne przypadki
ctags --append
ctags --append=cos
ctags --append=" "
ctags * --append=yes
ctags test.js --append=yes
ctags --append -f - *