Powerline: لم تعد سمة الصدفة الافتراضية في Powerline تعرض فرع git على اليمين

تم إنشاؤها على ١٣ أكتوبر ٢٠١٦  ·  15تعليقات  ·  مصدر: powerline/powerline

مرحبا،

لقد قمت مؤخرًا بتثبيت powerline في تثبيت ArchLinux للكمبيوتر المحمول الجديد واستخدام سمة shell الافتراضية لسبب ما ، لم تعد فروع git تظهر على يمين الجهاز. توجد مساحة كبيرة جدًا على شاشتي لتظهر ولكنها لا تظهر. لقد حاولت حتى باستخدام "priority": None والذي يجب أن يظهره دائمًا ولكن هذا أيضًا لم ينجح.

إصدار باورلاين : 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 (نسخ لصق افتراضي لـ shell بشكل أساسي)

{
    "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.

هل تستخدم باش أو قذيفة أخرى. إذا كان الأول ، فمن المحتمل أن يكون هذا هو السبب في عدم نجاحه معك أيضًا.

ال 15 كومينتر

ماذا ينتج git status ؟ هل يمكنك محاولة تشغيل powerline.lib.vcs.guess يدويًا في جلسة بيثون تفاعلية؟

@ s-ol git status و git branch عمل كما هو متوقع. أنا في مستودع git.

لكن powerline.lib.vcs.guess لا يعمل من جلسة Python التفاعلية. أو على الأقل أفترض أنه لا يعمل لأنه يقوم بإرجاع كائن فارغ. لا أعرف الكثير عن باورلاين الداخلي ، لذا دعني ألصقه هنا من أجلك:

بايثون 2:

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__ .

لم تتمكن هذه الوظيفة من إرجاع عنصر "فارغ" ، فهي تقوم بإرجاع إما مستودع قابل للاستخدام أو لا شيء.

أتساءل عما إذا كنت قد أعدت تحميل البرنامج الخفي بعد إجراء تغييرات على التكوين (إذا كنت تستخدم zsh + zpython ، فأعد تشغيل zsh أو استخدم powerline-reload-config ).

@ ZyX - أنا فهمت. لا أعرف شيئًا عن الثعبان __slots__ . شكرا على ذلك!

وبالتالي:

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

ليس لدي شيطان قيد التشغيل. لدي فقط:

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

في .zshrc .

بهذه الطريقة كانت تعمل بشكل جيد لفترة طويلة في جهاز الكمبيوتر الآخر. لا أعتقد أنني استخدمت أيًا من البرامج الخفية من قبل.

LefterisJP هل تم حل هذه المشكلة بعد؟ من المثير للاهتمام إذا اخترت السمة default_leftonly.json لتكوين shell ، فستظهر فروع git في الموجه إلى اليسار. يبدو أن هناك شيئًا يمنع الجزء الأيمن من الظهور على الغلاف.

LefterisJP ahhh ... وجدت للتو مستندات أخرى تقول أن bash لا يدعم مطالبات الجانب الأيمن. وهذا يفسر سبب عدم عمل سمة الصدفة الافتراضية. سأستمر في استخدام السمة default_leftonly.

هل تستخدم باش أو قذيفة أخرى. إذا كان الأول ، فمن المحتمل أن يكون هذا هو السبب في عدم نجاحه معك أيضًا.

أنا أستخدم zsh وليس bash. لم يكن لديه وقت للنظر في هذه المشكلة ، لكنها لا تزال قائمة. كما لاحظت أيضًا باستخدام default_leftonly.json فإن الفروع تظهر على اليسار ، لكن مع الوضع الافتراضي العادي فإنها لا تظهر.

نفس المشكلة على mac os sierra ، +1

فقط قم بتثبيت powerline على Arch الخاص بي ويمكن أن تؤكد أن السمة الافتراضية لا تظهر فروع git. التبديل إلى default_leftonly theme يحل المشكلة.

نفس المشكلة مع 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 التقييمات