use call extend()

This commit is contained in:
itchyny
2013-08-22 21:35:59 +09:00
parent 7f909c1cb9
commit 796ca7fa62

View File

@@ -3,7 +3,7 @@
" Version: 0.0
" Author: itchyny
" License: MIT License
" Last Change: 2013/08/22 19:31:24.
" Last Change: 2013/08/22 21:31:50.
" =============================================================================
let s:save_cpo = &cpo
@@ -30,22 +30,23 @@ endfunction
function! lightline#init()
let g:lightline = get(g:, 'lightline', {})
let g:lightline.active = get(g:lightline, 'active', {})
call extend(g:lightline.active, {
\ 'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'readonly', 'filename', 'modified' ] ],
\ 'right': [ [ 'lineinfo' ], [ 'percent' ], [ 'fileformat', 'fileencoding', 'filetype' ] ] }, 'keep')
let g:lightline.inactive = get(g:lightline, 'inactive', {})
let g:lightline.active.left = get(g:lightline.active, 'left', [ [ 'mode', 'paste' ], [ 'fugitive', 'readonly', 'filename', 'modified' ] ])
let g:lightline.inactive.left = get(g:lightline.inactive, 'left', [ [ 'filename' ] ])
let g:lightline.active.right = get(g:lightline.active, 'right', [ [ 'lineinfo' ], [ 'percent' ], [ 'fileformat', 'fileencoding', 'filetype' ] ])
let g:lightline.inactive.right = get(g:lightline.inactive, 'right', [ [ 'lineinfo' ], [ 'percent' ] ])
let g:lightline._mode_map = {
\ 'n' : 'NORMAL', 'i' : 'INSERT', 'R' : 'REPLACE', 'v' : 'VISUAL', 'V' : 'V-LINE',
\ 'c' : 'COMMAND', '': 'V-BLOCK', 's' : 'SELECT', 'S' : 'S-LINE', '': 'S-BLOCK', '?': ' ' }
call extend(g:lightline.inactive, {
\ 'left': [ [ 'filename' ] ],
\ 'right': [ [ 'lineinfo' ], [ 'percent' ] ] }, 'keep')
let g:lightline.mode_map = get(g:lightline, 'mode_map', {})
for [k, v] in items(g:lightline._mode_map)
let g:lightline.mode_map[k] = get(g:lightline.mode_map, k, v)
endfor
call extend(g:lightline.mode_map, {
\ 'n' : 'NORMAL', 'i' : 'INSERT', 'R' : 'REPLACE', 'v' : 'VISUAL',
\ 'V' : 'V-LINE', 'c' : 'COMMAND', '': 'V-BLOCK', 's' : 'SELECT',
\ 'S' : 'S-LINE', '': 'S-BLOCK', '?': ' ' }, 'keep')
let g:lightline._mode_ = {
\ 'n' : 'normal', 'i' : 'insert', 'R' : 'replace', 'v' : 'visual', 'V' : 'visual',
\ 'c' : 'command', '': 'visual', 's' : 'select', 'S' : 'select', '': 'select', }
let g:lightline._component = {
\ 'c' : 'command', '': 'visual', 's' : 'select', 'S' : 'select', '': 'select' }
let g:lightline.component = get(g:lightline, 'component', {})
call extend(g:lightline.component, {
\ 'mode': '%{lightline#mode()}',
\ 'filename': '%t',
\ 'modified': '%M',
@@ -56,32 +57,19 @@ function! lightline#init()
\ 'filetype': '%{strlen(&filetype)?&filetype:"no ft"}',
\ 'percent': '%3p%%',
\ 'lineinfo': '%3l:%-2v',
\ 'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}' }
let g:lightline.component = get(g:lightline, 'component', {})
for [k, v] in items(g:lightline._component)
let g:lightline.component[k] = get(g:lightline.component, k, v)
endfor
let g:lightline._component_flag = {
\ 'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}' }, 'keep')
let g:lightline.component_flag = get(g:lightline, 'component_flag', {})
call extend(g:lightline.component_flag, {
\ 'modified': '(&modified||!&modifiable)',
\ 'readonly': '(&readonly)',
\ 'paste': '(&paste)',
\ 'fugitive': '(exists("*fugitive#head")&&strlen(fugitive#head()))' }
let g:lightline.component_flag = get(g:lightline, 'component_flag', {})
for [k, v] in items(g:lightline._component_flag)
let g:lightline.component_flag[k] = get(g:lightline.component_flag, k, v)
endfor
\ 'fugitive': '(exists("*fugitive#head")&&strlen(fugitive#head()))' }, 'keep')
let g:lightline.component_func = get(g:lightline, 'component_func', {})
let g:lightline.separator = get(g:lightline, 'separator', {})
let g:lightline.separator.left = get(g:lightline.separator, 'left', '')
let g:lightline.separator.right = get(g:lightline.separator, 'right', '')
call extend(g:lightline.separator, { 'left': '', 'right': '' }, 'keep')
let g:lightline.subseparator = get(g:lightline, 'subseparator', {})
let g:lightline.subseparator.left = get(g:lightline.subseparator, 'left', '|')
let g:lightline.subseparator.right = get(g:lightline.subseparator, 'right', '|')
let g:lightline.palette = get(g:lightline, 'palette', {})
let g:lightline.colorscheme = get(g:lightline, 'colorscheme', 'default')
for m in ['normal', 'insert', 'replace', 'visual', 'inactive']
let g:lightline.palette[m] = get(g:lightline.palette, m, {})
endfor
call extend(g:lightline.subseparator, { 'left': '|', 'right': '|' }, 'keep')
call extend(g:lightline, { 'palette': {}, 'colorscheme': 'default' }, 'keep')
try
let g:lightline.palette = g:lightline#colorscheme#{g:lightline.colorscheme}#palette
catch