mirror of
https://github.com/itchyny/lightline.vim.git
synced 2025-11-15 15:03:51 -05:00
use abort argument for :function
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
" Version: 0.0
|
||||
" Author: itchyny
|
||||
" License: MIT License
|
||||
" Last Change: 2014/06/17 08:01:40.
|
||||
" Last Change: 2014/12/17 00:13:36.
|
||||
" =============================================================================
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
@@ -11,7 +11,7 @@ set cpo&vim
|
||||
|
||||
let s:_ = 1
|
||||
|
||||
function! lightline#update()
|
||||
function! lightline#update() abort
|
||||
if s:_ | call lightline#init() | call lightline#colorscheme() | endif
|
||||
if !s:lightline.enable.statusline | return | endif
|
||||
let w = winnr()
|
||||
@@ -22,16 +22,16 @@ function! lightline#update()
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! lightline#update_once()
|
||||
function! lightline#update_once() abort
|
||||
if !exists('w:lightline') || w:lightline | call lightline#update() | endif
|
||||
endfunction
|
||||
|
||||
function! lightline#update_disable()
|
||||
function! lightline#update_disable() abort
|
||||
if !s:lightline.enable.statusline | return | endif
|
||||
call setwinvar(1, '&statusline', '')
|
||||
endfunction
|
||||
|
||||
function! lightline#enable()
|
||||
function! lightline#enable() abort
|
||||
call lightline#colorscheme()
|
||||
call lightline#update()
|
||||
if s:lightline.enable.tabline | set tabline=%!lightline#tabline() | endif
|
||||
@@ -47,7 +47,7 @@ function! lightline#enable()
|
||||
augroup! LightLineDisable
|
||||
endfunction
|
||||
|
||||
function! lightline#disable()
|
||||
function! lightline#disable() abort
|
||||
let [&statusline, &tabline] = [get(s:, '_statusline', ''), get(s:, '_tabline', '')]
|
||||
for t in range(1, tabpagenr('$'))
|
||||
for n in range(1, tabpagewinnr(t, '$'))
|
||||
@@ -64,11 +64,11 @@ function! lightline#disable()
|
||||
augroup END
|
||||
endfunction
|
||||
|
||||
function! lightline#toggle()
|
||||
function! lightline#toggle() abort
|
||||
if exists('#LightLine') | call lightline#disable() | else | call lightline#enable() | endif
|
||||
endfunction
|
||||
|
||||
function! lightline#init()
|
||||
function! lightline#init() abort
|
||||
let s:lightline = deepcopy(get(g:, 'lightline', {}))
|
||||
for k in ['active', 'inactive', 'tabline', 'tab', 'mode_map', 'mode_fallback', 'enable',
|
||||
\ 'component', 'component_visible_condition', 'component_function', 'component_expand', 'component_type',
|
||||
@@ -124,7 +124,7 @@ function! lightline#init()
|
||||
let s:mode = ''
|
||||
endfunction
|
||||
|
||||
function! lightline#colorscheme()
|
||||
function! lightline#colorscheme() abort
|
||||
try
|
||||
let s:lightline.palette = g:lightline#colorscheme#{s:lightline.colorscheme}#palette
|
||||
catch
|
||||
@@ -139,16 +139,16 @@ function! lightline#colorscheme()
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
function! lightline#palette()
|
||||
function! lightline#palette() abort
|
||||
return s:lightline.palette
|
||||
endfunction
|
||||
|
||||
function! lightline#mode()
|
||||
function! lightline#mode() abort
|
||||
return get(s:lightline.mode_map, mode(), s:lightline.mode_map['?'])
|
||||
endfunction
|
||||
|
||||
let s:mode = ''
|
||||
function! lightline#link(...)
|
||||
function! lightline#link(...) abort
|
||||
let mode = get(s:lightline._mode_, a:0 ? a:1 : mode(), 'normal')
|
||||
if s:mode == mode | return '' | endif
|
||||
let s:mode = mode
|
||||
@@ -188,11 +188,11 @@ function! lightline#link(...)
|
||||
return ''
|
||||
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] : ''
|
||||
endfunction
|
||||
|
||||
function! s:uniq(l)
|
||||
function! s:uniq(l) abort
|
||||
let [l,i,s] = [a:l,0,{}]
|
||||
while i < len(l)
|
||||
let k = string(l[i])
|
||||
@@ -205,7 +205,7 @@ function! s:uniq(l)
|
||||
return l
|
||||
endfunction
|
||||
|
||||
function! lightline#highlight(...)
|
||||
function! lightline#highlight(...) abort
|
||||
let [c, f, g] = [s:lightline.palette, s:lightline.mode_fallback, s:lightline.component_type]
|
||||
if (has('win32') || has('win64')) && !has('gui_running')
|
||||
for u in values(c)
|
||||
@@ -273,13 +273,13 @@ function! lightline#highlight(...)
|
||||
endfor
|
||||
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 ]
|
||||
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."'):''}"
|
||||
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] . ' ']
|
||||
for i in range(len(a:x))
|
||||
let [_, k] = [_ . a:x[i], k || len(a:x[i])]
|
||||
@@ -288,12 +288,12 @@ function! lightline#concatenate(x, s)
|
||||
return _
|
||||
endfunction
|
||||
|
||||
function! lightline#statusline(inactive)
|
||||
function! lightline#statusline(inactive) abort
|
||||
if a:inactive && !has_key(s:highlight, 'inactive') | call lightline#highlight('inactive') | endif
|
||||
return s:line(0, a:inactive)
|
||||
endfunction
|
||||
|
||||
function! s:_expand(a, c, _, e, t, i, j, x)
|
||||
function! s:_expand(a, c, _, e, t, i, j, x) abort
|
||||
try
|
||||
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
|
||||
@@ -321,7 +321,7 @@ function! s:_expand(a, c, _, e, t, i, j, x)
|
||||
endfor
|
||||
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 [a, c, _] = [[], [], []]
|
||||
for i in range(len(a:x))
|
||||
@@ -343,7 +343,7 @@ function! s:expand(x)
|
||||
return [a, c, _]
|
||||
endfunction
|
||||
|
||||
function! s:line(tabline, inactive)
|
||||
function! s:line(tabline, inactive) abort
|
||||
let _ = a:tabline ? '' : '%{lightline#link()}'
|
||||
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]
|
||||
@@ -377,13 +377,13 @@ function! s:line(tabline, inactive)
|
||||
endfunction
|
||||
|
||||
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 [s:tabnrs, s:tabnr] != [tabpagenr('$'), tabpagenr()] | let [s:tabnrs, s:tabnr, s:tabline] = [tabpagenr('$'), tabpagenr(), s:line(1, 0)] | endif
|
||||
return s:tabline
|
||||
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])]
|
||||
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':''))
|
||||
@@ -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:])]
|
||||
endfunction
|
||||
|
||||
function! lightline#onetab(n, active)
|
||||
function! lightline#onetab(n, active) abort
|
||||
let [_, a] = ['', s:lightline.tab[a:active ? 'active' : 'inactive']]
|
||||
let [c, f] = [s:lightline.tab_component, s:lightline.tab_component_function ]
|
||||
for i in range(len(a))
|
||||
@@ -403,7 +403,7 @@ function! lightline#onetab(n, active)
|
||||
return _
|
||||
endfunction
|
||||
|
||||
function! lightline#error(msg)
|
||||
function! lightline#error(msg) abort
|
||||
echohl ErrorMsg | echomsg 'lightline.vim: '.a:msg | echohl None
|
||||
endfunction
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Version: 0.0
|
||||
" Author: itchyny
|
||||
" License: MIT License
|
||||
" Last Change: 2014/06/17 11:31:23.
|
||||
" Last Change: 2014/12/17 00:14:04.
|
||||
" =============================================================================
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
@@ -109,7 +109,7 @@ let s:guicolor = {
|
||||
\ 'green' : '#859900',
|
||||
\ }
|
||||
|
||||
function! s:convert(rgb)
|
||||
function! s:convert(rgb) abort
|
||||
let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)')
|
||||
if len(rgb) == 0
|
||||
return 0
|
||||
@@ -127,7 +127,7 @@ function! s:convert(rgb)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:black(x)
|
||||
function! s:black(x) abort
|
||||
if a:x < 0x04
|
||||
return 16
|
||||
elseif a:x > 0xf4
|
||||
@@ -140,15 +140,15 @@ function! s:black(x)
|
||||
endif
|
||||
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
|
||||
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)
|
||||
endfunction
|
||||
|
||||
function! s:upconvert(nr)
|
||||
function! s:upconvert(nr) abort
|
||||
let x = a:nr * 1
|
||||
if x < 7
|
||||
let [b, rg] = [x / 4, x % 4]
|
||||
@@ -181,7 +181,7 @@ function! s:upconvert(nr)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! lightline#colorscheme#fill(p)
|
||||
function! lightline#colorscheme#fill(p) abort
|
||||
for k in values(a:p)
|
||||
for l in values(k)
|
||||
for m in l
|
||||
@@ -207,7 +207,7 @@ function! lightline#colorscheme#fill(p)
|
||||
return a:p
|
||||
endfunction
|
||||
|
||||
function! lightline#colorscheme#flatten(p)
|
||||
function! lightline#colorscheme#flatten(p) abort
|
||||
for k in values(a:p)
|
||||
for l in values(k)
|
||||
for m in range(len(l))
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
" Version: 0.0
|
||||
" Author: itchyny
|
||||
" License: MIT License
|
||||
" Last Change: 2014/11/18 09:52:16.
|
||||
" Last Change: 2014/12/17 00:13:56.
|
||||
" =============================================================================
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! s:load()
|
||||
function! s:load() abort
|
||||
let rgbfile = $VIMRUNTIME . '/rgb.txt'
|
||||
let table = {}
|
||||
if filereadable(rgbfile)
|
||||
@@ -22,12 +22,12 @@ endfunction
|
||||
|
||||
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)
|
||||
return has_key(s:table, name) ? s:table[name] : []
|
||||
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)')
|
||||
if len(rgb) == 0
|
||||
let rgb = lightline#colortable#name_to_rgb(a:rgb)
|
||||
|
||||
@@ -3,30 +3,30 @@
|
||||
" Version: 0.0
|
||||
" Author: itchyny
|
||||
" License: MIT License
|
||||
" Last Change: 2014/06/17 11:31:07.
|
||||
" Last Change: 2014/12/17 00:13:51.
|
||||
" =============================================================================
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! lightline#tab#filename(n)
|
||||
function! lightline#tab#filename(n) abort
|
||||
let buflist = tabpagebuflist(a:n)
|
||||
let winnr = tabpagewinnr(a:n)
|
||||
let _ = expand("#".buflist[winnr - 1].":t")
|
||||
return strlen(_) ? _ : '[No Name]'
|
||||
endfunction
|
||||
|
||||
function! lightline#tab#modified(n)
|
||||
function! lightline#tab#modified(n) abort
|
||||
let winnr = tabpagewinnr(a:n)
|
||||
return gettabwinvar(a:n, winnr, '&modified') ? '+' : gettabwinvar(a:n, winnr, '&modifiable') ? '' : '-'
|
||||
endfunction
|
||||
|
||||
function! lightline#tab#readonly(n)
|
||||
function! lightline#tab#readonly(n) abort
|
||||
let winnr = tabpagewinnr(a:n)
|
||||
return gettabwinvar(a:n, winnr, '&readonly') ? 'RO' : ''
|
||||
endfunction
|
||||
|
||||
function! lightline#tab#tabnum(n)
|
||||
function! lightline#tab#tabnum(n) abort
|
||||
return a:n
|
||||
endfunction
|
||||
|
||||
|
||||
Reference in New Issue
Block a user