Получить тип возврата предлагаемой функции в джедае

Я пытаюсь улучшить способ отображения завершений Python с помощью YouCompleteMe (который использует Jedi). В настоящее время он просто показывает завершение и "полный путь":

capitalize          function: __builtin__.str.capitalize
center              function: __builtin__.str.center
count               function: __builtin__.str.count

В идеале я хотел бы, чтобы он показывал сигнатуру и предполагаемый тип возврата для функций (как у вас с дополнениями C/C++).

Есть ли способ получить из объекта jedi.api.classes.Completion (который представляет функцию) к типу возврата этой функции?

Джедай где-то хранит эту информацию, так как если вы вызываете эту функцию и выполняете ее, obj.function().|он знает какой тип function возвращается и предлагает правильные дополнения.

1 ответ

Решение

В настоящее время нет такого API. Такой API определенно был бы возможен, но учтите, что иногда эти типы различаются в зависимости от ваших параметров (это не Java).

Просто добавьте вопрос на Github, чтобы обсудить это: https://github.com/davidhalter/jedi/issues

Это не большая вещь для реализации, это гораздо больше о том, как выглядит API.

Другие вопросы по тегам