mirror of
https://github.com/powerline/powerline.git
synced 2025-07-24 14:25:21 +02:00
Update vim renderer to handle all vim-specific stuff
This commit is contained in:
parent
e22a9241d0
commit
32f6893189
@ -2,14 +2,23 @@
|
|||||||
|
|
||||||
from powerline.renderer import Renderer
|
from powerline.renderer import Renderer
|
||||||
|
|
||||||
|
import vim
|
||||||
|
|
||||||
|
|
||||||
class VimRenderer(Renderer):
|
class VimRenderer(Renderer):
|
||||||
'''Powerline vim segment renderer.
|
'''Powerline vim segment renderer.
|
||||||
'''
|
'''
|
||||||
|
PERCENT_PLACEHOLDER = u''
|
||||||
|
|
||||||
def __init__(self, theme):
|
def __init__(self, theme):
|
||||||
super(VimRenderer, self).__init__(theme)
|
super(VimRenderer, self).__init__(theme)
|
||||||
self.hl_groups = {}
|
self.hl_groups = {}
|
||||||
|
|
||||||
|
def render(self, mode, width=None):
|
||||||
|
statusline = super(VimRenderer, self).render(mode, width)
|
||||||
|
statusline = statusline.replace(self.PERCENT_PLACEHOLDER, '%%')
|
||||||
|
return statusline
|
||||||
|
|
||||||
def hl(self, fg=None, bg=None, attr=None):
|
def hl(self, fg=None, bg=None, attr=None):
|
||||||
'''Highlight a segment.
|
'''Highlight a segment.
|
||||||
|
|
||||||
@ -57,4 +66,14 @@ class VimRenderer(Renderer):
|
|||||||
|
|
||||||
self.hl_groups[(fg, bg, attr)] = hl_group
|
self.hl_groups[(fg, bg, attr)] = hl_group
|
||||||
|
|
||||||
|
# Create highlighting group in vim
|
||||||
|
vim.command('hi {group} ctermfg={ctermfg} guifg={guifg} guibg={guibg} ctermbg={ctermbg} cterm={attr} gui={attr}'.format(
|
||||||
|
group=hl_group['name'],
|
||||||
|
ctermfg=hl_group['ctermfg'],
|
||||||
|
guifg='#{0:06x}'.format(hl_group['guifg']) if hl_group['guifg'] != 'NONE' else 'NONE',
|
||||||
|
ctermbg=hl_group['ctermbg'],
|
||||||
|
guibg='#{0:06x}'.format(hl_group['guibg']) if hl_group['guibg'] != 'NONE' else 'NONE',
|
||||||
|
attr=','.join(hl_group['attr']),
|
||||||
|
))
|
||||||
|
|
||||||
return '%#' + self.hl_groups[(fg, bg, attr)]['name'] + '#'
|
return '%#' + self.hl_groups[(fg, bg, attr)]['name'] + '#'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user