aboutsummaryrefslogtreecommitdiff
path: root/vim/.vim/bundle/indentLine/after/plugin/indentLine.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim/.vim/bundle/indentLine/after/plugin/indentLine.vim')
-rw-r--r--vim/.vim/bundle/indentLine/after/plugin/indentLine.vim166
1 files changed, 166 insertions, 0 deletions
diff --git a/vim/.vim/bundle/indentLine/after/plugin/indentLine.vim b/vim/.vim/bundle/indentLine/after/plugin/indentLine.vim
new file mode 100644
index 0000000..fc78278
--- /dev/null
+++ b/vim/.vim/bundle/indentLine/after/plugin/indentLine.vim
@@ -0,0 +1,166 @@
+" Script Name: indentLine.vim
+" Author: Yggdroot <archofortune@gmail.com>
+"
+" Description: To show the indention levels with thin vertical lines
+
+scriptencoding utf-8
+
+if ! has("conceal") || exists("g:indentLine_loaded")
+ finish
+endif
+let g:indentLine_loaded = 1
+
+
+let g:indentLine_char = get(g:,'indentLine_char',(&encoding is# "utf-8" && &term isnot# "linux" ? '¦' : '|'))
+let g:indentLine_first_char = get(g:,'indentLine_first_char',(&encoding is# "utf-8" && &term isnot# "linux" ? '¦' : '|'))
+let g:indentLine_indentLevel = get(g:,'indentLine_indentLevel',10)
+let g:indentLine_enabled = get(g:,'indentLine_enabled',1)
+let g:indentLine_fileType = get(g:,'indentLine_fileType',[])
+let g:indentLine_fileTypeExclude = get(g:,'indentLine_fileTypeExclude',[])
+let g:indentLine_bufNameExclude = get(g:,'indentLine_bufNameExclude',[])
+let g:indentLine_showFirstIndentLevel = get(g:,'indentLine_showFirstIndentLevel',0)
+let g:indentLine_maxLines = get(g:,'indentLine_maxLines',3000)
+let g:indentLine_setColors = get(g:,'indentLine_setColors',1)
+let g:indentLine_faster = get(g:,'indentLine_faster',0)
+
+"{{{1 function! s:InitColor()
+function! s:InitColor()
+ if ! g:indentLine_setColors
+ return
+ endif
+
+ if ! exists("g:indentLine_color_term")
+ if &background is# "light"
+ let term_color = 249
+ else
+ let term_color = 239
+ endif
+ else
+ let term_color = g:indentLine_color_term
+ endif
+
+ if ! exists("g:indentLine_color_gui")
+ if &background is# "light"
+ let gui_color = "Grey70"
+ else
+ let gui_color = "Grey30"
+ endif
+ else
+ let gui_color = g:indentLine_color_gui
+ endif
+
+ execute "highlight Conceal ctermfg=" . term_color . " ctermbg=NONE"
+ execute "highlight Conceal guifg=" . gui_color . " guibg=NONE"
+
+ if &term is# "linux"
+ if &background is# "light"
+ let tty_color = exists("g:indentLine_color_tty_light") ? g:indentLine_color_tty_light : 4
+ else
+ let tty_color = exists("g:indentLine_color_tty_dark") ? g:indentLine_color_tty_dark : 2
+ endif
+ execute "highlight Conceal cterm=bold ctermfg=" . tty_color . " ctermbg=NONE"
+ endif
+endfunction
+
+"{{{1 function! s:SetIndentLine()
+function! s:SetIndentLine()
+ let b:indentLine_enabled = 1
+ let space = &l:shiftwidth is 0 ? &l:tabstop : &l:shiftwidth
+
+ if g:indentLine_showFirstIndentLevel
+ execute 'syntax match IndentLine /^ / containedin=ALL conceal cchar=' . g:indentLine_first_char
+ endif
+
+ if g:indentLine_faster
+ execute 'syntax match IndentLineSpace /^\s\+/ containedin=ALL contains=IndentLine'
+ execute 'syntax match IndentLine / \{'.(space-1).'}\zs / contained conceal cchar=' . g:indentLine_char
+ execute 'syntax match IndentLine /\t\zs / contained conceal cchar=' . g:indentLine_char
+ else
+ let pattern = line('$') < g:indentLine_maxLines ? 'v' : 'c'
+ for i in range(space+1, space * g:indentLine_indentLevel + 1, space)
+ execute 'syntax match IndentLine /\%(^\s\+\)\@<=\%'.i.pattern.' / containedin=ALL conceal cchar=' . g:indentLine_char
+ endfor
+ endif
+endfunction
+
+"{{{1 function! s:ResetWidth(...)
+function! s:ResetWidth(...)
+ if 0 < a:0
+ let &l:shiftwidth = a:1
+ endif
+
+ if exists("b:indentLine_enabled")
+ syntax clear IndentLine
+ endif
+ call s:SetIndentLine()
+endfunction
+
+"{{{1 function! s:IndentLinesToggle()
+function! s:IndentLinesToggle()
+ if ! exists("b:indentLine_enabled")
+ let b:indentLine_enabled = 0
+ endif
+
+ if b:indentLine_enabled
+ let b:indentLine_enabled = 0
+ syntax clear IndentLine
+ else
+ call s:SetIndentLine()
+ endif
+endfunction
+
+"{{{1 function! s:Setup()
+function! s:Setup()
+ if index(g:indentLine_fileTypeExclude, &filetype) isnot -1
+ return
+ endif
+
+ if len(g:indentLine_fileType) isnot 0 && index(g:indentLine_fileType, &filetype) is -1
+ return
+ end
+
+ for name in g:indentLine_bufNameExclude
+ if matchstr(bufname(''), name) is bufname('')
+ return
+ endif
+ endfor
+
+ if ! exists("b:indentLine_bufNr")
+ let b:indentLine_bufNr = bufnr('%')
+ let g:indentLine_bufNr = bufnr('%')
+ elseif g:indentLine_bufNr != bufnr('%') && &hidden
+ let g:indentLine_bufNr = bufnr('%')
+ return
+ endif
+
+ if ! exists("g:indentLine_noConcealCursor")
+ setlocal concealcursor=inc
+ endif
+ setlocal conceallevel=2
+
+ if &filetype is# ""
+ call s:InitColor()
+ endif
+
+ if ! exists("b:indentLine_enabled")
+ let b:indentLine_enabled = g:indentLine_enabled
+ endif
+
+ if b:indentLine_enabled
+ call s:SetIndentLine()
+ endif
+endfunction
+
+"{{{1 augroup indentLine
+augroup indentLine
+ autocmd!
+ autocmd BufWinEnter * call <SID>Setup()
+ autocmd BufRead,BufNewFile,ColorScheme * call <SID>InitColor()
+augroup END
+
+"{{{1 commands
+command! -nargs=? IndentLinesReset call <SID>ResetWidth(<f-args>)
+command! IndentLinesToggle call <SID>IndentLinesToggle()
+
+" vim:et:ts=4:sw=4:fdm=marker:fmr={{{,}}}
+