2017-09-13 8 views
1

Python 표준 라이브러리 용 ctags 파일을 생성하려고합니다. 파이썬 프로젝트에 추가하여 표준 라이브러리 함수에 대한 올바른 태그 지정/강조 표시를 얻을 수 있습니다. 변수에 대한 태그를 생성하고 싶지는 않습니다. 그러면 태그 파일이 커지고 실제로 함수와 클래스 이름 만 신경 써야하기 때문입니다. 그러나 Exuberant Ctags는 가변 태그를 사용하지 않기를 바라는 모든 요청을 무시하는 것처럼 보입니다. 여전히 kind:v의 항목이 많이 포함 된 태그 파일을 생성합니다.Exuberant ctags가 python-kinds 옵션을 무시합니다.

이것은 내가 무성한 Ctags는 실행 방법은 다음과 같습니다

cd /usr/lib/python3.5 
sudo chmod o+w . 
ctags --languages=python --python-kinds=-vi --tag-relative=yes -f ./tags --recurse --fields=+iaSszt --extra=+q . 

(ctags를 현재 디렉토리에있는 태그 파일을 만들 수 있도록 나는 일시적으로 /usr/lib/python3.5 세계 쓰기를하게합니다; I 이 태그 파일을 Vim 플러그인 TagHighlight와 함께 사용하기 때문에 --tag-relative를 사용합니다.) 나 또한 포함하는 ~/.ctags 파일을 생성하려고 시험 삼아

Array1Glob  test/pystone.py /^Array1Glob = [0]*51$/;"  kind:v 
Array2Glob  test/pystone.py /^Array2Glob = [x[:] for x in [Array1Glob]*51]$/;"  kind:v 
ArrayProxy  multiprocessing/managers.py  /^ArrayProxy = MakeProxyType('ArrayProxy', ($/;"  kind:v 
ArticleInfo  nntplib.py  /^ArticleInfo = collections.namedtuple('ArticleInfo',$/;"  kind:v 
... 
Attribute  inspect.py  /^Attribute = namedtuple('Attribute', 'name kind defining_class object')$/;" kind:v 
AttributeList xml/dom/minidom.py  /^AttributeList = NamedNodeMap$/;"  kind:v 
AttributesImpl xml/sax/expatreader.py /^AttributesImpl = xmlreader.AttributesImpl$/;" kind:v 
AttributesImpl xml/sax/xmlreader.py /^class AttributesImpl:$/;"  kind:c inherits: 
AttributesNSImpl  xml/sax/expatreader.py /^AttributesNSImpl = xmlreader.AttributesNSImpl$/;"  kind:v 

:

그리고 여기가 태그에서 일부 샘플 라인 어쨌든 내 옵션 및 인덱스 변수를 무시 것을 보여주는, 그것은 생산하는 파일입니다 "- python-kinds = -vi"를 명령 줄에서 전달하는 대신에 차이는 없습니다.

무슨 일 이니? python-kinds=-vi이 무시되는 이유는 무엇입니까?

답변

0

이것은 Exuberant Ctag의 a bug이며 대신 universal-ctags을 사용할 수 있습니다.

이 버그는 universal-ctags에서 이미 fixed입니다.

+0

글쎄, 그것은 exuberant - ctags 그냥 깨진지만 실망 스럽지만, 알려진 버그가 내게 주셔서 감사합니다. – Edward