Подтвердить что ты не робот

Как "перейти к определению" для пользовательской функции в Лексах?

Я могу сделать это для системных функций, таких как const, выбрав его, щелкнув правой кнопкой мыши и выбрав поиск (метаданные). То же самое не работает для пользовательских функций.

Как вы делаете такой поиск?

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

Vim + ctags работают только для пользовательских функций и не так сильны, как cscope для источника c/С++.

4b9b3361

Ответ 1

Я попробовал то, что вы сказали с пользовательскими функциями, и он отлично работает для меня. Я выбираю имя функции, щелчок правой кнопкой мыши, поиск (метаданные) и отображается на вкладке поиска справа. Затем я нажимаю "перейти к определению", и это меня доводит до определения. Может быть, вам стоит попробовать перезапустить Leksah? Я заметил, что иногда он не распознает функции сразу, когда я их пишу, но если вы его перезапустите, он их узнает.

Ответ 2

Вам нужно использовать "Обновить данные рабочей области" в меню "Конфигурация" - Leksah не индексирует созданные пользователем функции до тех пор, пока вы это не сделаете (или перезапустите компилятор). Ярлык по умолчанию под Windows - это Ctrl + M.

Ответ 3

Это решение может быть полностью отключено, потому что я не использую Haskell, но ack-grep работает для вас? Я нашел, что это очень полезно для выполнения погружений в коде.

Я вижу в документации, что он поддерживает haskell.

Я полагаю, вы использовали бы: ack --haskell user_function