ctags 옵션에 이어서 언어에 관련된 옵션들을 살펴본다.
1. --list-languages
ctags에서 인식하는 언어 목록을 나타낸다.
$ ctags --list-languages
Ant
Asm
Asp
Awk
Basic
BETA
C
C++
C#
Cobol
CSS
DosBatch
Eiffel
Erlang
Flex
Fortran
HTML
Java
JavaScript
Lisp
Lua
Make
MatLab
OCaml
Pascal
Perl
PHP
Python
REXX
Ruby
Scheme
Sh
SLang
SML
SQL
Tcl
Tex
Vera
Verilog
VHDL
Vim
YACC
2. --list-maps
ctags에서 인식하는 언어에 mapping 된 파일의 확장자 목록을 나타낸다.
$ ctags --list-maps
Ant *.build.xml
Asm *.asm *.ASM *.s *.S *.A51 *.29[kK] *.[68][68][kKsSxX] *.[xX][68][68]
Asp *.asp *.asa
Awk *.awk *.gawk *.mawk
Basic *.bas *.bi *.bb *.pb
BETA *.bet
C *.c
C++ *.c++ *.cc *.cp *.cpp *.cxx *.h *.h++ *.hh *.hp *.hpp *.hxx *.C *.H
C# *.cs
Cobol *.cbl *.cob *.CBL *.COB
CSS *.css
DosBatch *.bat *.cmd
Eiffel *.e
Erlang *.erl *.ERL *.hrl *.HRL
Flex *.as *.mxml
Fortran *.f *.for *.ftn *.f77 *.f90 *.f95 *.F *.FOR *.FTN *.F77 *.F90 *.F95
HTML *.htm *.html
Java *.java
JavaScript *.js
Lisp *.cl *.clisp *.el *.l *.lisp *.lsp
Lua *.lua
Make *.mak *.mk [Mm]akefile GNUmakefile
MatLab *.m
OCaml *.ml *.mli
Pascal *.p *.pas
Perl *.pl *.pm *.plx *.perl
PHP *.php *.php3 *.phtml
Python *.py *.pyx *.pxd *.pxi *.scons
REXX *.cmd *.rexx *.rx
Ruby *.rb *.ruby
Scheme *.SCM *.SM *.sch *.scheme *.scm *.sm
Sh *.sh *.SH *.bsh *.bash *.ksh *.zsh
SLang *.sl
SML *.sml *.sig
SQL *.sql
Tcl *.tcl *.tk *.wish *.itcl
Tex *.tex
Vera *.vr *.vri *.vrh
Verilog *.v
VHDL *.vhdl *.vhd
Vim *.vim
YACC *.y
3. --languages
--languages=C,C++ 은 지원하는 목록 중에서 C와 C++ 언어만 활성화하겠다는 의미이다.
ctags --languages=C,C++ --list-languages
Ant [disabled]
Asm [disabled]
Asp [disabled]
Awk [disabled]
Basic [disabled]
BETA [disabled]
C
C++
C# [disabled]
Cobol [disabled]
CSS [disabled]
DosBatch [disabled]
Eiffel [disabled]
Erlang [disabled]
Flex [disabled]
Fortran [disabled]
HTML [disabled]
Java [disabled]
JavaScript [disabled]
Lisp [disabled]
Lua [disabled]
Make [disabled]
MatLab [disabled]
OCaml [disabled]
Pascal [disabled]
Perl [disabled]
PHP [disabled]
Python [disabled]
REXX [disabled]
Ruby [disabled]
Scheme [disabled]
Sh [disabled]
SLang [disabled]
SML [disabled]
SQL [disabled]
Tcl [disabled]
Tex [disabled]
Vera [disabled]
Verilog [disabled]
VHDL [disabled]
Vim [disabled]
YACC [disabled]
위의 language list와 map list 그리고 활성/비활성 여부가 필요한 경우는 특정 ctags를 사용하여 TAG를 생성할 때 모든 파일을 대상으로 하지 않고 확장자를 특정하기 위해 사용된다.
--languages=C,C++ 옵션을 선택하면 아래 블록에 있는 확장자만 TAG를 진행하게 된다는 의미이다.
C *.c
C++ *.c++ *.cc *.cp *.cpp *.cxx *.h *.h++ *.hh *.hp *.hpp *.hxx *.C *.H
이점으로는 TAG 생성의 속도적 향상을 얻을 수 있고 TAG 추적 시 같은 언어의 키워드만 추적하여 정확도를 올릴 수 있다.
'IT > linux' 카테고리의 다른 글
gcc warning case 정리 (0) | 2022.09.05 |
---|---|
ClearCase 개요와 활용 (0) | 2022.09.05 |
ctags 옵션 / recursive, only c, c++, exclude (0) | 2022.09.04 |
RHEL HOME/END key bind (0) | 2022.09.04 |
csh stderr redirection (0) | 2022.09.04 |
댓글