Я получаю некоторые разочаровывающие завершение и переход к определению результаты с ropemacs в местах, где я использую несколько привязок имен к одному и тому же объекту.
Принимая во внимание мой придуманный и стилистически сложный пример кода, приведенный ниже, кто-нибудь знает, почему веревка не будет отображать дополнения или результаты определения?
Пример кода проекта:
from Package import BigObjectWithLotsOfMethods
class GLOBAL:
variable = None
big = BigObjectWithLotsOfMethods()
GLOBAL.variable = big
Рассматриваемое поведение Emacs:
Когда я ввожу:
big.
, затем введите M - / , я получаю список подходящих имен методов, как и ожидалось.Ура для веревки!
Еще с другой стороны, когда я ввожу:
GLOBAL.variable.
например, а затем набираю M - / Я получаю следующее в Emacsминибуфер:
Completions for GLOBAL.variable.: [No Match]
Кроме того, представьте себе, fire()
был метод BigObjectWithLotsOfMethods
, тогда набрав Cc g в коде GLOBAL.variable.fire()
не требуетсяВ соответствии с определением fire()
, как и ожидалось, в минимафере Emacs просто выводится следующее:
Cannot find the definition!
Поскольку GLOBAL.variable
представляет просто другое имя, связывающее экземпляр BigObjectWithLotsOfMethods
, я удивлен, что веревкане делает что-то умное, например выводит определение из того, что ему известно о big
.
Вопрос:
Почему такой явно тривиальный уровень поддержки кодаСамоанализ при наличии нескольких имен привязки не работает под веревкой?Я упускаю что-то фундаментальное в моей конфигурации проекта веревки, которая обращается к этому, например?
Любая помощь с благодарностью получена.