use abort argument for :function

This commit is contained in:
itchyny
2014-12-24 14:47:30 +09:00
parent 983d3075c1
commit b82c7ac54e
4 changed files with 42 additions and 42 deletions

View File

@@ -3,7 +3,7 @@
" Version: 0.0 " Version: 0.0
" Author: itchyny " Author: itchyny
" License: MIT License " License: MIT License
" Last Change: 2014/06/17 08:01:40. " Last Change: 2014/12/17 00:13:36.
" ============================================================================= " =============================================================================
let s:save_cpo = &cpo let s:save_cpo = &cpo
@@ -11,7 +11,7 @@ set cpo&vim
let s:_ = 1 let s:_ = 1
function! lightline#update() function! lightline#update() abort
if s:_ | call lightline#init() | call lightline#colorscheme() | endif if s:_ | call lightline#init() | call lightline#colorscheme() | endif
if !s:lightline.enable.statusline | return | endif if !s:lightline.enable.statusline | return | endif
let w = winnr() let w = winnr()
@@ -22,16 +22,16 @@ function! lightline#update()
endfor endfor
endfunction endfunction
function! lightline#update_once() function! lightline#update_once() abort
if !exists('w:lightline') || w:lightline | call lightline#update() | endif if !exists('w:lightline') || w:lightline | call lightline#update() | endif
endfunction endfunction
function! lightline#update_disable() function! lightline#update_disable() abort
if !s:lightline.enable.statusline | return | endif if !s:lightline.enable.statusline | return | endif
call setwinvar(1, '&statusline', '') call setwinvar(1, '&statusline', '')
endfunction endfunction
function! lightline#enable() function! lightline#enable() abort
call lightline#colorscheme() call lightline#colorscheme()
call lightline#update() call lightline#update()
if s:lightline.enable.tabline | set tabline=%!lightline#tabline() | endif if s:lightline.enable.tabline | set tabline=%!lightline#tabline() | endif
@@ -47,7 +47,7 @@ function! lightline#enable()
augroup! LightLineDisable augroup! LightLineDisable
endfunction endfunction
function! lightline#disable() function! lightline#disable() abort
let [&statusline, &tabline] = [get(s:, '_statusline', ''), get(s:, '_tabline', '')] let [&statusline, &tabline] = [get(s:, '_statusline', ''), get(s:, '_tabline', '')]
for t in range(1, tabpagenr('$')) for t in range(1, tabpagenr('$'))
for n in range(1, tabpagewinnr(t, '$')) for n in range(1, tabpagewinnr(t, '$'))
@@ -64,11 +64,11 @@ function! lightline#disable()
augroup END augroup END
endfunction endfunction
function! lightline#toggle() function! lightline#toggle() abort
if exists('#LightLine') | call lightline#disable() | else | call lightline#enable() | endif if exists('#LightLine') | call lightline#disable() | else | call lightline#enable() | endif
endfunction endfunction
function! lightline#init() function! lightline#init() abort
let s:lightline = deepcopy(get(g:, 'lightline', {})) let s:lightline = deepcopy(get(g:, 'lightline', {}))
for k in ['active', 'inactive', 'tabline', 'tab', 'mode_map', 'mode_fallback', 'enable', for k in ['active', 'inactive', 'tabline', 'tab', 'mode_map', 'mode_fallback', 'enable',
\ 'component', 'component_visible_condition', 'component_function', 'component_expand', 'component_type', \ 'component', 'component_visible_condition', 'component_function', 'component_expand', 'component_type',
@@ -124,7 +124,7 @@ function! lightline#init()
let s:mode = '' let s:mode = ''
endfunction endfunction
function! lightline#colorscheme() function! lightline#colorscheme() abort
try try
let s:lightline.palette = g:lightline#colorscheme#{s:lightline.colorscheme}#palette let s:lightline.palette = g:lightline#colorscheme#{s:lightline.colorscheme}#palette
catch catch
@@ -139,16 +139,16 @@ function! lightline#colorscheme()
endtry endtry
endfunction endfunction
function! lightline#palette() function! lightline#palette() abort
return s:lightline.palette return s:lightline.palette
endfunction endfunction
function! lightline#mode() function! lightline#mode() abort
return get(s:lightline.mode_map, mode(), s:lightline.mode_map['?']) return get(s:lightline.mode_map, mode(), s:lightline.mode_map['?'])
endfunction endfunction
let s:mode = '' let s:mode = ''
function! lightline#link(...) function! lightline#link(...) abort
let mode = get(s:lightline._mode_, a:0 ? a:1 : mode(), 'normal') let mode = get(s:lightline._mode_, a:0 ? a:1 : mode(), 'normal')
if s:mode == mode | return '' | endif if s:mode == mode | return '' | endif
let s:mode = mode let s:mode = mode
@@ -188,11 +188,11 @@ function! lightline#link(...)
return '' return ''
endfunction endfunction
function! s:term(l) function! s:term(l) abort
return len(a:l) == 5 && type(a:l[4]) == 1 && strlen(a:l[4]) ? 'term='.a:l[4].' cterm='.a:l[4].' gui='.a:l[4] : '' return len(a:l) == 5 && type(a:l[4]) == 1 && strlen(a:l[4]) ? 'term='.a:l[4].' cterm='.a:l[4].' gui='.a:l[4] : ''
endfunction endfunction
function! s:uniq(l) function! s:uniq(l) abort
let [l,i,s] = [a:l,0,{}] let [l,i,s] = [a:l,0,{}]
while i < len(l) while i < len(l)
let k = string(l[i]) let k = string(l[i])
@@ -205,7 +205,7 @@ function! s:uniq(l)
return l return l
endfunction endfunction
function! lightline#highlight(...) function! lightline#highlight(...) abort
let [c, f, g] = [s:lightline.palette, s:lightline.mode_fallback, s:lightline.component_type] let [c, f, g] = [s:lightline.palette, s:lightline.mode_fallback, s:lightline.component_type]
if (has('win32') || has('win64')) && !has('gui_running') if (has('win32') || has('win64')) && !has('gui_running')
for u in values(c) for u in values(c)
@@ -273,13 +273,13 @@ function! lightline#highlight(...)
endfor endfor
endfunction endfunction
function! s:subseparator(x, y, s, a, b) function! s:subseparator(x, y, s, a, b) abort
let [c, f, v] = [ s:lightline.component, s:lightline.component_function, s:lightline.component_visible_condition ] let [c, f, v] = [ s:lightline.component, s:lightline.component_function, s:lightline.component_visible_condition ]
return '%{('.(a:a?"1":has_key(f,a:x)?'!!strlen(exists("*'.f[a:x].'")?'.f[a:x].'():"")':get(v,a:x,has_key(c,a:x)?"1":"0")).')*(('.join(map(range(len(a:y)), return '%{('.(a:a?"1":has_key(f,a:x)?'!!strlen(exists("*'.f[a:x].'")?'.f[a:x].'():"")':get(v,a:x,has_key(c,a:x)?"1":"0")).')*(('.join(map(range(len(a:y)),
\'(a:b[v:val]?"1":has_key(f,a:y[v:val])?"!!strlen(exists(\"*".f[a:y[v:val]]."\")?".f[a:y[v:val]]."():\"\")":get(v,a:y[v:val],has_key(c,a:y[v:val])?"1":"0"))'),')+(')."))?('".a:s."'):''}" \'(a:b[v:val]?"1":has_key(f,a:y[v:val])?"!!strlen(exists(\"*".f[a:y[v:val]]."\")?".f[a:y[v:val]]."():\"\")":get(v,a:y[v:val],has_key(c,a:y[v:val])?"1":"0"))'),')+(')."))?('".a:s."'):''}"
endfunction endfunction
function! lightline#concatenate(x, s) function! lightline#concatenate(x, s) abort
let [_, k, s] = ['', 0, ' ' . [s:lightline.subseparator.left, s:lightline.subseparator.right][!!a:s] . ' '] let [_, k, s] = ['', 0, ' ' . [s:lightline.subseparator.left, s:lightline.subseparator.right][!!a:s] . ' ']
for i in range(len(a:x)) for i in range(len(a:x))
let [_, k] = [_ . a:x[i], k || len(a:x[i])] let [_, k] = [_ . a:x[i], k || len(a:x[i])]
@@ -288,12 +288,12 @@ function! lightline#concatenate(x, s)
return _ return _
endfunction endfunction
function! lightline#statusline(inactive) function! lightline#statusline(inactive) abort
if a:inactive && !has_key(s:highlight, 'inactive') | call lightline#highlight('inactive') | endif if a:inactive && !has_key(s:highlight, 'inactive') | call lightline#highlight('inactive') | endif
return s:line(0, a:inactive) return s:line(0, a:inactive)
endfunction endfunction
function! s:_expand(a, c, _, e, t, i, j, x) function! s:_expand(a, c, _, e, t, i, j, x) abort
try try
let r = exists('*'.a:e[a:x[a:i][a:j]]) ? eval(a:e[a:x[a:i][a:j]] . '()') : '' let r = exists('*'.a:e[a:x[a:i][a:j]]) ? eval(a:e[a:x[a:i][a:j]] . '()') : ''
if type(r) == 1 && r == '' | return | endif if type(r) == 1 && r == '' | return | endif
@@ -321,7 +321,7 @@ function! s:_expand(a, c, _, e, t, i, j, x)
endfor endfor
endfunction endfunction
function! s:expand(x) function! s:expand(x) abort
let [e, t, d, f] = [ s:lightline.component_expand, s:lightline.component_type, s:lightline.component, s:lightline.component_function ] let [e, t, d, f] = [ s:lightline.component_expand, s:lightline.component_type, s:lightline.component, s:lightline.component_function ]
let [a, c, _] = [[], [], []] let [a, c, _] = [[], [], []]
for i in range(len(a:x)) for i in range(len(a:x))
@@ -343,7 +343,7 @@ function! s:expand(x)
return [a, c, _] return [a, c, _]
endfunction endfunction
function! s:line(tabline, inactive) function! s:line(tabline, inactive) abort
let _ = a:tabline ? '' : '%{lightline#link()}' let _ = a:tabline ? '' : '%{lightline#link()}'
if s:lightline.palette == {} | call lightline#colorscheme() | endif if s:lightline.palette == {} | call lightline#colorscheme() | endif
let [l, r] = a:tabline ? [s:lightline.tab_llen, s:lightline.tab_rlen] : [s:lightline.llen, s:lightline.rlen] let [l, r] = a:tabline ? [s:lightline.tab_llen, s:lightline.tab_rlen] : [s:lightline.llen, s:lightline.rlen]
@@ -377,13 +377,13 @@ function! s:line(tabline, inactive)
endfunction endfunction
let [s:tabnrs, s:tabnr, s:tabline] = [-1, -1, ''] let [s:tabnrs, s:tabnr, s:tabline] = [-1, -1, '']
function! lightline#tabline() function! lightline#tabline() abort
if !has_key(s:highlight, 'tabline') | call lightline#highlight('tabline') | endif if !has_key(s:highlight, 'tabline') | call lightline#highlight('tabline') | endif
if [s:tabnrs, s:tabnr] != [tabpagenr('$'), tabpagenr()] | let [s:tabnrs, s:tabnr, s:tabline] = [tabpagenr('$'), tabpagenr(), s:line(1, 0)] | endif if [s:tabnrs, s:tabnr] != [tabpagenr('$'), tabpagenr()] | let [s:tabnrs, s:tabnr, s:tabline] = [tabpagenr('$'), tabpagenr(), s:line(1, 0)] | endif
return s:tabline return s:tabline
endfunction endfunction
function! lightline#tabs() function! lightline#tabs() abort
let [t, l, x, y, z, u, d] = [tabpagenr(), tabpagenr('$'), [], [], [], '...', min([max([winwidth(0) / 40, 2]), 8])] let [t, l, x, y, z, u, d] = [tabpagenr(), tabpagenr('$'), [], [], [], '...', min([max([winwidth(0) / 40, 2]), 8])]
for i in range(1, l) for i in range(1, l)
call add(i<t?(x):i==t?(y):z, '%'.i.'T%{lightline#onetab('.i.','.(i==t).')}'.(i==l?'%T':'')) call add(i<t?(x):i==t?(y):z, '%'.i.'T%{lightline#onetab('.i.','.(i==t).')}'.(i==l?'%T':''))
@@ -393,7 +393,7 @@ function! lightline#tabs()
\ a>d&&b>d ? extend(add(z[:(d+1)/2-1],u),z[-d/2:]) : a+b<=c||b<=d ? z : extend(add(z[:(c-a+1)/2-1],u),z[-(c-a)/2:])] \ a>d&&b>d ? extend(add(z[:(d+1)/2-1],u),z[-d/2:]) : a+b<=c||b<=d ? z : extend(add(z[:(c-a+1)/2-1],u),z[-(c-a)/2:])]
endfunction endfunction
function! lightline#onetab(n, active) function! lightline#onetab(n, active) abort
let [_, a] = ['', s:lightline.tab[a:active ? 'active' : 'inactive']] let [_, a] = ['', s:lightline.tab[a:active ? 'active' : 'inactive']]
let [c, f] = [s:lightline.tab_component, s:lightline.tab_component_function ] let [c, f] = [s:lightline.tab_component, s:lightline.tab_component_function ]
for i in range(len(a)) for i in range(len(a))
@@ -403,7 +403,7 @@ function! lightline#onetab(n, active)
return _ return _
endfunction endfunction
function! lightline#error(msg) function! lightline#error(msg) abort
echohl ErrorMsg | echomsg 'lightline.vim: '.a:msg | echohl None echohl ErrorMsg | echomsg 'lightline.vim: '.a:msg | echohl None
endfunction endfunction

