2016-05-23 5 views
2

ctagsで私の責任あるプロジェクトからタグを生成しようとしています。しかし、それはまだ正しい文字列を選択していません。ベロは私が協力しているパラです。私は何が欠けていますか?正常に実行された後、私はすべてのタスク名を含む./.tagsファイルを持つことを期待しています。私はHomebrewからctags 5.8を使用しています。可能なプロジェクトのためのctags

はところで私はここで開始 - http://blog.iany.me/2015/02/ctags-for-ansible/

コマンド/usr/local/Cellar/ctags/5.8_1/bin/ctags -f .tags --recurse .

./.ctagsを例タスクがファイル

--langdef=ansible 
--langmap=ansible:.yml.yaml 
--regex-ansible=/^[ \t]*-[ \t]*name:[ \t]*([\w\s]+)\n/\1/i 
--languages=+ansible 

--- 
- name: install docker-py 
    pip: name=docker-py version=1.7.2 
    become: yes 

- name: Install tmux 
    yum: 
    name: tmux 
    state: present 
    update_cache: yes 
    become: yes 

私はctagsを主張しません。私の目標は、私のAnsibleプロジェクトをすばやく飛び越えるために使用できるAtomエディタのシンボルを持つことです。

答えて

2

リンク先のページの例に戻って機能させました。 Homebrewからctagsをインストールする前に、私が不必要な変更を行ったと思います。

0

ctagsコマンドのさまざまな実装があります。 GNU Emacsので配信ctagsを使用して

は、私は次のように成功を収めて:

ctags --language=none --regex='^[ \t]*-[ \t]*name:[ \t]*\(.*?\)[ \t]*$' *.yml roles/*/tasks/*.yml roles/*/handlers/*.yml 

これはetagsでも動作します。

0

universal-ctagsには、不可能なプレイブックサポートが組み込まれています(ただし、不完全です)。

[[email protected]]~/var/ctags% cat foo.yml 
--- 
- name: install docker-py 
    pip: name=docker-py version=1.7.2 
    become: yes 

- name: Install tmux 
    yum: 
    name: tmux 
    state: present 
    update_cache: yes 
    become: yes 
[[email protected]]~/var/ctags% ./ctags --version     
Universal Ctags 0.0.0(5567535e), Copyright (C) 2015 Universal Ctags Team 
Universal Ctags is derived from Exuberant Ctags. 
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert 
    Compiled: Jul 26 2017, 04:24:17 
    URL: https://ctags.io/ 
    Optional compiled features: +wildcards, +regex, +multibyte, +option-directory, +xpath, +json, +interactive, +sandbox, +yaml, +aspell 
[[email protected]]~/var/ctags% ./ctags --fields=+Kl -o - foo.yml 
Install tmux foo.yml /^- name: Install tmux$/;" play language:AnsiblePlaybook 
install docker-py foo.yml /^- name: install docker-py$/;" play language:AnsiblePlaybook 
関連する問題