ctags не индексирует все слова, которые я хочу - PullRequest
0 голосов
/ 08 мая 2011

Я пытаюсь проиндексировать мое приложение rails с помощью ctags, чтобы vim мог дать мне автозаполнение. Однако ctags не индексирует все слова, особенно мой вызов внешней библиотеки. Например: У меня есть этот файл:

class MultipleChoice < ActiveRecord::Base
  has_many :options, :class_name => 'MultipleChoiceOption', :foreign_key => :parent_id, :dependent => :destroy
  accepts_nested_attributes_for :options, :allow_destroy => true

  def question
    Question.find_by_data_id_and_data_type(id, MultipleChoice.name)
  end

  def randomized_options
    (0...options.size).to_a.shuffle.map{|index| [index, options[index]]}
  end

  def realized_answer(user_answer)
    user_answer.blank? ? nil : options[user_answer.to_i].content
  end

  def answer
    options.detect{|o| o.correct}.content
  rescue => e
    HoptoadNotifier.notify(
      :error_class   => "MultipleChoice",
      :error_message => "Exception while call #answer: #{e.message}",
      :parameters    => {:multiple_choice_id => self.id}
    )
    nil
  end
end

Тогда ctags будет индексировать MultipleChoice (имя класса), ответ (имя метода), но не HoptoadNotifier.

Я индексирую с ctags -R *

Можно ли сказать, что ctags проиндексировал их все?

1 Ответ

0 голосов
/ 16 июня 2011

Во-первых, убедитесь, что у вас есть источник HoptoadNotifier где-то в вашем каталоге приложений rails. Итак, давайте предположим, что в вашем каталоге у вас есть это:

/railsapp/vendor/plugins/hoptoad_notifier/lib

где будет храниться источник HoptoadNotifier.

Затем выполните следующие команды:

cd /railsapp
ctags -R --tag-relative=yes

Это создаст файл в тегах railsapp / named и будет содержать информацию о тегах модуля HoptoadNotifier.

Я знаю, что это более или менее то, что вы уже сделали, поэтому я могу только предположить, что источник HoptoadNotifier не находится в вашей структуре каталогов, потому что я воссоздал это на своей машине, и он работал отлично. Вы также можете запустить ctags с "-V", чтобы выложить всю информацию об отладке и то, что она делает.

...