View File

@@ -3,7 +3,7 @@
" Version: 0.0 " Version: 0.0
" Author: itchyny " Author: itchyny
" License: MIT License " License: MIT License
" Last Change: 2014/06/17 11:31:23. " Last Change: 2014/12/17 00:14:04.
" ============================================================================= " =============================================================================
let s:save_cpo = &cpo let s:save_cpo = &cpo
@@ -109,7 +109,7 @@ let s:guicolor = {
\ 'green' : '#859900', \ 'green' : '#859900',
\ } \ }
function! s:convert(rgb) function! s:convert(rgb) abort
let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)') let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)')
if len(rgb) == 0 if len(rgb) == 0
return 0 return 0
@@ -127,7 +127,7 @@ function! s:convert(rgb)
endif endif
endfunction endfunction
function! s:black(x) function! s:black(x) abort
if a:x < 0x04 if a:x < 0x04
return 16 return 16
elseif a:x > 0xf4 elseif a:x > 0xf4
@@ -140,15 +140,15 @@ function! s:black(x)
endif endif
endfunction endfunction
function! s:nr(x) function! s:nr(x) abort
return a:x < 0x2f ? 0 : a:x < 0x73 ? 1 : a:x < 0x9b ? 2 : a:x < 0xc7 ? 3 : a:x < 0xef ? 4 : 5 return a:x < 0x2f ? 0 : a:x < 0x73 ? 1 : a:x < 0x9b ? 2 : a:x < 0xc7 ? 3 : a:x < 0xef ? 4 : 5
endfunction endfunction
function! s:rgb(r, g, b) function! s:rgb(r, g, b) abort
return printf("#%02x%02x%02x", a:r, a:g, a:b) return printf("#%02x%02x%02x", a:r, a:g, a:b)
endfunction endfunction
function! s:upconvert(nr) function! s:upconvert(nr) abort
let x = a:nr * 1 let x = a:nr * 1
if x < 7 if x < 7
let [b, rg] = [x / 4, x % 4] let [b, rg] = [x / 4, x % 4]
@@ -181,7 +181,7 @@ function! s:upconvert(nr)
endif endif
endfunction endfunction
function! lightline#colorscheme#fill(p) function! lightline#colorscheme#fill(p) abort
for k in values(a:p) for k in values(a:p)
for l in values(k) for l in values(k)
for m in l for m in l
@@ -207,7 +207,7 @@ function! lightline#colorscheme#fill(p)
return a:p return a:p
endfunction endfunction
function! lightline#colorscheme#flatten(p) function! lightline#colorscheme#flatten(p) abort
for k in values(a:p) for k in values(a:p)
for l in values(k) for l in values(k)
for m in range(len(l)) for m in range(len(l))

