Powerline: В теме оболочки Powerline по умолчанию больше не отображается ветка git справа

Созданный на 13 окт. 2016  ·  15Комментарии  ·  Источник: powerline/powerline

Здравствуйте,

Недавно я установил powerline в новую установку ArchLinux для ноутбука и по какой-то причине использую тему оболочки по умолчанию, ветки git больше не отображаются справа от терминала. На моем экране довольно много места для его отображения, но оно не появляется. Я даже пробовал с "priority": None который всегда должен показывать, но это тоже не сработало.

Версия Powerline : 2.5.1
ОС : Archlinux
Установлено : Pacman, менеджер пакетов дистрибутива.

Я переименовал тему оболочки по умолчанию в lef.json и внес некоторые изменения, чтобы гарантировать, что она будет получена, и изменения будут внесены, чтобы мы могли быть уверены, что Powerline распознает, проанализирует и использует эти файлы.

config.json

{
    "common": {
        "term_truecolor": false
    },
    "ext": {
        "ipython": {
            "colorscheme": "default",
            "theme": "in",
            "local_themes": {
                "rewrite": "rewrite",
                "out": "out",
                "in2": "in2"
            }
        },
        "pdb": {
            "colorscheme": "default",
            "theme": "default"
        },
        "shell": {
            "colorscheme": "default",
            "theme": "lef",
            "local_themes": {
                "continuation": "continuation",
                "select": "select"
            }
        },
        "tmux": {
            "colorscheme": "default",
            "theme": "default"
        },
        "vim": {
            "colorscheme": "default",
            "theme": "default",
            "local_themes": {
                "__tabline__": "tabline",

                "cmdwin": "cmdwin",
                "help": "help",
                "quickfix": "quickfix",

                "powerline.matchers.vim.plugin.nerdtree.nerdtree": "plugin_nerdtree",
                "powerline.matchers.vim.plugin.commandt.commandt": "plugin_commandt",
                "powerline.matchers.vim.plugin.gundo.gundo": "plugin_gundo",
                "powerline.matchers.vim.plugin.gundo.gundo_preview": "plugin_gundo-preview"
            }
        },
        "wm": {
            "colorscheme": "default",
            "theme": "default"
        }
    }
}

тема lef.json (в основном скопируйте и вставьте default.json для оболочки)

{
    "segments": {
        "left": [
            {
                "function": "powerline.segments.shell.mode"
            },
            {
                "function": "powerline.segments.common.net.hostname",
                "priority": 10
            },
            {
                "function": "powerline.segments.common.env.user",
                "priority": 30
            },
            {
                "function": "powerline.segments.common.env.virtualenv",
                "priority": 50
            },
            {
                "function": "powerline.segments.shell.cwd",
                "priority": 10
            },
            {
                "function": "powerline.segments.shell.jobnum",
                "priority": 20
            }
        ],
        "right": [
            {
                "function": "powerline.segments.shell.last_pipe_status",
                "priority": 10
            },
            {
                "function": "powerline.segments.common.vcs.stash",
                "priority": 50
            },
            {
                "function": "powerline.segments.common.vcs.branch",
                "priority": 40
            }
        ]
    }
}

Мы будем очень благодарны за любую идею о том, как решить эту проблему.

VCS support cshell bug

Самый полезный комментарий

@LefterisJP аааа ... только что нашел другие документы, в которых говорится, что bash не поддерживает подсказки с правой стороны. Это объясняет, почему тема оболочки по умолчанию не работает. Я собираюсь использовать тему default_leftonly.

Вы используете bash или другую оболочку? Если первое, то, вероятно, это причина, по которой он не работает и для вас.

Все 15 Комментарий

Что выводит git status ? Можете ли вы попробовать запустить powerline.lib.vcs.guess вручную в интерактивном сеансе Python?

@ s-ol git status и git branch работают должным образом. Я нахожусь в репозитории git.

Но powerline.lib.vcs.guess не работает из интерактивного сеанса Python. Или, по крайней мере, я предполагаю, что это не работает, потому что возвращает пустой объект. Я не очень разбираюсь во внутреннем устройстве Powerline, поэтому позвольте мне просто вставить его здесь:

Python2:

Python 2.7.12 (default, Jun 28 2016, 08:31:05)
[GCC 6.1.1 20160602] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import powerline.lib.vcs as vcs
>>> vcs.guess(".", False)
<powerline.lib.vcs.git.Repository object at 0x7f495258aeb0>
>>> a = vcs.guess(".", False)
>>> a.__dict__
{}

Python3:

Python 3.5.2 (default, Jun 28 2016, 08:46:01)
[GCC 6.1.1 20160602] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import powerline.lib.vcs as vcs
>>> vcs.guess(".", False)
<powerline.lib.vcs.git.Repository object at 0x7f93f665ce58>
>>> a = vcs.guess(".", False)
>>> a.__dict__
{}

@LefterisJP Почему вы думаете, что он пустой? __dict__ - не единственное место, где могут содержаться атрибуты объекта. Фактически, там _должно быть_ атрибутов, рассматриваемый класс использует __slots__ .

Эта функция не может вернуть «пустой» объект, она возвращает либо пригодный для использования репозиторий, либо None.

Хотите знать, перезагрузили ли вы демон после внесения изменений в конфигурацию (при использовании zsh + zpython перезапустите zsh или используйте powerline-reload-config ).

@ ZyX-I Понятно. Не знал о питоне __slots__ . Спасибо за это!

Так:

>>> a.__slots__
('directory', 'create_watcher')

У меня нет запущенного демона. Я просто:

source /usr/lib/python2.7/site-packages/powerline/bindings/zsh/powerline.zsh

в моем .zshrc .

Таким образом, на другом моем компьютере он долгое время работал нормально. Не думаю, что когда-либо использовал демона.

@LefterisJP Вы уже решили эту

@LefterisJP аааа ... только что нашел другие документы, в которых говорится, что bash не поддерживает подсказки с правой стороны. Это объясняет, почему тема оболочки по умолчанию не работает. Я собираюсь использовать тему default_leftonly.

Вы используете bash или другую оболочку? Если первое, то, вероятно, это причина, по которой он не работает и для вас.

Я использую zsh, а не bash. У меня не было времени изучать эту проблему, но она все еще существует. Как вы также заметили, при использовании default_leftonly.json ветви появляются слева, но при обычном значении по умолчанию их нет.

такая же проблема на Mac OS Sierra, +1

Просто установил powerline на мою Arch и могу подтвердить, что тема по умолчанию не отображает ветки git. Переход на тему default_leftonly решает проблему.

Та же проблема с zsh.
Решается убийством всех зависших процессов powerline-daemon .

Для меня также был необходим переход на default_leftonly , и поскольку в остальном у меня не было необходимости или интереса к настройке, а документы в основном ориентированы на это, я закончил тем, что создал только файл конфигурации для изменения темы: https://github.com/powerline/powerline/issues/186#issuecomment -247810572 и powerline-daemon -q --replace после применения конфигурации (обратите внимание на -q здесь, чтобы создать его в фоновом режиме!).

Я изменил свою тему для vim на default_leftonly и все равно ничего ...

Я также изрядно потрудился, чтобы выбрать правильную конфигурацию. Как только все получилось, я написал эту статью, в которой рассказывается о настройке Powerline. Я надеюсь, что это помогает.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

guyzmo picture guyzmo  ·  5Комментарии

avermaet picture avermaet  ·  4Комментарии

ssbanerje picture ssbanerje  ·  6Комментарии

yyandrew picture yyandrew  ·  5Комментарии

adamk33n3r picture adamk33n3r  ·  4Комментарии