Powerline: Powerlineのデフォルトのシェルテーマで、右側にgitブランチが表示されなくなりました

作成日 2016年10月13日  ·  15コメント  ·  ソース: powerline/powerline

こんにちは、

最近、新しいラップトップArchLinuxインストールにpowerlineをインストールし、何らかの理由でデフォルトのシェルテーマを使用して、ターミナルの右側にgitブランチが表示されなくなりました。 画面には表示するスペースがかなりありますが、表示されません。 "priority": Noneで試してみましたが、常に表示されるはずですが、それも機能しませんでした。

電力線バージョン:2.5.1
OS :Archlinux
インストール者:Distroのパッケージマネージャー、Pacman

デフォルトのシェルテーマの名前をlef.json変更し、いくつかの変更を加えて、それらのファイルが確実に認識、解析、使用されるように、変更が反映されるようにしました。

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 ahhh ... bashが右側のプロンプトをサポートしていないと言っている他のドキュメントを見つけました。 これが、デフォルトのシェルテーマが機能しなかった理由を説明しています。 先に進み、default_leftonlyテーマを使用します。

bashまたは別のシェルを使用していますか。 前者の場合、おそらくそれがあなたにとっても機能しない理由です。

全てのコメント15件

git statusは何を出力しますか? インタラクティブなPythonセッションでpowerline.lib.vcs.guess手動で実行してみてください。

@ s-ol git statusgit branchは期待どおりに機能します。 私はgitリポジトリにいます。

ただし、 powerline.lib.vcs.guessは、インタラクティブなPythonセッションからは機能しません。 または、少なくとも、空のオブジェクトを返すため、機能しないと思います。 電力線の内部についてはよくわかりませんので、ここに貼り付けてください。

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-なるほど。 Pythonの__slots__について知りません

そう:

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

デーモンを実行していません。 私はただ持っています:

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

私の.zshrc

このように、それは私の他のコンピュータで長い間うまく機能していました。 デーモンを使ったことがあるとは思いません。

@LefterisJPこれは

@LefterisJP ahhh ... bashが右側のプロンプトをサポートしていないと言っている他のドキュメントを見つけました。 これが、デフォルトのシェルテーマが機能しなかった理由を説明しています。 先に進み、default_leftonlyテーマを使用します。

bashまたは別のシェルを使用していますか。 前者の場合、おそらくそれがあなたにとっても機能しない理由です。

私はbashではなくzshを使用しています。 この問題をさらに調べる時間はありませんでしたが、まだそこにあります。 default_leftonly.jsonを使用してお気づきのように、ブランチは左側に表示されますが、通常のデフォルトでは表示されません。

mac os sierraで同じ問題、+ 1

Archにpowerlineをインストールしたところ、デフォルトのテーマに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 、まだ何もありません...

また、正しい構成を見つけるのにかなり苦労しました。 それが正しくなった後、私は電力線のセットアップを通してガイドするこの記事を書きました。 お役に立てば幸いです。

このページは役に立ちましたか?
0 / 5 - 0 評価