#haskell #ide #leksah
#haskell #ide #leksah
Вопрос:
Я могу сделать это для системных функций, например const
, выбрав его, щелкнув правой кнопкой мыши и выбрав поиск (метаданные). То же самое не работает для пользовательских функций.
Как вы выполняете такой поиск?
Если это невозможно для определяемых пользователем функций, как вы читаете уже существующий проект Haskell и переключаетесь между определениями и вызовами?
Vim ctags работают только для пользовательских функций и не такие мощные, как cscope для исходного кода c / c .
Комментарии:
1. Вы когда-нибудь находили решение? Пожалуйста, следите и публикуйте его, если вы нашли что-то лучше, чем ack.
2. @kobejohn Лучшего решения нет.
3. Нет, я использую vim haskellmode hoogle.
Ответ №1:
Я попробовал то, что вы сказали, с пользовательскими функциями, и у меня все работает нормально. Я выбираю название функции, щелкаю правой кнопкой мыши, выполняю поиск (метаданные), и она появляется на вкладке поиска справа. Затем я нажимаю «перейти к определению», и это приводит меня к определению. Может быть, вам стоит попробовать перезапустить Leksah? Я заметил, что иногда он не распознает функции сразу, как я их пишу, но если вы перезапустите его, он их распознает.
Ответ №2:
Вам нужно использовать «Обновить данные рабочей области» в меню «Конфигурация» — Leksah не индексирует созданные пользователем функции, пока вы этого не сделаете (или не перезапустите компилятор). Ярлык по умолчанию в Windows — Ctrl M.
Ответ №3:
Это решение может быть совершенно неуместным, потому что я не использую Haskell, но будет ли ack-grep работать для вас? Я нашел это очень полезным для выполнения погружений в код.
Я вижу в документации, что он поддерживает haskell.
Я полагаю, вы бы использовали: ack --haskell user_function