View File

@@ -3,13 +3,13 @@
" Version: 0.0 " Version: 0.0
" Author: itchyny " Author: itchyny
" License: MIT License " License: MIT License
" Last Change: 2014/11/18 09:52:16. " Last Change: 2014/12/17 00:13:56.
" ============================================================================= " =============================================================================
let s:save_cpo = &cpo let s:save_cpo = &cpo
set cpo&vim set cpo&vim
function! s:load() function! s:load() abort
let rgbfile = $VIMRUNTIME . '/rgb.txt' let rgbfile = $VIMRUNTIME . '/rgb.txt'
let table = {} let table = {}
if filereadable(rgbfile) if filereadable(rgbfile)
@@ -22,12 +22,12 @@ endfunction
let s:table = s:load() let s:table = s:load()
function! lightline#colortable#name_to_rgb(name) function! lightline#colortable#name_to_rgb(name) abort
let name = tolower(a:name) let name = tolower(a:name)
return has_key(s:table, name) ? s:table[name] : [] return has_key(s:table, name) ? s:table[name] : []
endfunction endfunction
function! lightline#colortable#gui2cui(rgb, fallback) function! lightline#colortable#gui2cui(rgb, fallback) abort
let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)') let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)')
if len(rgb) == 0 if len(rgb) == 0
let rgb = lightline#colortable#name_to_rgb(a:rgb) let rgb = lightline#colortable#name_to_rgb(a:rgb)

