Updated plugins. Fixed some issues related to empty space and peaksea. Using Source Code Pro as default font
This commit is contained in:
parent
86f4456be1
commit
08a64d943d
35 changed files with 553 additions and 90 deletions
|
@ -281,7 +281,7 @@ elseif &background=='dark'
|
||||||
hi ModeMsg guifg=fg guibg=#000080 gui=NONE
|
hi ModeMsg guifg=fg guibg=#000080 gui=NONE
|
||||||
hi VisualNOS guifg=fg guibg=#000080 gui=NONE
|
hi VisualNOS guifg=fg guibg=#000080 gui=NONE
|
||||||
hi SpecialKey guifg=#b0d0f0 guibg=NONE gui=NONE
|
hi SpecialKey guifg=#b0d0f0 guibg=NONE gui=NONE
|
||||||
hi NonText guifg=#6080f0 guibg=#101010 gui=NONE
|
hi NonText guifg=#202020 guibg=#202020 gui=NONE
|
||||||
hi Directory guifg=#80c0e0 guibg=NONE gui=NONE
|
hi Directory guifg=#80c0e0 guibg=NONE gui=NONE
|
||||||
hi ErrorMsg guifg=#d0d090 guibg=#800000 gui=NONE
|
hi ErrorMsg guifg=#d0d090 guibg=#800000 gui=NONE
|
||||||
hi MoreMsg guifg=#c0e080 guibg=NONE gui=NONE
|
hi MoreMsg guifg=#c0e080 guibg=NONE gui=NONE
|
||||||
|
|
|
@ -7,7 +7,7 @@ Lean & mean status/tabline for vim that's light as air.
|
||||||
# Features
|
# Features
|
||||||
|
|
||||||
* Tiny core written with extensibility in mind ([open/closed principle][8]).
|
* Tiny core written with extensibility in mind ([open/closed principle][8]).
|
||||||
* Integrates with a variety of plugins, including: [vim-bufferline][6], [fugitive][4], [unite][9], [ctrlp][10], [minibufexpl][15], [gundo][16], [undotree][17], [nerdtree][18], [tagbar][19], [vim-gitgutter][29], [vim-signify][30], [syntastic][5], [eclim][34], [lawrencium][21] and [virtualenv][31].
|
* Integrates with a variety of plugins, including: [vim-bufferline][6], [fugitive][4], [unite][9], [ctrlp][10], [minibufexpl][15], [gundo][16], [undotree][17], [nerdtree][18], [tagbar][19], [vim-gitgutter][29], [vim-signify][30], [syntastic][5], [eclim][34], [lawrencium][21], [virtualenv][31], [tmuxline][35].
|
||||||
* Looks good with regular fonts and provides configuration points so you can use unicode or powerline symbols.
|
* Looks good with regular fonts and provides configuration points so you can use unicode or powerline symbols.
|
||||||
* Optimized for speed; it loads in under a millisecond.
|
* Optimized for speed; it loads in under a millisecond.
|
||||||
* Extensive suite of themes for popular colorschemes including [solarized][23] (dark and light), [tomorrow][24] (all variants), [base16][32] (all variants), [molokai][25], [jellybeans][26] and others; have a look at the [screenshots][14] in the wiki.
|
* Extensive suite of themes for popular colorschemes including [solarized][23] (dark and light), [tomorrow][24] (all variants), [base16][32] (all variants), [molokai][25], [jellybeans][26] and others; have a look at the [screenshots][14] in the wiki.
|
||||||
|
@ -67,6 +67,9 @@ vim-airline integrates with a variety of plugins out of the box. These extensio
|
||||||
#### [virtualenv][31]
|
#### [virtualenv][31]
|
||||||
![image](https://f.cloud.github.com/assets/390964/1022566/cf81f830-0d98-11e3-904f-cf4fe3ce201e.png)
|
![image](https://f.cloud.github.com/assets/390964/1022566/cf81f830-0d98-11e3-904f-cf4fe3ce201e.png)
|
||||||
|
|
||||||
|
#### [tmuxline][35]
|
||||||
|
![image](https://f.cloud.github.com/assets/1532071/1559276/4c28fbac-4fc7-11e3-90ef-7e833d980f98.gif)
|
||||||
|
|
||||||
## Extras
|
## Extras
|
||||||
|
|
||||||
vim-airline also supplies some supplementary stand-alone extensions. In addition to the tabline extension mentioned earlier, there is also:
|
vim-airline also supplies some supplementary stand-alone extensions. In addition to the tabline extension mentioned earlier, there is also:
|
||||||
|
@ -125,6 +128,9 @@ This plugin follows the standard runtime path structure, and as such it can be i
|
||||||
|
|
||||||
`:help airline`
|
`:help airline`
|
||||||
|
|
||||||
|
The default setting of 'laststatus' is for the statusline to not appear until a split is created. If you want it to appear all the time, add the following to your vimrc:
|
||||||
|
`set laststatus=2`
|
||||||
|
|
||||||
# Integrating with powerline fonts
|
# Integrating with powerline fonts
|
||||||
|
|
||||||
For the nice looking powerline symbols to appear, you will need to install a patched font. Instructions can be found in the official powerline [documentation][20]. Prepatched fonts can be found in the [powerline-fonts][3] repository.
|
For the nice looking powerline symbols to appear, you will need to install a patched font. Instructions can be found in the official powerline [documentation][20]. Prepatched fonts can be found in the [powerline-fonts][3] repository.
|
||||||
|
@ -197,3 +203,4 @@ MIT License. Copyright (c) 2013 Bailey Ling.
|
||||||
[32]: https://github.com/chriskempson/base16-vim
|
[32]: https://github.com/chriskempson/base16-vim
|
||||||
[33]: https://github.com/bling/vim-airline/wiki/Test-Plan
|
[33]: https://github.com/bling/vim-airline/wiki/Test-Plan
|
||||||
[34]: http://eclim.org
|
[34]: http://eclim.org
|
||||||
|
[35]: https://github.com/edkolev/tmuxline.vim
|
||||||
|
|
|
@ -195,6 +195,10 @@ function! airline#extensions#load()
|
||||||
call airline#extensions#tabline#init(s:ext)
|
call airline#extensions#tabline#init(s:ext)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if get(g:, 'airline#extensions#tmuxline#enabled', 1) && exists(':Tmuxline')
|
||||||
|
call airline#extensions#tmuxline#init(s:ext)
|
||||||
|
endif
|
||||||
|
|
||||||
" load all other extensions not part of the default distribution
|
" load all other extensions not part of the default distribution
|
||||||
for file in split(globpath(&rtp, "autoload/airline/extensions/*.vim"), "\n")
|
for file in split(globpath(&rtp, "autoload/airline/extensions/*.vim"), "\n")
|
||||||
" we have to check both resolved and unresolved paths, since it's possible
|
" we have to check both resolved and unresolved paths, since it's possible
|
||||||
|
|
|
@ -14,7 +14,7 @@ let s:empty_message = get(g:, 'airline#extensions#branch#empty_message',
|
||||||
\ get(g:, 'airline_branch_empty_message', ''))
|
\ get(g:, 'airline_branch_empty_message', ''))
|
||||||
let s:symbol = get(g:, 'airline#extensions#branch#symbol', g:airline_symbols.branch)
|
let s:symbol = get(g:, 'airline#extensions#branch#symbol', g:airline_symbols.branch)
|
||||||
|
|
||||||
function! airline#extensions#branch#get_head()
|
function! airline#extensions#branch#head()
|
||||||
let head = ''
|
let head = ''
|
||||||
|
|
||||||
if s:has_fugitive && !exists('b:mercurial_dir')
|
if s:has_fugitive && !exists('b:mercurial_dir')
|
||||||
|
@ -42,6 +42,13 @@ function! airline#extensions#branch#get_head()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return empty(head) || !s:check_in_path()
|
return empty(head) || !s:check_in_path()
|
||||||
|
\ ? ''
|
||||||
|
\ : head
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! airline#extensions#branch#get_head()
|
||||||
|
let head = airline#extensions#branch#head()
|
||||||
|
return empty(head)
|
||||||
\ ? s:empty_message
|
\ ? s:empty_message
|
||||||
\ : printf('%s%s', empty(s:symbol) ? '' : s:symbol.(g:airline_symbols.space), head)
|
\ : printf('%s%s', empty(s:symbol) ? '' : s:symbol.(g:airline_symbols.space), head)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
|
@ -17,12 +17,18 @@ endfunction
|
||||||
|
|
||||||
function! airline#extensions#eclim#get_warnings()
|
function! airline#extensions#eclim#get_warnings()
|
||||||
let eclimList = eclim#display#signs#GetExisting()
|
let eclimList = eclim#display#signs#GetExisting()
|
||||||
|
|
||||||
if !empty(eclimList)
|
if !empty(eclimList)
|
||||||
let errorsLine = eclimList[0]['line']
|
" Remove any non-eclim signs (see eclim#display#signs#Update)
|
||||||
let errorsNumber = len(eclimList)
|
call filter(eclimList, "v:val.name =~ '^\(qf_\)\?\(error\|info\|warning\)$'")
|
||||||
let errors = "[Eclim: line:".string(errorsLine)." (".string(errorsNumber).")]"
|
|
||||||
if !exists(':SyntasticCheck') || SyntasticStatuslineFlag() == ''
|
if !empty(eclimList)
|
||||||
return errors.(g:airline_symbols.space)
|
let errorsLine = eclimList[0]['line']
|
||||||
|
let errorsNumber = len(eclimList)
|
||||||
|
let errors = "[Eclim: line:".string(errorsLine)." (".string(errorsNumber).")]"
|
||||||
|
if !exists(':SyntasticCheck') || SyntasticStatuslineFlag() == ''
|
||||||
|
return errors.(g:airline_symbols.space)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
return ''
|
return ''
|
||||||
|
|
|
@ -16,8 +16,12 @@ function! s:get_hunks_signify()
|
||||||
return []
|
return []
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! s:is_branch_empty()
|
||||||
|
return exists('*airline#extensions#branch#head') && empty(airline#extensions#branch#head())
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! s:get_hunks_gitgutter()
|
function! s:get_hunks_gitgutter()
|
||||||
if !get(g:, 'gitgutter_enabled', 0)
|
if !get(g:, 'gitgutter_enabled', 0) || s:is_branch_empty()
|
||||||
return ''
|
return ''
|
||||||
endif
|
endif
|
||||||
return GitGutterGetHunkSummary()
|
return GitGutterGetHunkSummary()
|
||||||
|
|
|
@ -24,7 +24,7 @@ function! s:get_text()
|
||||||
|
|
||||||
let nr = bufnr('%')
|
let nr = bufnr('%')
|
||||||
for buf in split(buffers, '\n')
|
for buf in split(buffers, '\n')
|
||||||
if match(buf, '\v^\s+'.nr) > -1
|
if match(buf, '\v^\s*'.nr) > -1
|
||||||
if match(buf, '\[Quickfix List\]') > -1
|
if match(buf, '\[Quickfix List\]') > -1
|
||||||
return g:airline#extensions#quickfix#quickfix_text
|
return g:airline#extensions#quickfix#quickfix_text
|
||||||
else
|
else
|
||||||
|
|
|
@ -5,6 +5,7 @@ let s:formatter = get(g:, 'airline#extensions#tabline#formatter', 'default')
|
||||||
let s:excludes = get(g:, 'airline#extensions#tabline#excludes', [])
|
let s:excludes = get(g:, 'airline#extensions#tabline#excludes', [])
|
||||||
let s:tab_nr_type = get(g:, 'airline#extensions#tabline#tab_nr_type', 0)
|
let s:tab_nr_type = get(g:, 'airline#extensions#tabline#tab_nr_type', 0)
|
||||||
let s:show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1)
|
let s:show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1)
|
||||||
|
let s:show_tab_nr = get(g:, 'airline#extensions#tabline#show_tab_nr', 1)
|
||||||
|
|
||||||
let s:builder_context = {
|
let s:builder_context = {
|
||||||
\ 'active' : 1,
|
\ 'active' : 1,
|
||||||
|
@ -103,7 +104,7 @@ function! airline#extensions#tabline#title(n)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! airline#extensions#tabline#get_buffer_name(nr)
|
function! airline#extensions#tabline#get_buffer_name(nr)
|
||||||
return airline#extensions#tabline#formatters#{s:formatter}(a:nr, get(s:, 'current_buffer_list', []))
|
return airline#extensions#tabline#{s:formatter}#format(a:nr, get(s:, 'current_buffer_list', s:get_buffer_list()))
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:get_buffer_list()
|
function! s:get_buffer_list()
|
||||||
|
@ -179,9 +180,16 @@ function! s:get_visible_buffers()
|
||||||
return buffers
|
return buffers
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
let s:current_bufnr = -1
|
||||||
|
let s:current_tabnr = -1
|
||||||
|
let s:current_tabline = ''
|
||||||
function! s:get_buffers()
|
function! s:get_buffers()
|
||||||
let b = airline#builder#new(s:builder_context)
|
|
||||||
let cur = bufnr('%')
|
let cur = bufnr('%')
|
||||||
|
if cur == s:current_bufnr
|
||||||
|
return s:current_tabline
|
||||||
|
endif
|
||||||
|
|
||||||
|
let b = airline#builder#new(s:builder_context)
|
||||||
let tab_bufs = tabpagebuflist(tabpagenr())
|
let tab_bufs = tabpagebuflist(tabpagenr())
|
||||||
for nr in s:get_visible_buffers()
|
for nr in s:get_visible_buffers()
|
||||||
if nr < 0
|
if nr < 0
|
||||||
|
@ -207,13 +215,22 @@ function! s:get_buffers()
|
||||||
call b.add_section('airline_tabfill', '')
|
call b.add_section('airline_tabfill', '')
|
||||||
call b.split()
|
call b.split()
|
||||||
call b.add_section('airline_tabtype', ' buffers ')
|
call b.add_section('airline_tabtype', ' buffers ')
|
||||||
return b.build()
|
|
||||||
|
let s:current_bufnr = cur
|
||||||
|
let s:current_tabline = b.build()
|
||||||
|
return s:current_tabline
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:get_tabs()
|
function! s:get_tabs()
|
||||||
|
let curbuf = bufnr('%')
|
||||||
|
let curtab = tabpagenr()
|
||||||
|
if curbuf == s:current_bufnr && curtab == s:current_tabnr
|
||||||
|
return s:current_tabline
|
||||||
|
endif
|
||||||
|
|
||||||
let b = airline#builder#new(s:builder_context)
|
let b = airline#builder#new(s:builder_context)
|
||||||
for i in range(1, tabpagenr('$'))
|
for i in range(1, tabpagenr('$'))
|
||||||
if i == tabpagenr()
|
if i == curtab
|
||||||
let group = 'airline_tabsel'
|
let group = 'airline_tabsel'
|
||||||
if g:airline_detect_modified
|
if g:airline_detect_modified
|
||||||
for bi in tabpagebuflist(i)
|
for bi in tabpagebuflist(i)
|
||||||
|
@ -226,18 +243,24 @@ function! s:get_tabs()
|
||||||
let group = 'airline_tab'
|
let group = 'airline_tab'
|
||||||
endif
|
endif
|
||||||
let val = '%('
|
let val = '%('
|
||||||
if s:tab_nr_type == 0
|
if s:show_tab_nr
|
||||||
let val .= ' %{len(tabpagebuflist('.i.'))}'
|
if s:tab_nr_type == 0
|
||||||
else
|
let val .= ' %{len(tabpagebuflist('.i.'))}'
|
||||||
let val .= (g:airline_symbols.space).i
|
else
|
||||||
|
let val .= (g:airline_symbols.space).i
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
call b.add_section(group, val.'%'.i.'T %{airline#extensions#tabline#title('.i.')} %)')
|
call b.add_section(group, val.'%'.i.'T %{airline#extensions#tabline#title('.i.')} %)')
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
call b.add_raw('%T')
|
call b.add_raw('%T')
|
||||||
call b.add_section('airline_tabfill', '')
|
call b.add_section('airline_tabfill', '')
|
||||||
call b.split()
|
call b.split()
|
||||||
call b.add_section('airline_tab', ' %999XX ')
|
call b.add_section('airline_tab', ' %999XX ')
|
||||||
call b.add_section('airline_tabtype', ' tabs ')
|
call b.add_section('airline_tabtype', ' tabs ')
|
||||||
return b.build()
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
|
let s:current_bufnr = curbuf
|
||||||
|
let s:current_tabnr = curtab
|
||||||
|
let s:current_tabline = b.build()
|
||||||
|
return s:current_tabline
|
||||||
|
endfunction
|
||||||
|
|
|
@ -7,7 +7,7 @@ let s:buf_nr_format = get(g:, 'airline#extensions#tabline#buffer_nr_format', '%s
|
||||||
let s:buf_nr_show = get(g:, 'airline#extensions#tabline#buffer_nr_show', 0)
|
let s:buf_nr_show = get(g:, 'airline#extensions#tabline#buffer_nr_show', 0)
|
||||||
let s:buf_modified_symbol = g:airline_symbols.modified
|
let s:buf_modified_symbol = g:airline_symbols.modified
|
||||||
|
|
||||||
function! airline#extensions#tabline#formatters#default(bufnr, buffers)
|
function! airline#extensions#tabline#default#format(bufnr, buffers)
|
||||||
let _ = ''
|
let _ = ''
|
||||||
|
|
||||||
let name = bufname(a:bufnr)
|
let name = bufname(a:bufnr)
|
||||||
|
@ -21,40 +21,15 @@ function! airline#extensions#tabline#formatters#default(bufnr, buffers)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return s:wrap_name(a:bufnr, _)
|
return airline#extensions#tabline#default#wrap_name(a:bufnr, _)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! airline#extensions#tabline#formatters#unique_tail(bufnr, buffers)
|
function! airline#extensions#tabline#default#wrap_name(bufnr, buffer_name)
|
||||||
let duplicates = {}
|
|
||||||
let tails = {}
|
|
||||||
let map = {}
|
|
||||||
for nr in a:buffers
|
|
||||||
let name = bufname(nr)
|
|
||||||
if empty(name)
|
|
||||||
let map[nr] = '[No Name]'
|
|
||||||
else
|
|
||||||
let tail = fnamemodify(name, ':t')
|
|
||||||
if has_key(tails, tail)
|
|
||||||
let duplicates[nr] = nr
|
|
||||||
endif
|
|
||||||
let tails[tail] = 1
|
|
||||||
let map[nr] = s:wrap_name(nr, tail)
|
|
||||||
endif
|
|
||||||
endfor
|
|
||||||
|
|
||||||
for nr in values(duplicates)
|
|
||||||
let map[nr] = s:wrap_name(nr, fnamemodify(bufname(nr), ':p:.'))
|
|
||||||
endfor
|
|
||||||
|
|
||||||
return map[a:bufnr]
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! s:wrap_name(bufnr, buffer_name)
|
|
||||||
let _ = s:buf_nr_show ? printf(s:buf_nr_format, a:bufnr) : ''
|
let _ = s:buf_nr_show ? printf(s:buf_nr_format, a:bufnr) : ''
|
||||||
let _ .= a:buffer_name
|
let _ .= substitute(a:buffer_name, '\\', '/', 'g')
|
||||||
|
|
||||||
if getbufvar(a:bufnr, '&modified') == 1
|
if getbufvar(a:bufnr, '&modified') == 1
|
||||||
let _ .= s:buf_modified_symbol
|
let _ .= s:buf_modified_symbol
|
||||||
endif
|
endif
|
||||||
return _
|
return _
|
||||||
endfunction
|
endfunction
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
" MIT License. Copyright (c) 2013 Bailey Ling.
|
||||||
|
" vim: et ts=2 sts=2 sw=2
|
||||||
|
|
||||||
|
function! airline#extensions#tabline#unique_tail#format(bufnr, buffers)
|
||||||
|
let duplicates = {}
|
||||||
|
let tails = {}
|
||||||
|
let map = {}
|
||||||
|
for nr in a:buffers
|
||||||
|
let name = bufname(nr)
|
||||||
|
if empty(name)
|
||||||
|
let map[nr] = '[No Name]'
|
||||||
|
else
|
||||||
|
let tail = fnamemodify(name, ':t')
|
||||||
|
if has_key(tails, tail)
|
||||||
|
let duplicates[nr] = nr
|
||||||
|
endif
|
||||||
|
let tails[tail] = 1
|
||||||
|
let map[nr] = airline#extensions#tabline#default#wrap_name(nr, tail)
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
for nr in values(duplicates)
|
||||||
|
let map[nr] = airline#extensions#tabline#default#wrap_name(nr, fnamemodify(bufname(nr), ':p:.'))
|
||||||
|
endfor
|
||||||
|
|
||||||
|
return map[a:bufnr]
|
||||||
|
endfunction
|
|
@ -0,0 +1,88 @@
|
||||||
|
" MIT License. Copyright (c) 2013 Bailey Ling.
|
||||||
|
" vim: et ts=2 sts=2 sw=2
|
||||||
|
|
||||||
|
let s:skip_symbol = '…'
|
||||||
|
|
||||||
|
function! airline#extensions#tabline#unique_tail_improved#format(bufnr, buffers)
|
||||||
|
if len(a:buffers) <= 1 " don't need to compare bufnames if has less than one buffer opened
|
||||||
|
return airline#extensions#tabline#default#format(a:bufnr, a:buffers)
|
||||||
|
endif
|
||||||
|
|
||||||
|
let curbuf_tail = fnamemodify(bufname(a:bufnr), ':t')
|
||||||
|
let do_deduplicate = 0
|
||||||
|
let path_tokens = {}
|
||||||
|
|
||||||
|
for nr in a:buffers
|
||||||
|
let name = bufname(nr)
|
||||||
|
if !empty(name) && nr != a:bufnr && fnamemodify(name, ':t') == curbuf_tail
|
||||||
|
let do_deduplicate = 1
|
||||||
|
let tokens = reverse(split(substitute(fnamemodify(name, ':p:.:h'), '\\', '/', 'g'), '/'))
|
||||||
|
let token_index = 0
|
||||||
|
for token in tokens
|
||||||
|
if token == '.' | break | endif
|
||||||
|
if !has_key(path_tokens, token_index)
|
||||||
|
let path_tokens[token_index] = {}
|
||||||
|
endif
|
||||||
|
let path_tokens[token_index][token] = 1
|
||||||
|
let token_index += 1
|
||||||
|
endfor
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
if do_deduplicate == 1
|
||||||
|
let path = []
|
||||||
|
let token_index = 0
|
||||||
|
for token in reverse(split(substitute(fnamemodify(bufname(a:bufnr), ':p:.:h'), '\\', '/', 'g'), '/'))
|
||||||
|
if token == '.' | break | endif
|
||||||
|
let duplicated = 0
|
||||||
|
let uniq = 1
|
||||||
|
let single = 1
|
||||||
|
if has_key(path_tokens, token_index)
|
||||||
|
let duplicated = 1
|
||||||
|
if len(keys(path_tokens[token_index])) > 1 | let single = 0 | endif
|
||||||
|
if has_key(path_tokens[token_index], token) | let uniq = 0 | endif
|
||||||
|
endif
|
||||||
|
call insert(path, {'token': token, 'duplicated': duplicated, 'uniq': uniq, 'single': single})
|
||||||
|
let token_index += 1
|
||||||
|
endfor
|
||||||
|
|
||||||
|
let buf_name = [curbuf_tail]
|
||||||
|
let has_uniq = 0
|
||||||
|
let has_skipped = 0
|
||||||
|
for token1 in reverse(path)
|
||||||
|
if !token1['duplicated'] && len(buf_name) > 1
|
||||||
|
call insert(buf_name, s:skip_symbol)
|
||||||
|
let has_skipped = 0
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
|
||||||
|
if has_uniq == 1
|
||||||
|
call insert(buf_name, s:skip_symbol)
|
||||||
|
let has_skipped = 0
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
|
||||||
|
if token1['uniq'] == 0 && token1['single'] == 1
|
||||||
|
let has_skipped = 1
|
||||||
|
else
|
||||||
|
if has_skipped == 1
|
||||||
|
call insert(buf_name, s:skip_symbol)
|
||||||
|
let has_skipped = 0
|
||||||
|
endif
|
||||||
|
call insert(buf_name, token1['token'])
|
||||||
|
endif
|
||||||
|
|
||||||
|
if token1['uniq'] == 1
|
||||||
|
let has_uniq = 1
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
if has_skipped == 1
|
||||||
|
call insert(buf_name, s:skip_symbol)
|
||||||
|
endif
|
||||||
|
|
||||||
|
return airline#extensions#tabline#default#wrap_name(a:bufnr, join(buf_name, '/'))
|
||||||
|
else
|
||||||
|
return airline#extensions#tabline#default#format(a:bufnr, a:buffers)
|
||||||
|
endif
|
||||||
|
endfunction
|
|
@ -0,0 +1,26 @@
|
||||||
|
" MIT License. Copyright (c) 2013 Bailey Ling.
|
||||||
|
" vim: et ts=2 sts=2 sw=2
|
||||||
|
|
||||||
|
if !exists(':Tmuxline')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:tmuxline_snapshot_file = get(g:, 'airline#extensions#tmuxline#snapshot_file', '')
|
||||||
|
let s:color_template = get(g:, 'airline#extensions#tmuxline#color_template', 'normal')
|
||||||
|
|
||||||
|
function! airline#extensions#tmuxline#init(ext)
|
||||||
|
call a:ext.add_theme_func('airline#extensions#tmuxline#set_tmux_colors')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! airline#extensions#tmuxline#set_tmux_colors(palette)
|
||||||
|
let color_template = has_key(a:palette, s:color_template) ? s:color_template : 'normal'
|
||||||
|
let mode_palette = a:palette[color_template]
|
||||||
|
|
||||||
|
let tmuxline_theme = tmuxline#api#create_theme_from_airline(mode_palette)
|
||||||
|
call tmuxline#api#set_theme(tmuxline_theme)
|
||||||
|
|
||||||
|
if strlen(s:tmuxline_snapshot_file)
|
||||||
|
call tmuxline#api#snapshot(s:tmuxline_snapshot_file)
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
|
@ -16,10 +16,12 @@ let s:default_checks = ['indent', 'trailing']
|
||||||
let s:trailing_format = get(g:, 'airline#extensions#whitespace#trailing_format', 'trailing[%s]')
|
let s:trailing_format = get(g:, 'airline#extensions#whitespace#trailing_format', 'trailing[%s]')
|
||||||
let s:mixed_indent_format = get(g:, 'airline#extensions#whitespace#mixed_indent_format', 'mixed-indent[%s]')
|
let s:mixed_indent_format = get(g:, 'airline#extensions#whitespace#mixed_indent_format', 'mixed-indent[%s]')
|
||||||
|
|
||||||
|
let s:max_lines = get(g:, 'airline#extensions#whitespace#max_lines', 20000)
|
||||||
|
|
||||||
let s:enabled = 1
|
let s:enabled = 1
|
||||||
|
|
||||||
function! airline#extensions#whitespace#check()
|
function! airline#extensions#whitespace#check()
|
||||||
if &readonly || !&modifiable || !s:enabled
|
if &readonly || !&modifiable || !s:enabled || line('$') > s:max_lines
|
||||||
return ''
|
return ''
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
let g:airline#themes#kolor#palette = {}
|
||||||
|
|
||||||
|
let s:N1 = [ '#e2e2e2' , '#4f3598' , 254 , 56 ]
|
||||||
|
let s:N2 = [ '#ff5fd7' , '#242322' , 206 , 234 ]
|
||||||
|
let s:N3 = [ '#e2e2e2' , '#4a4a4a' , 254 , 238 ]
|
||||||
|
|
||||||
|
let g:airline#themes#kolor#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
|
||||||
|
|
||||||
|
let g:airline#themes#kolor#palette.normal_modified = {
|
||||||
|
\ 'airline_c': [ '#e2e2e2' , '#4f3598' , 254 , 56 , '' ] ,
|
||||||
|
\ }
|
||||||
|
|
||||||
|
|
||||||
|
let s:I1 = [ '#242322' , '#7eaefd' , 234 , 111 ]
|
||||||
|
let s:I2 = [ '#75d7d8' , '#242322' , 80 , 234 ]
|
||||||
|
let s:I3 = [ '#e2e2e2' , '#4a4a4a' , 254 , 238 ]
|
||||||
|
let g:airline#themes#kolor#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
|
||||||
|
let g:airline#themes#kolor#palette.insert_modified = {
|
||||||
|
\ 'airline_c': [ '#242322' , '#7eaefd' , 234 , 111 , '' ] ,
|
||||||
|
\ }
|
||||||
|
|
||||||
|
|
||||||
|
let g:airline#themes#kolor#palette.replace = copy(g:airline#themes#kolor#palette.insert)
|
||||||
|
let g:airline#themes#kolor#palette.replace.airline_a = [ s:I2[0] , '#005154' , s:I2[2] , 23 , '' ]
|
||||||
|
let g:airline#themes#kolor#palette.replace_modified = {
|
||||||
|
\ 'airline_c': [ '#e2e2e2' , '#005154' , 254 , 23 , '' ] ,
|
||||||
|
\ }
|
||||||
|
|
||||||
|
|
||||||
|
let s:V1 = [ '#242322' , '#e6987a' , 234 , 180 ]
|
||||||
|
let s:V2 = [ '#dbc570' , '#242322' , 186 , 234 ]
|
||||||
|
let s:V3 = [ '#e2e2e2' , '#4a4a4a' , 254 , 238 ]
|
||||||
|
let g:airline#themes#kolor#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
|
||||||
|
let g:airline#themes#kolor#palette.visual_modified = {
|
||||||
|
\ 'airline_c': [ '#242322' , '#e6987a' , 234 , 180 , '' ] ,
|
||||||
|
\ }
|
||||||
|
|
||||||
|
|
||||||
|
let s:IA1 = [ '#b2b2b2' , '#4a4a4a' , 247 , 238 , '' ]
|
||||||
|
let s:IA2 = [ '#b2b2b2' , '#4a4a4a' , 247 , 238 ]
|
||||||
|
let s:IA3 = [ '#b2b2b2' , '#4a4a4a' , 247 , 238 , '' ]
|
||||||
|
let g:airline#themes#kolor#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3)
|
||||||
|
let g:airline#themes#kolor#palette.inactive_modified = {
|
||||||
|
\ 'airline_c': [ '#875faf' , '' , 97 , '' , '' ] ,
|
||||||
|
\ }
|
||||||
|
|
||||||
|
|
||||||
|
let g:airline#themes#kolor#palette.accents = {
|
||||||
|
\ 'red': [ '#d96e8a' , '' , 168 , '' ]
|
||||||
|
\ }
|
||||||
|
|
||||||
|
|
||||||
|
if !get(g:, 'loaded_ctrlp', 0)
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let g:airline#themes#kolor#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(
|
||||||
|
\ [ '#e2e2e2' , '#4a4a4a' , 254 , 238 , '' ],
|
||||||
|
\ [ '#e2e2e2' , '#242322' , 254 , 234 , '' ],
|
||||||
|
\ [ '#e2e2e2' , '#4f3598' , 254 , 56 , 'bold' ])
|
|
@ -355,6 +355,9 @@ eclim <https://eclim.org>
|
||||||
* configure which whitespace checks to enable. >
|
* configure which whitespace checks to enable. >
|
||||||
let g:airline#extensions#whitespace#checks = [ 'indent', 'trailing' ]
|
let g:airline#extensions#whitespace#checks = [ 'indent', 'trailing' ]
|
||||||
<
|
<
|
||||||
|
* configure the maximum number of lines where whitespace checking is enabled. >
|
||||||
|
let g:airline#extensions#whitespace#max_lines = 20000
|
||||||
|
<
|
||||||
* configure whether a message should be displayed. >
|
* configure whether a message should be displayed. >
|
||||||
let g:airline#extensions#whitespace#show_message = 1
|
let g:airline#extensions#whitespace#show_message = 1
|
||||||
<
|
<
|
||||||
|
@ -376,11 +379,14 @@ eclim <https://eclim.org>
|
||||||
let g:airline#extensions#tabline#tab_nr_type = 0 " # of splits (default)
|
let g:airline#extensions#tabline#tab_nr_type = 0 " # of splits (default)
|
||||||
let g:airline#extensions#tabline#tab_nr_type = 1 " tab number
|
let g:airline#extensions#tabline#tab_nr_type = 1 " tab number
|
||||||
<
|
<
|
||||||
|
* enable/disable displaying tab number in tabs mode. >
|
||||||
|
let g:airline#extensions#tabline#show_tab_nr = 1
|
||||||
|
|
||||||
* defines the name of a formatter for how buffer names are displayed. >
|
* defines the name of a formatter for how buffer names are displayed. >
|
||||||
let g:airline#extensions#tabline#formatter = 'default'
|
let g:airline#extensions#tabline#formatter = 'default'
|
||||||
|
|
||||||
" here is how you can define a 'foo' formatter:
|
" here is how you can define a 'foo' formatter:
|
||||||
function! airline#extensions#tabline#formatters#foo(bufnr, buffers)
|
function! airline#extensions#tabline#foo#format(bufnr, buffers)
|
||||||
return fnamemodify(bufname(a:bufnr), ':t')
|
return fnamemodify(bufname(a:bufnr), ':t')
|
||||||
endfunction
|
endfunction
|
||||||
let g:airline#extensions#tabline#formatter = 'foo'
|
let g:airline#extensions#tabline#formatter = 'foo'
|
||||||
|
@ -403,6 +409,10 @@ eclim <https://eclim.org>
|
||||||
" there is another file of the same name, in which it will display it along
|
" there is another file of the same name, in which it will display it along
|
||||||
" with the containing parent directory.
|
" with the containing parent directory.
|
||||||
let g:airline#extensions#tabline#formatter = 'unique_tail'
|
let g:airline#extensions#tabline#formatter = 'unique_tail'
|
||||||
|
|
||||||
|
" The `unique_tail_improved` - another algorithm, that will smartly uniquify
|
||||||
|
" buffers names with similar filename, suppressing common parts of paths.
|
||||||
|
let g:airline#extensions#tabline#formatter = 'unique_tail_improved'
|
||||||
<
|
<
|
||||||
* configure the minimum number of buffers needed to show the tabline. >
|
* configure the minimum number of buffers needed to show the tabline. >
|
||||||
let g:airline#extensions#tabline#buffer_min_count = 0
|
let g:airline#extensions#tabline#buffer_min_count = 0
|
||||||
|
@ -423,6 +433,24 @@ eclim <https://eclim.org>
|
||||||
<
|
<
|
||||||
Note: Enabling this extension will modify 'showtabline' and 'guioptions'.
|
Note: Enabling this extension will modify 'showtabline' and 'guioptions'.
|
||||||
|
|
||||||
|
------------------------------------- *airline-tmuxline*
|
||||||
|
tmuxline <https://github.com/edkolev/tmuxline.vim>
|
||||||
|
|
||||||
|
* enable/disable tmuxline integration >
|
||||||
|
let g:airline#extensions#tmuxline#enabled = 0
|
||||||
|
<
|
||||||
|
* configure which mode colors should be used in tmux statusline >
|
||||||
|
let airline#extensions#tmuxline#color_template = 'normal' (default)
|
||||||
|
let airline#extensions#tmuxline#color_template = 'insert'
|
||||||
|
let airline#extensions#tmuxline#color_template = 'visual'
|
||||||
|
let airline#extensions#tmuxline#color_template = 'replace'
|
||||||
|
<
|
||||||
|
* if specified, setting this option will trigger writing to the file whenever the
|
||||||
|
airline theme is applied, i.e. when :AirlineTheme is executed and on vim
|
||||||
|
startup >
|
||||||
|
airline#extensions#tmuxline#snapshot_file = "~/.tmux-statusline-colors.conf"
|
||||||
|
<
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
ADVANCED CUSTOMIZATION *airline-advanced-customization*
|
ADVANCED CUSTOMIZATION *airline-advanced-customization*
|
||||||
|
|
||||||
|
|
|
@ -257,6 +257,7 @@ endif
|
||||||
|
|
||||||
" [-- <Mako Elements> --]
|
" [-- <Mako Elements> --]
|
||||||
call <SID>MakoIndentPush('%def')
|
call <SID>MakoIndentPush('%def')
|
||||||
|
call <SID>MakoIndentPush('%block')
|
||||||
call <SID>MakoIndentPush('%call')
|
call <SID>MakoIndentPush('%call')
|
||||||
call <SID>MakoIndentPush('%doc')
|
call <SID>MakoIndentPush('%doc')
|
||||||
call <SID>MakoIndentPush('%text')
|
call <SID>MakoIndentPush('%text')
|
||||||
|
|
|
@ -60,6 +60,9 @@ syn region makoAttributeValue containedin=MakoTag contained start=/'/ skip=/\\'/
|
||||||
syn region makoTag matchgroup=makoDelim start="<%\(def\|call\|page\|include\|namespace\|inherit\|block\|[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*\)\>" end="/\?>"
|
syn region makoTag matchgroup=makoDelim start="<%\(def\|call\|page\|include\|namespace\|inherit\|block\|[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*\)\>" end="/\?>"
|
||||||
syn match makoDelim "</%\(def\|call\|namespace\|block\|[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*\)>"
|
syn match makoDelim "</%\(def\|call\|namespace\|block\|[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*\)>"
|
||||||
|
|
||||||
|
syn region makoJavaScript matchgroup=makoDelim start=+<%block .*js.*>+ keepend end=+</%block>+ contains=@htmlJavaScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc,makoLine,makoBlock,makoVariable
|
||||||
|
syn region makoCssStyle matchgroup=makoDelim start=+<%block .*css.*>+ keepend end=+</%block>+ contains=@htmlCss,htmlTag,htmlEndTag,htmlCssStyleComment,@htmlPreproc,makoLine,makoBlock,makoVariable
|
||||||
|
|
||||||
" Newline Escapes
|
" Newline Escapes
|
||||||
syn match makoEscape /\\$/
|
syn match makoEscape /\\$/
|
||||||
|
|
||||||
|
|
|
@ -75,8 +75,8 @@ augroup CoffeeUpdateMakePrg
|
||||||
|
|
||||||
" Set autocmd locally if compiler was set locally.
|
" Set autocmd locally if compiler was set locally.
|
||||||
if &l:makeprg =~ s:pat
|
if &l:makeprg =~ s:pat
|
||||||
autocmd BufFilePost,BufWritePost <buffer> call s:UpdateMakePrg()
|
autocmd BufWritePre,BufFilePost <buffer> call s:UpdateMakePrg()
|
||||||
else
|
else
|
||||||
autocmd BufFilePost,BufWritePost call s:UpdateMakePrg()
|
autocmd BufWritePre,BufFilePost call s:UpdateMakePrg()
|
||||||
endif
|
endif
|
||||||
augroup END
|
augroup END
|
||||||
|
|
|
@ -130,6 +130,12 @@ function! fugitive#extract_git_dir(path) abort
|
||||||
let root = s:shellslash(simplify(fnamemodify(a:path, ':p:s?[\/]$??')))
|
let root = s:shellslash(simplify(fnamemodify(a:path, ':p:s?[\/]$??')))
|
||||||
let previous = ""
|
let previous = ""
|
||||||
while root !=# previous
|
while root !=# previous
|
||||||
|
if root =~# '\v^//%([^/]+/?)?$'
|
||||||
|
" This is for accessing network shares from Cygwin Vim. There won't be
|
||||||
|
" any git directory called //.git or //serverName/.git so let's avoid
|
||||||
|
" checking for them since such checks are extremely slow.
|
||||||
|
break
|
||||||
|
endif
|
||||||
let dir = s:sub(root, '[\/]$', '') . '/.git'
|
let dir = s:sub(root, '[\/]$', '') . '/.git'
|
||||||
let type = getftype(dir)
|
let type = getftype(dir)
|
||||||
if type ==# 'dir' && fugitive#is_git_dir(dir)
|
if type ==# 'dir' && fugitive#is_git_dir(dir)
|
||||||
|
@ -163,7 +169,7 @@ function! fugitive#detect(path)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
if exists('b:git_dir')
|
if exists('b:git_dir')
|
||||||
silent doautocmd User Fugitive
|
silent doautocmd User FugitiveBoot
|
||||||
cnoremap <buffer> <expr> <C-R><C-G> fnameescape(<SID>recall())
|
cnoremap <buffer> <expr> <C-R><C-G> fnameescape(<SID>recall())
|
||||||
nnoremap <buffer> <silent> y<C-G> :call setreg(v:register, <SID>recall())<CR>
|
nnoremap <buffer> <silent> y<C-G> :call setreg(v:register, <SID>recall())<CR>
|
||||||
let buffer = fugitive#buffer()
|
let buffer = fugitive#buffer()
|
||||||
|
@ -176,6 +182,7 @@ function! fugitive#detect(path)
|
||||||
call buffer.setvar('&tags', escape(b:git_dir.'/'.&filetype.'.tags', ', ').','.buffer.getvar('&tags'))
|
call buffer.setvar('&tags', escape(b:git_dir.'/'.&filetype.'.tags', ', ').','.buffer.getvar('&tags'))
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
silent doautocmd User Fugitive
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ in `after/syntax/css.vim` or `after/syntax/css/*.vim`.
|
||||||
### Map
|
### Map
|
||||||
.less to .css , lessc is required.
|
.less to .css , lessc is required.
|
||||||
|
|
||||||
nnoremap ,m :w <BAR> !lessc % > %:t:r.css<CR><space>
|
nnoremap <Leader>m :w <BAR> !lessc % > %:t:r.css<CR><space>
|
||||||
|
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: LessCSS
|
" Language: LessCSS
|
||||||
" Maintainer: Leonard Ehrenfried <leonard.ehrenfried@web.de>
|
" Maintainer: Leonard Ehrenfried <leonard.ehrenfried@web.de>
|
||||||
" Last Change: 2011 Sep 26
|
" Last Change: 2011 Sep 26
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
runtime! indent/css.vim
|
runtime! indent/css.vim
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ syn match lessClass "[[:alnum:]_-]\+" contained
|
||||||
" string functions
|
" string functions
|
||||||
syn keyword lessFunction escape e % containedin=cssDefinition contained
|
syn keyword lessFunction escape e % containedin=cssDefinition contained
|
||||||
" misc functions
|
" misc functions
|
||||||
syn keyword lessFunction color unit containedin=cssDefinition contained
|
syn keyword lessFunction unit containedin=cssDefinition contained
|
||||||
" math functions
|
" math functions
|
||||||
syn keyword lessFunction ceil floor percentage round containedin=cssDefinition contained
|
syn keyword lessFunction ceil floor percentage round containedin=cssDefinition contained
|
||||||
" color definition
|
" color definition
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
" Vim filetype plugin
|
" Vim filetype plugin
|
||||||
" Language: Markdown
|
" Language: Markdown
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||||
|
" Last Change: 2013 May 30
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
" Language: Markdown
|
" Language: Markdown
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||||
" Filenames: *.markdown
|
" Filenames: *.markdown
|
||||||
|
" Last Change: 2013 May 30
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
|
|
|
@ -8,6 +8,7 @@ It is currently maintained by [Rok Garbas](rok@garbas.si), [Marc
|
||||||
Weber](marco-oweber@gmx.de), and [Adnan Zafar](https://github.com/ajzafar) with
|
Weber](marco-oweber@gmx.de), and [Adnan Zafar](https://github.com/ajzafar) with
|
||||||
additional contributions from:
|
additional contributions from:
|
||||||
|
|
||||||
|
* [907th](https://github.com/907th)
|
||||||
* [alderz](https://github.com/alderz)
|
* [alderz](https://github.com/alderz)
|
||||||
* [asymmetric](https://github.com/asymmetric)
|
* [asymmetric](https://github.com/asymmetric)
|
||||||
* [bpugh](https://github.com/bpugh)
|
* [bpugh](https://github.com/bpugh)
|
||||||
|
|
|
@ -706,12 +706,25 @@ fun! s:ChooseSnippet(snippets)
|
||||||
return funcref#Call(a:snippets[keys(a:snippets)[idx]])
|
return funcref#Call(a:snippets[keys(a:snippets)[idx]])
|
||||||
endf
|
endf
|
||||||
|
|
||||||
fun! snipMate#ShowAvailableSnips()
|
fun! snipMate#WordBelowCursor()
|
||||||
let col = col('.')
|
return matchstr(getline('.'), '\S\+\%' . col('.') . 'c')
|
||||||
let word = matchstr(getline('.'), '\S\+\%'.col.'c')
|
endf
|
||||||
|
|
||||||
let snippets = map(snipMate#GetSnippetsForWordBelowCursor(word, '*', 0),'v:val[0]')
|
fun! snipMate#GetSnippetsForWordBelowCursorForComplete(word)
|
||||||
let matches = filter(snippets, "v:val =~# '\\V\\^" . escape(word, '\') . "'")
|
let snippets = map(snipMate#GetSnippetsForWordBelowCursor(a:word, '*', 0), 'v:val[0]')
|
||||||
|
return filter(snippets, "v:val =~# '\\V\\^" . escape(a:word, '\') . "'")
|
||||||
|
endf
|
||||||
|
|
||||||
|
fun! snipMate#CanBeTriggered()
|
||||||
|
let word = snipMate#WordBelowCursor()
|
||||||
|
let matches = snipMate#GetSnippetsForWordBelowCursorForComplete(word)
|
||||||
|
return len(matches) > 0
|
||||||
|
endf
|
||||||
|
|
||||||
|
fun! snipMate#ShowAvailableSnips()
|
||||||
|
let col = col('.')
|
||||||
|
let word = snipMate#WordBelowCursor()
|
||||||
|
let matches = snipMate#GetSnippetsForWordBelowCursorForComplete(word)
|
||||||
|
|
||||||
" Pretty hacky, but really can't have the tab swallowed!
|
" Pretty hacky, but really can't have the tab swallowed!
|
||||||
if len(matches) == 0
|
if len(matches) == 0
|
||||||
|
|
|
@ -24,6 +24,14 @@ def textmate_var(var, snip):
|
||||||
endglobal
|
endglobal
|
||||||
|
|
||||||
|
|
||||||
|
snippet % "<% ${0} %>"
|
||||||
|
`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_INLINE', snip)`${0}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_INLINE', snip)`
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet = "<%= ${0} %>"
|
||||||
|
`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`${0}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)`
|
||||||
|
endsnippet
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
# GENERATED FROM get_tm_snippets.py + REGEX REPLACE #
|
# GENERATED FROM get_tm_snippets.py + REGEX REPLACE #
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# sugguestion? report bugs?
|
# sugguestion? report bugs?
|
||||||
# go to https://github.com/chrisyue/vim-snippets/issues
|
# go to https://github.com/chrisyue/vim-snippets/issues
|
||||||
|
|
||||||
snippet contr "symfony2 controller" b
|
snippet contr "Symfony2 controller" b
|
||||||
namespace `!p
|
namespace `!p
|
||||||
abspath = os.path.abspath(path)
|
abspath = os.path.abspath(path)
|
||||||
m = re.search(r'[A-Z].+(?=/)', abspath)
|
m = re.search(r'[A-Z].+(?=/)', abspath)
|
||||||
|
@ -25,19 +25,19 @@ snip.rv = re.match(r'.*(?=\.)', fn).group()
|
||||||
}
|
}
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
snippet act "symfony2 action" b
|
snippet act "Symfony2 action" b
|
||||||
/**
|
/**
|
||||||
* @Route("${3}", name="${4}")
|
* @Route("${3}", name="${4}")
|
||||||
* @Method({${5:"POST"}})
|
* @Method({${5:"POST"}})
|
||||||
|
* @Template()
|
||||||
*/
|
*/
|
||||||
public function ${1}Action(${2})
|
public function ${1}Action(${2})
|
||||||
{
|
{
|
||||||
${6}
|
${6}
|
||||||
return $this->redirect($this->generateUrl('home', [], false));
|
|
||||||
}
|
}
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
snippet actt "symfony2 action and template" b
|
snippet actt "Symfony2 action and template" b
|
||||||
/**
|
/**
|
||||||
* @Route("${3}", name="${4}")
|
* @Route("${3}", name="${4}")
|
||||||
* @Method({${5:"GET"}})
|
* @Method({${5:"GET"}})
|
||||||
|
@ -51,7 +51,7 @@ public function ${1}Action(${2})
|
||||||
abspath = os.path.abspath(path)`
|
abspath = os.path.abspath(path)`
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
snippet comm "symfony2 command" b
|
snippet comm "Symfony2 command" b
|
||||||
namespace `!p
|
namespace `!p
|
||||||
abspath = os.path.abspath(path)
|
abspath = os.path.abspath(path)
|
||||||
m = re.search(r'[A-Z].+(?=/)', abspath)
|
m = re.search(r'[A-Z].+(?=/)', abspath)
|
||||||
|
@ -74,14 +74,12 @@ snip.rv = re.match(r'.*(?=\.)', fn).group()
|
||||||
{
|
{
|
||||||
protected function configure()
|
protected function configure()
|
||||||
{
|
{
|
||||||
$this
|
$this->setName('${1}')
|
||||||
->setName('${1}')
|
|
||||||
->setDescription('${2}')
|
->setDescription('${2}')
|
||||||
->setDefinition([
|
->setDefinition([
|
||||||
new InputArgument('', InputArgument::REQUIRED, ''),
|
new InputArgument('', InputArgument::REQUIRED, ''),
|
||||||
new InputOption('', null, InputOption::VALUE_NONE, ''),
|
new InputOption('', null, InputOption::VALUE_NONE, ''),
|
||||||
])
|
]);
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function execute(InputInterface $input, OutputInterface $output)
|
protected function execute(InputInterface $input, OutputInterface $output)
|
||||||
|
@ -90,7 +88,7 @@ snip.rv = re.match(r'.*(?=\.)', fn).group()
|
||||||
}
|
}
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
snippet subs "symfony2 subscriber" b
|
snippet subs "Symfony2 subscriber" b
|
||||||
namespace `!p
|
namespace `!p
|
||||||
abspath = os.path.abspath(path)
|
abspath = os.path.abspath(path)
|
||||||
m = re.search(r'[A-Z].+(?=/)', abspath)
|
m = re.search(r'[A-Z].+(?=/)', abspath)
|
||||||
|
@ -121,7 +119,7 @@ snip.rv = re.match(r'.*(?=\.)', fn).group()
|
||||||
}
|
}
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
snippet transf "symfony2 form data transformer" b
|
snippet transf "Symfony2 form data transformer" b
|
||||||
namespace `!p
|
namespace `!p
|
||||||
abspath = os.path.abspath(path)
|
abspath = os.path.abspath(path)
|
||||||
m = re.search(r'[A-Z].+(?=/)', abspath)
|
m = re.search(r'[A-Z].+(?=/)', abspath)
|
||||||
|
@ -155,7 +153,7 @@ snip.rv = re.match(r'.*(?=\.)', fn).group()
|
||||||
}
|
}
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
snippet ent "symfony2 doctrine entity" b
|
snippet ent "Symfony2 doctrine entity" b
|
||||||
namespace `!p
|
namespace `!p
|
||||||
abspath = os.path.abspath(path)
|
abspath = os.path.abspath(path)
|
||||||
m = re.search(r'[A-Z].+(?=/)', abspath)
|
m = re.search(r'[A-Z].+(?=/)', abspath)
|
||||||
|
@ -192,7 +190,7 @@ snip.rv = re.match(r'.*(?=\.)', fn).group()
|
||||||
}
|
}
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
snippet form "symfony2 form type" b
|
snippet form "Symfony2 form type" b
|
||||||
namespace `!p
|
namespace `!p
|
||||||
abspath = os.path.abspath(path)
|
abspath = os.path.abspath(path)
|
||||||
m = re.search(r'[A-Z].+(?=/)', abspath)
|
m = re.search(r'[A-Z].+(?=/)', abspath)
|
||||||
|
@ -235,3 +233,27 @@ snip.rv = re.match(r'.*(?=\.)', fn).group()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
|
snippet ev "Symfony2 event" b
|
||||||
|
namespace `!p
|
||||||
|
abspath = os.path.abspath(path)
|
||||||
|
m = re.search(r'[A-Z].+(?=/)', abspath)
|
||||||
|
if m:
|
||||||
|
snip.rv = m.group().replace('/', '\\')
|
||||||
|
`;
|
||||||
|
|
||||||
|
use Symfony\Component\EventDispatcher\Event;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ${2:@author `whoami`}
|
||||||
|
*/
|
||||||
|
class `!p
|
||||||
|
snip.rv = re.match(r'.*(?=\.)', fn).group()
|
||||||
|
` extends Event
|
||||||
|
{
|
||||||
|
}
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet redir "Symfony2 redirect"
|
||||||
|
$this->redirect($this->generateUrl('${1}', ${2}));
|
||||||
|
endsnippet
|
||||||
|
|
33
sources_non_forked/vim-snippets/UltiSnips/twig.snippets
Normal file
33
sources_non_forked/vim-snippets/UltiSnips/twig.snippets
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
snippet bl "twig block" b
|
||||||
|
{% block ${1} %}
|
||||||
|
${2}
|
||||||
|
{% endblock $1 %}
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet js "twig javascripts" b
|
||||||
|
{% javascripts '${1}' %}
|
||||||
|
<script src="{{ asset_url }}"></script>
|
||||||
|
{% endjavascripts %}
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet css "twig stylesheets" b
|
||||||
|
{% stylesheets '${1}' %}
|
||||||
|
<link rel="stylesheet" href="{{ asset_url }}">
|
||||||
|
{% endstylesheets %}
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet if "twig if" b
|
||||||
|
{% if ${1} %}
|
||||||
|
${2}
|
||||||
|
{% endif %}
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet for "twig for" b
|
||||||
|
{% for ${1} in ${2} %}
|
||||||
|
${3}
|
||||||
|
{% endfor %}
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet ext "twig extends" b
|
||||||
|
{% extends ${1} %}
|
||||||
|
endsnippet
|
|
@ -557,3 +557,44 @@ snippet CSVIterator
|
||||||
|
|
||||||
snippet is
|
snippet is
|
||||||
isset($1{VISUAL})
|
isset($1{VISUAL})
|
||||||
|
|
||||||
|
# phpunit
|
||||||
|
snippet ase
|
||||||
|
$this->assertEquals(${1:expected}, ${2:actual});
|
||||||
|
|
||||||
|
snippet asne
|
||||||
|
$this->assertNotEquals(${1:expected}, ${2:actual});
|
||||||
|
|
||||||
|
snippet asf
|
||||||
|
$this->assertFalse(${1:Something});
|
||||||
|
|
||||||
|
snippet ast
|
||||||
|
$this->assertTrue(${1:Something});
|
||||||
|
|
||||||
|
snippet asfex
|
||||||
|
$this->assertFileExists(${1:path/to/file});
|
||||||
|
|
||||||
|
snippet asfnex
|
||||||
|
$this->assertFileNotExists(${1:path/to/file});
|
||||||
|
|
||||||
|
snippet ascon
|
||||||
|
$this->assertContains(${1:Search Value}, ${2:Array or Iterator});
|
||||||
|
|
||||||
|
snippet ashk
|
||||||
|
$this->assertArrayHasKey(${1:key}, ${2:array});
|
||||||
|
|
||||||
|
snippet asnhk
|
||||||
|
this->assertArrayNotHasKey(${1:value}, ${2:array});
|
||||||
|
|
||||||
|
snippet ascha
|
||||||
|
$this->assertClassHasAttribute('${1:Attribute Name}', '${2:ClassName}');
|
||||||
|
|
||||||
|
snippet asi
|
||||||
|
$this->assertInstanceOf(${1:expected}, ${2:actual});
|
||||||
|
|
||||||
|
snippet tc
|
||||||
|
public function test${1:name_of_the_test}()
|
||||||
|
{
|
||||||
|
${0:code}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -223,14 +223,22 @@ snippet define
|
||||||
}
|
}
|
||||||
|
|
||||||
snippet service
|
snippet service
|
||||||
service{ "${1:service}":
|
service { '${1:service}' :
|
||||||
enable => ${2:true},
|
ensure => running,
|
||||||
ensure => ${0:running},
|
enable => true,
|
||||||
hasstatus => true,
|
require => [ Package['${2:package}'], File['${3:file}'], ],
|
||||||
|
subscribe => [ File['${4:configfile1}'], File['${5:configfile2}'], Package['${6:package}'], ]
|
||||||
}
|
}
|
||||||
|
|
||||||
snippet file
|
snippet file
|
||||||
file{ "${1:path}":
|
file { '${1:filename}' :
|
||||||
${2} => ${0}
|
ensure => ${2:present},
|
||||||
|
owner => '${3:root}',
|
||||||
|
group => '${4:root}',
|
||||||
|
mode => '${5:0644}',
|
||||||
|
source => 'puppet:///modules/${6:module}/${7:source}',
|
||||||
|
content => template('/etc/puppet/templates/${8:template}'),
|
||||||
|
alias => '${9:alias}',
|
||||||
|
require => [ Package['${10:package}'], File['${11:file}'], ],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -174,7 +174,7 @@ snippet ana
|
||||||
accepts_nested_attributes_for :${0:association}
|
accepts_nested_attributes_for :${0:association}
|
||||||
# ivc == instance variable cache
|
# ivc == instance variable cache
|
||||||
snippet ivc
|
snippet ivc
|
||||||
@${1:variable_name} ||= ${0:chached_value}
|
@${1:variable_name} ||= ${0:cached_value}
|
||||||
# include Enumerable
|
# include Enumerable
|
||||||
snippet Enum
|
snippet Enum
|
||||||
include Enumerable
|
include Enumerable
|
||||||
|
|
64
sources_non_forked/vim-snippets/snippets/slim.snippets
Normal file
64
sources_non_forked/vim-snippets/snippets/slim.snippets
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
# Some useful Unicode entities
|
||||||
|
# ============================
|
||||||
|
# Non-Breaking Space
|
||||||
|
snippet nbs
|
||||||
|
|
||||||
|
# ←
|
||||||
|
snippet left
|
||||||
|
←
|
||||||
|
# →
|
||||||
|
snippet right
|
||||||
|
→
|
||||||
|
# ↑
|
||||||
|
snippet up
|
||||||
|
↑
|
||||||
|
# ↓
|
||||||
|
snippet down
|
||||||
|
↓
|
||||||
|
# ↩
|
||||||
|
snippet return
|
||||||
|
↩
|
||||||
|
# ⇤
|
||||||
|
snippet backtab
|
||||||
|
⇤
|
||||||
|
# ⇥
|
||||||
|
snippet tab
|
||||||
|
⇥
|
||||||
|
# ⇧
|
||||||
|
snippet shift
|
||||||
|
⇧
|
||||||
|
# ⌃
|
||||||
|
snippet ctrl
|
||||||
|
⌃
|
||||||
|
# ⌅
|
||||||
|
snippet enter
|
||||||
|
⌅
|
||||||
|
# ⌘
|
||||||
|
snippet cmd
|
||||||
|
⌘
|
||||||
|
# ⌥
|
||||||
|
snippet option
|
||||||
|
⌥
|
||||||
|
# ⌦
|
||||||
|
snippet delete
|
||||||
|
⌦
|
||||||
|
# ⌫
|
||||||
|
snippet backspace
|
||||||
|
⌫
|
||||||
|
# ⎋
|
||||||
|
snippet esc
|
||||||
|
⎋
|
||||||
|
|
||||||
|
# Forms
|
||||||
|
# =====
|
||||||
|
snippet fieldset
|
||||||
|
fieldset
|
||||||
|
legend ${1}
|
||||||
|
|
||||||
|
# Assets
|
||||||
|
# ======
|
||||||
|
snippet css
|
||||||
|
link rel="stylesheet" href="${1:style.css}" type="text/css" media="${2:all}"
|
||||||
|
|
||||||
|
snippet script
|
||||||
|
script src="${1:script.js}" type="text/javascript"
|
|
@ -14,11 +14,11 @@ colorscheme peaksea
|
||||||
|
|
||||||
" Set font according to system
|
" Set font according to system
|
||||||
if has("mac") || has("macunix")
|
if has("mac") || has("macunix")
|
||||||
set gfn=Menlo:h15
|
set gfn=Source\ Code\ Pro:h15,Menlo:h15
|
||||||
elseif has("win16") || has("win32")
|
elseif has("win16") || has("win32")
|
||||||
set gfn=Bitstream\ Vera\ Sans\ Mono:h11
|
set gfn=Source\ Code\ Pro:h12,Bitstream\ Vera\ Sans\ Mono:h11
|
||||||
elseif has("linux")
|
elseif has("linux")
|
||||||
set gfn=Monospace\ 11
|
set gfn=Source\ Code\ Pro:h12,Monospace\ 11
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Open MacVim in fullscreen mode
|
" Open MacVim in fullscreen mode
|
||||||
|
|
|
@ -105,3 +105,8 @@ au FileType mako vmap Si S"i${ _(<esc>2f"a) }<esc>
|
||||||
" => vim-airline config (force color)
|
" => vim-airline config (force color)
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
let g:airline_theme="luna"
|
let g:airline_theme="luna"
|
||||||
|
|
||||||
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
" => Vimroom
|
||||||
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
nnoremap <silent> <leader>vv :VimroomToggle<cr>
|
||||||
|
|
Loading…
Reference in a new issue