Django bash completion позволяет выполнять заглавные команды django-admin.py и manage.py в bash.Можно ли использовать заполнение Django bash в zsh
Существуют сценарии автозаполнения для zsh
для django, но они не работают с пользовательскими командами. Один из них находится в проекте oh-my-zsh.
Я также в курсе bashcompinit
но это не похоже на работу с Джанго-администратора, производя следующее сообщение об ошибке:
./manage.py Traceback (most recent call last):
File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
utility.execute()
File "lib/python2.7/site-packages/django/core/management/__init__.py", line 356, in execute
self.autocomplete()
File "lib/python2.7/site-packages/django/core/management/__init__.py", line 266, in autocomplete
cwords = os.environ['COMP_WORDS'].split()[1:]
File "bin/../lib/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'COMP_WORDS'
Можно ли иметь завершение оргии Django работает с Zsh? Или есть еще одна альтернатива, которая позволила бы использовать пользовательские команды администратора django.
Кажется, что 'emulate' с обработкой подоболочки путают zsh. Например: '() {A = (a b c); эмулировать -L sh; (A = "$ {A [*]}" printenv A)} 'ничего не печатает, и в этом конкретном случае он вызывает KeyError:" COMP_WORDS ". Но '() {A = (a b c); эмулировать -L zsh; (A = "$ {A [*]}" printenv A)} 'prints 'a b c'. Из-за этого поведения на zsh я использую 'env (1) 'для автоматического экспорта' COMP_WORDS' на мой ответ. – hchbaw
Спасибо, это работает – bmihelac
Эта ошибка zsh была рассмотрена недавно, поэтому нам не нужна эта работа для предстоящих новых выпусков zsh (может быть, 5.0.8?). – hchbaw