Exuberant Ctags#

Program ctags#

--langmap#

Argument --langmap dla bieżącego wywołania programu ctags kontroluje stanem mapowań plików dla poszczególnych języków 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.

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 --langmap[=value] [--argument | -argument] [path]

gdzie poszczególne człony oznaczają:

Kilka uwag odnośnie stosowania argumentu --langmap:

Prosty przykład:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
ctags --langmap="" --list-maps			:: zignorowanie pustego argumentu '--langmap'
ctags --langmap= --list-maps			:: zignorowanie pustego argumentu '--langmap'
ctags --langmap --list-maps				:: zignorowanie pustego argumentu '--langmap'

ctags --langmap=c: --list-maps			:: wyczyszczenie mapowań dla języka C
ctags --langmap=c:,php: --list-maps		:: wyczyszczenie mapowań dla języka C i PHP

ctags --langmap=c:,php: --langmap=default --list-maps				:: przywrócenie domyślnych mapowań dla wszystkich języków
ctags --langmap=c:,php: --langmap=c:default --list-maps				:: przywrócenie domyślnych mapowań dla języka C
ctags --langmap=c:,php: --langmap=c:default,php:default --list-maps	:: przywrócenie domyślnych mapowań dla języka C i PHP

ctags --list-maps=c											:: lista mapowań dla języka C ma postać: *.c
ctags --langmap=c:.a.b --list-maps							:: lista mapowań dla języka C ma postać: *.a *.b
ctags --langmap=c:+.a.b --list-maps							:: lista mapowań dla języka C ma postać: *.c *.a *.b
ctags --langmap=c:.a+.b --list-maps							:: lista mapowań dla języka C ma postać: *.a+ *.b
ctags --langmap=c:(a)(b) --list-maps						:: lista mapowań dla języka C ma postać: a b
ctags --langmap=c:+(a)(b) --list-maps						:: lista mapowań dla języka C ma postać: *.c a b
ctags --langmap=c:+(+a)(+b) --list-maps						:: lista mapowań dla języka C ma postać: *.c +a +b

ctags --langmap=c:.java.htm.html --list-maps				:: ustawienie rozszerzeń .java, .htm i .html dla języka C
ctags --langmap=c:+.java.htm.html --list-maps				:: dodanie rozszerzeń .java, .htm i .html do języka C

ctags --langdef=new --list-maps								:: lista mapowań dla języka new jest pusta

ctags --langdef=new --langmap=new:. --list-maps				:: lista mapowań dla języka new ma postać: *.
ctags --langdef=new --langmap=new:.. --list-maps			:: lista mapowań dla języka new ma postać: *.
ctags --langdef=new --langmap=new:..a.b. --list-maps		:: lista mapowań dla języka new ma postać: *.a *.b *.
ctags --langdef=new --langmap=new:.a.b.c --list-maps		:: lista mapowań dla języka new ma postać: *.a *.b *.c
ctags --langdef=new --langmap=new:.a.b.b.a --list-maps		:: lista mapowań dla języka new ma postać: *.b *.a
ctags --langdef=new --langmap=new:.a[bc].[def] --list-maps	:: lista mapowań dla języka new ma postać: *.a[bc] *.[def]

ctags --langdef=new --langmap=new:(*.) --list-maps				:: lista mapowań dla języka new ma postać: *.
ctags --langdef=new --langmap=new:(abc) --list-maps				:: lista mapowań dla języka new ma postać: abc
ctags --langdef=new --langmap=new:(a)(b)(c) --list-maps			:: lista mapowań dla języka new ma postać: a b c
ctags --langdef=new --langmap=new:(a[bc])([def]) --list-maps	:: lista mapowań dla języka new ma postać: a[bc] [def]
ctags --langdef=new --langmap=new:(a)(a)(b)(b) --list-maps		:: lista mapowań dla języka new ma postać: a a b b

ctags --langdef=new --langmap=new:.a.b(c)(d) --list-maps		:: lista mapowań dla języka new ma postać: *.a *.b c d
ctags --langdef=new --langmap=new:(c)(d).a.b --list-maps		:: lista mapowań dla języka new ma postać: *.a *.b c d
ctags --langdef=new --langmap=new:.a(c).b(d) --list-maps		:: lista mapowań dla języka new ma postać: *.a *.b c d

ctags --langdef=new --langmap=new:.a(b) --langmap=default --list-maps		:: lista mapowań dla języka new jest pusta
ctags --langdef=new --langmap=new:.a(b) --langmap=new:default --list-maps	:: lista mapowań dla języka new jest pusta

:: Błędne przypadki

ctags --langmap=DEFAULT
ctags --langmap=html

ctags --langmap=cos
ctags --langmap=cos:

ctags --langmap=c:a, b
Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

Exuberant Ctags (H1) Program ctags (H2) --langmap (H3) Opis działania (H4)