Я бы хотел использовать команду helm-semantic-or-imenu для навигации по компонентам аннотированного кода Python типа, но какой бы анализатор кода не использовался для идентификации компонентов, кажется, не распознает аннотированный код Python типа. Функции с аннотацией возвращаемого типа не распознаются вообще, а функции с аннотированными аргументами показывают тип вместо имен аргументов в сигнатурах
Основная проблема, с которой я столкнулся, заключается в том, что я неправильно понимаю компоненты, участвующие в выполнении этой работы (когда она работает). Очевидно, это может помочь как-то обновить анализатор кода, но в каком проекте я нахожу это? шлем? семантическая? imenu? или как кто-то упоминал где-то еще в отношении анализа кода python.el? Я мог бы действительно использовать некоторую помощь, чтобы начать решать эту проблему. Если анализатор кода найден в python.el, могу ли я тогда попытаться изменить и заставить emacs использовать локальную версию преимущественно над установленной?
EDIT:
После первоначальной публикации я, наконец, прорвался, пытаясь выяснить, откуда берутся компоненты. Я искал python * .el во всей файловой системе и обнаружил:
. / USR / доли / Emacs / 26,2 / лепет / Cedet / семантического / зубр / python.elc
./usr/share/emacs/26.2/lisp/cedet/semantic/wisent/python-wy.elc
Я нашел источник для emacs 26.2 и обнаружил, что действительно кажется, что python-el отвечает за синтаксический анализ файлов python для семантики. Он также внутренне использует python-wy для распознавания большой части языковых компонентов. Но, к сожалению, именно здесь я ударился о кирпичную стену. Я надеялся, что смогу исправить функцию, которая распознает определение функции через re или что-то еще, но семантика фактически решает проблему правильным путем . Таким образом, python-wy, кажется, автоматически генерируется из файла определения формальной грамматики (в emacs git admin / grammars / python.wy) и выясняет, как изменить , что , к сожалению, намного выше моих возможностей.