2015-10-22 4 views
0

Я использую jedi-vim для завершения, и это действительно хорошо. Но по какой-то причине у меня возникают проблемы с завершением для родительских объектов.Autocomplete для родительских объектов с jedi-vim

Например:

class A: 
    variable = 1 

class B(A): 
    # Won't find any pattern here, only __builtin__.vars 
    var # here I hit <C-space> 

Есть ли какие-либо настройки, которые я должен добавить в моем .vimrc или просто, как джедай работает? Я также копаю issue tracker и не нашел ничего полезного.

ответ

1

Говоря как автор джедая: Это то, что никогда не поддерживалось в джедаях. Возможно, это сработало, но это определенно не было проверено. Добавьте вопрос к трекеру.

Это немного похоже на https://github.com/davidhalter/jedi/issues/585. Это то, что не может быть завершено «обычным» способом. Это что-то, что из-за его семантики может (должно?) Быть включено.

+0

Спасибо за ответ. Я определенно добавлю проблему для этого. И что вы подразумеваете под «нормальным» способом? – valignatev

+0

Хороший вопрос. Это просто не определенное имя в этом классе. Это означает, что вы не можете написать 'x = variable', потому что переменная там не определена. Однако это может быть атрибут, который вы, возможно, захотите переписать. Поэтому имеет смысл завершить его. –

0

Это работает очень хорошо для меня.

Но я использую другую версию джедая.

узелок здесь: https://github.com/FBruynbroeck/jedi-vim

(Внимание, в конце класса B, вы написали «;» вместо «:»)

+0

Я редактирую мой пример, последний не работал из-за точки с запятой, как вы сказали. И ваш комплект отличается от оригинала только одной версией джедая? – valignatev

+1

Да, я понижаю версию джедая, потому что последняя версия не работает с другим пакетом (vim-buildout). – FBruynbroeck