View File

@@ -3,30 +3,30 @@
" Version: 0.0 " Version: 0.0
" Author: itchyny " Author: itchyny
" License: MIT License " License: MIT License
" Last Change: 2014/06/17 11:31:07. " Last Change: 2014/12/17 00:13:51.
" ============================================================================= " =============================================================================
let s:save_cpo = &cpo let s:save_cpo = &cpo
set cpo&vim set cpo&vim
function! lightline#tab#filename(n) function! lightline#tab#filename(n) abort
let buflist = tabpagebuflist(a:n) let buflist = tabpagebuflist(a:n)
let winnr = tabpagewinnr(a:n) let winnr = tabpagewinnr(a:n)
let _ = expand("#".buflist[winnr - 1].":t") let _ = expand("#".buflist[winnr - 1].":t")
return strlen(_) ? _ : '[No Name]' return strlen(_) ? _ : '[No Name]'
endfunction endfunction
function! lightline#tab#modified(n) function! lightline#tab#modified(n) abort
let winnr = tabpagewinnr(a:n) let winnr = tabpagewinnr(a:n)
return gettabwinvar(a:n, winnr, '&modified') ? '+' : gettabwinvar(a:n, winnr, '&modifiable') ? '' : '-' return gettabwinvar(a:n, winnr, '&modified') ? '+' : gettabwinvar(a:n, winnr, '&modifiable') ? '' : '-'
endfunction endfunction
function! lightline#tab#readonly(n) function! lightline#tab#readonly(n) abort
let winnr = tabpagewinnr(a:n) let winnr = tabpagewinnr(a:n)
return gettabwinvar(a:n, winnr, '&readonly') ? 'RO' : '' return gettabwinvar(a:n, winnr, '&readonly') ? 'RO' : ''
endfunction endfunction
function! lightline#tab#tabnum(n) function! lightline#tab#tabnum(n) abort
return a:n return a:n
endfunction endfunction