Powerline: El tema de shell predeterminado de Powerline ya no muestra la rama git a la derecha

Creado en 13 oct. 2016  ·  15Comentarios  ·  Fuente: powerline/powerline

Hola,

Recientemente instalé powerline en una nueva instalación de ArchLinux portátil y usando el tema de shell predeterminado por alguna razón, las ramas de git ya no aparecen a la derecha de la terminal. Hay bastante espacio en mi pantalla para que aparezca, pero no aparece. Incluso probé con "priority": None que siempre debería mostrarlo, pero tampoco funcionó.

Versión Powerline : 2.5.1
SO : Archlinux
Instalado por : Pacman, el administrador de paquetes de la distribución

Cambié el nombre del tema de shell predeterminado a lef.json y realicé algunos cambios para asegurarme de que esté siendo recogido y los cambios estén siendo recogidos para que podamos estar seguros de que powerline reconoce, analiza y usa esos archivos.

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"
        }
    }
}

tema lef.json (básicamente copia y pega de default.json para 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
            }
        ]
    }
}

Cualquier idea sobre cómo abordar este problema será muy apreciada.

VCS support cshell bug

Comentario más útil

@LefterisJP ahhh ... acabo de encontrar algunos otros documentos que dicen que bash no admite las indicaciones del lado derecho. Eso explica por qué el tema de shell predeterminado no funcionó. Voy a seguir adelante y usar el tema default_leftonly.

¿Estás usando bash u otro shell? Si es el primero, probablemente esa sea la razón por la que no le está funcionando a usted también.

Todos 15 comentarios

¿Qué produce git status ? ¿Puedes intentar ejecutar powerline.lib.vcs.guess manualmente en una sesión interactiva de Python?

@ s-ol git status y git branch funcionan como se esperaba. Estoy en un repositorio de git.

Pero powerline.lib.vcs.guess no funciona desde una sesión interactiva de Python. O al menos supongo que no funciona porque devuelve un objeto vacío. No sé mucho sobre los componentes internos de la línea eléctrica, así que déjame pegarlo aquí para ti:

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 ¿Por qué crees que está vacío? __dict__ no es el único lugar donde pueden estar contenidos los atributos de los objetos. De hecho, _no debe haber_ atributos allí, la clase en cuestión está usando __slots__ .

Esta función no pudo devolver un objeto "vacío", devuelve Repositorio utilizable o Ninguno.

Se pregunta si ha vuelto a cargar el demonio después de realizar cambios en la configuración (si usa zsh + zpython, reinicie zsh o use powerline-reload-config ).

@ ZyX-I Oh, ya veo. No sabía nada de __slots__ Python. ¡Gracias por eso!

Entonces:

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

No tengo un demonio ejecutándose. Solo tengo:

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

en mi .zshrc .

De esta manera funcionó bien durante mucho tiempo en mi otra computadora. No creo que alguna vez haya usado un demonio.

@LefterisJP ¿

@LefterisJP ahhh ... acabo de encontrar algunos otros documentos que dicen que bash no admite las indicaciones del lado derecho. Eso explica por qué el tema de shell predeterminado no funcionó. Voy a seguir adelante y usar el tema default_leftonly.

¿Estás usando bash u otro shell? Si es el primero, probablemente esa sea la razón por la que no le está funcionando a usted también.

Estoy usando zsh y no bash. No tuve tiempo de seguir investigando este tema, pero sigue ahí. Como también notó al usar default_leftonly.json , las ramas aparecen a la izquierda, pero con el valor predeterminado normal no lo hacen.

mismo problema en mac os sierra, +1

Acabo de instalar powerline en mi Arch y puedo confirmar que el tema predeterminado no muestra las ramas de git. Cambiar al tema default_leftonly soluciona el problema.

El mismo problema con zsh.
Resuelto eliminando todos los procesos powerline-daemon colgantes.

Cambiar a default_leftonly era necesario para mí, y dado que de lo contrario no tenía necesidad ni interés en la personalización, y los documentos están principalmente orientados a eso, terminé solo creando un archivo de configuración para cambiar el tema: https://github.com/powerline/powerline/issues/186#issuecomment -247810572 y powerline-daemon -q --replace after para aplicar la configuración (tenga en cuenta el -q aquí para generarlo en segundo plano).

Cambié mi tema para vim a default_leftonly y todavía nada ...

También luché bastante para encontrar la configuración correcta. Una vez que lo hice bien, escribí este artículo guiando a uno a través de la configuración de la línea eléctrica. Espero que ayude.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

sbusch picture sbusch  ·  5Comentarios

ssbanerje picture ssbanerje  ·  6Comentarios

iamjboyd picture iamjboyd  ·  6Comentarios

sachevl picture sachevl  ·  3Comentarios

guyzmo picture guyzmo  ·  5Comentarios