При использовании Icicles в emacs, как мне получить * просто * определение с помощью поиска тегов? - PullRequest
2 голосов
/ 18 февраля 2011

В vanilla emacs я загружаю файл TAGS и выполняю поиск символа с помощью «M-.».Я иду прямо к определению символа.

При использовании Сосульки я получаю 374 попадания для одного и того же символа.В то время как я теоретически могу медленно убрать не слона, чтобы найти то, что я хочу, это боль, и в итоге я просто отключаю сосульки для поиска тега и снова включаю его.

Есть ли способ сообщить сосулькам, что я просто хочу определить, когда я делаю поиск тегов, а не каждое соответствующее совпадение в файле тегов?

Например, я мог бы найти определениеструктура task_struct в исходном коде ядра Linux.Я вижу много определений формы:

struct task_struct taskInfo;

struct task_struct info;

но все, что мне нужно, это одно определение:

struct task_struct {

Хотя я могу "отколоть не слона", слоны здесь очень похожи, и трудно судить по результатам поискачто мне нужны только строки с фигурной скобкой после имени, и фигурная фигурная скобка могла бы быть в любом случае на другой строке, так что нет никакой гарантии даже, что это правильный способ нарезать результаты.

I 'Я также видел функции-члены класса, появляющиеся при использовании Icicles, и я хотел бы, чтобы их было проще отключить.

Пробовал читать вики emacs и поиск в Интернете, но у меня не быломного удачи просто в поиске "тегов emacs icicles".

Ответы [ 3 ]

1 голос
/ 28 апреля 2011

Если ванильный М-.делает то, что вы хотите, не icicle-find-first-tag' also do what you want? (Notice the -первый.)

http://www.emacswiki.org/emacs/Icicles_-_Emacs_Tags_Enhancements#icicle-find-first-tag

0 голосов
/ 16 марта 2011

Советы относительно find-tag не совсем то, что я искал.Вместо этого мне нужен способ получить определение иногда и ссылки иногда.Я обнаружил, что cscope и плагин xcscope.el сделали то, что мне было нужно (и CEDET также сделал нечто подобное для решения моей проблемы)

0 голосов
/ 20 февраля 2011

Я не использую сосульки, поэтому я не знаю, сработает ли это на самом деле, но повернись и дай мне знать.

(defadvice find-tag (around my-thawed-find-tag)
  "Disable icicles when finding tags."
  (let ((icy-state icy-mode))
    (if (not (equal (icy-mode 0)))
        (progn
          (icy-mode 0)
          ad-do-it
          (icy-mode icy-state))
      ad-do-it)))
(ad-activate 'find-tag)
...