Fixed vim and zsh
This commit is contained in:
22
vim/plugins/indentline/.gitattributes
vendored
Normal file
22
vim/plugins/indentline/.gitattributes
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
|
||||
# Custom for Visual Studio
|
||||
*.cs diff=csharp
|
||||
*.sln merge=union
|
||||
*.csproj merge=union
|
||||
*.vbproj merge=union
|
||||
*.fsproj merge=union
|
||||
*.dbproj merge=union
|
||||
|
||||
# Standard to msysgit
|
||||
*.doc diff=astextplain
|
||||
*.DOC diff=astextplain
|
||||
*.docx diff=astextplain
|
||||
*.DOCX diff=astextplain
|
||||
*.dot diff=astextplain
|
||||
*.DOT diff=astextplain
|
||||
*.pdf diff=astextplain
|
||||
*.PDF diff=astextplain
|
||||
*.rtf diff=astextplain
|
||||
*.RTF diff=astextplain
|
171
vim/plugins/indentline/.gitignore
vendored
Normal file
171
vim/plugins/indentline/.gitignore
vendored
Normal file
@ -0,0 +1,171 @@
|
||||
#################
|
||||
## Eclipse
|
||||
#################
|
||||
|
||||
*.pydevproject
|
||||
.project
|
||||
.metadata
|
||||
bin/
|
||||
tmp/
|
||||
*.tmp
|
||||
*.bak
|
||||
*.swp
|
||||
*~.nib
|
||||
local.properties
|
||||
.classpath
|
||||
.settings/
|
||||
.loadpath
|
||||
|
||||
# External tool builders
|
||||
.externalToolBuilders/
|
||||
|
||||
# Locally stored "Eclipse launch configurations"
|
||||
*.launch
|
||||
|
||||
# CDT-specific
|
||||
.cproject
|
||||
|
||||
# PDT-specific
|
||||
.buildpath
|
||||
|
||||
|
||||
#################
|
||||
## Visual Studio
|
||||
#################
|
||||
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.sln.docstates
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Rr]elease/
|
||||
*_i.c
|
||||
*_p.c
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.vspscc
|
||||
.builds
|
||||
*.dotCover
|
||||
|
||||
## TODO: If you have NuGet Package Restore enabled, uncomment this
|
||||
#packages/
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish
|
||||
|
||||
# Others
|
||||
[Bb]in
|
||||
[Oo]bj
|
||||
sql
|
||||
TestResults
|
||||
*.Cache
|
||||
ClientBin
|
||||
stylecop.*
|
||||
~$*
|
||||
*.dbmdl
|
||||
Generated_Code #added for RIA/Silverlight projects
|
||||
|
||||
# Backup & report files from converting an old project file to a newer
|
||||
# Visual Studio version. Backup files are not needed, because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
|
||||
|
||||
|
||||
############
|
||||
## Windows
|
||||
############
|
||||
|
||||
# Windows image file caches
|
||||
Thumbs.db
|
||||
|
||||
# Folder config file
|
||||
Desktop.ini
|
||||
|
||||
|
||||
#############
|
||||
## Python
|
||||
#############
|
||||
|
||||
*.py[co]
|
||||
|
||||
# Packages
|
||||
*.egg
|
||||
*.egg-info
|
||||
dist
|
||||
build
|
||||
eggs
|
||||
parts
|
||||
bin
|
||||
var
|
||||
sdist
|
||||
develop-eggs
|
||||
.installed.cfg
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
.coverage
|
||||
.tox
|
||||
|
||||
#Translations
|
||||
*.mo
|
||||
|
||||
#Mr Developer
|
||||
.mr.developer.cfg
|
||||
|
||||
# Mac crap
|
||||
.DS_Store
|
||||
|
||||
|
||||
#############
|
||||
## Vim
|
||||
#############
|
||||
|
||||
# Exclude auto generated vim doc tags.
|
||||
doc/tags
|
21
vim/plugins/indentline/LICENSE
Normal file
21
vim/plugins/indentline/LICENSE
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2016 Yggdroot
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
118
vim/plugins/indentline/README.md
Normal file
118
vim/plugins/indentline/README.md
Normal file
@ -0,0 +1,118 @@
|
||||
indentLine
|
||||
==========
|
||||
|
||||
This plugin is used for displaying thin vertical lines at each indentation level for code indented with spaces. For code indented with tabs I think there is no need to support it, because you can use `:set list lcs=tab:\|\ (here is a space)`.
|
||||
|
||||
## Requirements
|
||||
This plugin takes advantage of the newly provided `conceal` feature in Vim 7.3, so this plugin will not work with lower versions of Vim.
|
||||
|
||||
## Installation
|
||||
To install the plugin just put the plugin files in your `~/.vim` (Linux) or `~/vimfiles` (Windows).
|
||||
|
||||
If you use a plugin manager you can put the whole directory into your `~/.vim/bundle/` directory ([Pathogen][pathogen]) or add the line `Plugin 'Yggdroot/indentLine'` to your `.vimrc` ([Vundle][vundle]).
|
||||
|
||||
## Customization
|
||||
To apply customization, apply the variable definitions to your `.vimrc` file.
|
||||
|
||||
**Change Character Color**
|
||||
|
||||
indentLine will overwrite 'conceal' color with grey by default. If you want to highlight conceal color with your colorscheme, disable by:
|
||||
```
|
||||
let g:indentLine_setColors = 0
|
||||
```
|
||||
|
||||
Or you can customize conceal color by:
|
||||
```
|
||||
" Vim
|
||||
let g:indentLine_color_term = 239
|
||||
|
||||
" GVim
|
||||
let g:indentLine_color_gui = '#A4E57E'
|
||||
|
||||
" none X terminal
|
||||
let g:indentLine_color_tty_light = 7 " (default: 4)
|
||||
let g:indentLine_color_dark = 1 " (default: 2)
|
||||
|
||||
" Background (Vim, GVim)
|
||||
let g:indentLine_bgcolor_term = 202
|
||||
let g:indentLine_bgcolor_gui = '#FF5F00'
|
||||
```
|
||||
|
||||
**Change Indent Char**
|
||||
|
||||
Vim and GVim
|
||||
```
|
||||
let g:indentLine_char = 'c'
|
||||
```
|
||||
where `'c'` can be any ASCII character. You can also use one of `¦`, `┆`, `│`, `⎸`, or `▏` to display more beautiful lines. However, these characters will only work with files whose encoding is UTF-8.
|
||||
|
||||
**Change Conceal Behaviour**
|
||||
|
||||
This plugin enables the Vim `conceal` feature which automatically hides stretches of text based on syntax highlighting. This setting will apply to all syntax items.
|
||||
|
||||
For example, users utilizing the built in json.vim syntax file will no longer see quotation marks in their JSON files.
|
||||
|
||||
indentLine will overwrite your "concealcursor" and "conceallevel" with default value:
|
||||
|
||||
```
|
||||
let g:indentLine_concealcursor = 'inc'
|
||||
let g:indentLine_conceallevel = 2
|
||||
```
|
||||
|
||||
You can customize these settings, but the plugin will not function if `conceallevel` is not set to 1 or 2.
|
||||
|
||||
If you want to keep your conceal setting, put this line to your vim dotfile:
|
||||
```
|
||||
let g:indentLine_setConceal = 0
|
||||
```
|
||||
|
||||
See the [VIM Reference Manual](http://vimdoc.sourceforge.net/htmldoc/version7.html#new-conceal) for more information on the `conceal` feature.
|
||||
|
||||
|
||||
**Disable by default**
|
||||
```
|
||||
let g:indentLine_enabled = 0
|
||||
```
|
||||
|
||||
### Commands
|
||||
`:IndentLinesToggle` toggles lines on and off.
|
||||
|
||||
### Font patching
|
||||
If you find all the standard unicode and ASCII characters too obtrusive, you might consider patching your font with the [indentLine-dotted-guide.eps][glyph] glyph provided. [FontForge][fontforge] makes the process amazingly simple:
|
||||
|
||||
1. Download and install FontForge.
|
||||
2. Locate and open your terminal/gVim font.
|
||||
3. Open the font in FontForge, choose __Goto__ from the __View__ menu and select _Private Use Area_ from the drop down box.
|
||||
4. In the private use area, locate a blank spot for the glyph. Make a note of the code, e.g. `U+E0A3`.
|
||||
5. Double-click the selected code point to open the font drawing tool.
|
||||
6. From the __File__ menu, select __Import...__ and locate the _indentLine-dotted-guide.eps_ file.
|
||||
7. Once imported, choose __File__ -> __Generate Fonts__ and choose a location and file type for the new font.
|
||||
|
||||
Once completed, your new font will contain the more subtle dotted guide and all you have to do is set that glyph to `g:indentLine_char` in your `.vimrc` file.
|
||||
|
||||
[glyph]: glyph/indentLine-dotted-guide.eps
|
||||
[fontforge]: http://fontforge.github.io/
|
||||
|
||||
## Self promotion
|
||||
If you think this script is helpful, follow the [GitHub repository][repository], and don't forget to vote for it on Vim.org! ([vimscript #4354][script]).
|
||||
|
||||
[pathogen]: https://github.com/tpope/vim-pathogen
|
||||
[vundle]: https://github.com/gmarik/vundle
|
||||
[repository]: https://github.com/Yggdroot/indentLine
|
||||
[script]: http://www.vim.org/scripts/script.php?script_id=4354
|
||||
|
||||
## Screenshots
|
||||
|
||||
### Vertical bars
|
||||

|
||||
|
||||
### Patched font
|
||||

|
||||
|
||||
### Leading Spaces
|
||||

|
||||
|
||||

|
||||
|
||||
## License
|
||||
- MIT
|
376
vim/plugins/indentline/after/plugin/indentLine.vim
Normal file
376
vim/plugins/indentline/after/plugin/indentLine.vim
Normal file
@ -0,0 +1,376 @@
|
||||
" 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_newVersion = get(g:,'indentLine_newVersion',v:version > 704 || v:version == 704 && has("patch792"))
|
||||
|
||||
let g:indentLine_char = get(g:, 'indentLine_char', (&encoding ==# "utf-8" && &term isnot# "linux" ? '¦' : '|'))
|
||||
let g:indentLine_first_char = get(g:, 'indentLine_first_char', (&encoding ==# "utf-8" && &term isnot# "linux" ? '¦' : '|'))
|
||||
let g:indentLine_indentLevel = get(g:, 'indentLine_indentLevel', 20)
|
||||
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_bufTypeExclude = get(g:, 'indentLine_bufTypeExclude', [])
|
||||
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_setConceal = get(g:, 'indentLine_setConceal', 1)
|
||||
let g:indentLine_faster = get(g:, 'indentLine_faster', 0)
|
||||
let g:indentLine_leadingSpaceChar = get(g:, 'indentLine_leadingSpaceChar', (&encoding ==# "utf-8" && &term isnot# "linux" ? '˰' : '.'))
|
||||
let g:indentLine_leadingSpaceEnabled = get(g:, 'indentLine_leadingSpaceEnabled', 0)
|
||||
let g:indentLine_mysyntaxfile = fnamemodify(expand("<sfile>"), ":p:h:h")."/syntax/indentLine.vim"
|
||||
|
||||
"{{{1 function! s:InitColor()
|
||||
function! s:InitColor()
|
||||
if !g:indentLine_setColors
|
||||
return
|
||||
endif
|
||||
|
||||
if !exists("g:indentLine_color_term")
|
||||
if &background ==# "light"
|
||||
let term_color = 249
|
||||
else
|
||||
let term_color = 239
|
||||
endif
|
||||
else
|
||||
let term_color = g:indentLine_color_term
|
||||
endif
|
||||
|
||||
if !exists("g:indentLine_bgcolor_term")
|
||||
let term_bgcolor = "NONE"
|
||||
else
|
||||
let term_bgcolor = g:indentLine_bgcolor_term
|
||||
endif
|
||||
|
||||
if !exists("g:indentLine_color_gui")
|
||||
if &background ==# "light"
|
||||
let gui_color = "Grey70"
|
||||
else
|
||||
let gui_color = "Grey30"
|
||||
endif
|
||||
else
|
||||
let gui_color = g:indentLine_color_gui
|
||||
endif
|
||||
|
||||
if !exists("g:indentLine_bgcolor_gui")
|
||||
let gui_bgcolor = "NONE"
|
||||
else
|
||||
let gui_bgcolor = g:indentLine_bgcolor_gui
|
||||
endif
|
||||
|
||||
execute "highlight Conceal cterm=NONE ctermfg=" . term_color . " ctermbg=" . term_bgcolor
|
||||
execute "highlight Conceal gui=NONE guifg=" . gui_color . " guibg=" . gui_bgcolor
|
||||
|
||||
if &term ==# "linux"
|
||||
if &background ==# "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:SetConcealOption()
|
||||
function! s:SetConcealOption()
|
||||
if !g:indentLine_setConceal
|
||||
return
|
||||
endif
|
||||
if !exists("b:indentLine_ConcealOptionSet")
|
||||
let b:indentLine_ConcealOptionSet = 1
|
||||
let &l:concealcursor = exists("g:indentLine_concealcursor") ? g:indentLine_concealcursor : "inc"
|
||||
let &l:conceallevel = exists("g:indentLine_conceallevel") ? g:indentLine_conceallevel : "2"
|
||||
endif
|
||||
endfunction
|
||||
|
||||
"{{{1 function! s:IndentLinesEnable()
|
||||
function! s:IndentLinesEnable()
|
||||
if g:indentLine_newVersion
|
||||
if &diff
|
||||
return
|
||||
endif
|
||||
|
||||
if exists("b:indentLine_enabled") && b:indentLine_enabled == 0
|
||||
return
|
||||
endif
|
||||
|
||||
if !exists("w:indentLine_indentLineId")
|
||||
let w:indentLine_indentLineId = []
|
||||
endif
|
||||
|
||||
call s:SetConcealOption()
|
||||
|
||||
if g:indentLine_showFirstIndentLevel
|
||||
call add(w:indentLine_indentLineId, matchadd('Conceal', '^ ', 0, -1, {'conceal': g:indentLine_first_char}))
|
||||
endif
|
||||
|
||||
let space = &l:shiftwidth == 0 ? &l:tabstop : &l:shiftwidth
|
||||
for i in range(space+1, space * g:indentLine_indentLevel + 1, space)
|
||||
call add(w:indentLine_indentLineId, matchadd('Conceal', '^\s\+\zs\%'.i.'v ', 0, -1, {'conceal': g:indentLine_char}))
|
||||
endfor
|
||||
|
||||
return
|
||||
endif
|
||||
|
||||
if exists("b:indentLine_enabled") && b:indentLine_enabled
|
||||
return
|
||||
else
|
||||
let b:indentLine_enabled = 1
|
||||
endif
|
||||
|
||||
call s:SetConcealOption()
|
||||
|
||||
let g:mysyntaxfile = g:indentLine_mysyntaxfile
|
||||
|
||||
let space = &l:shiftwidth == 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:IndentLinesDisable()
|
||||
function! s:IndentLinesDisable()
|
||||
if g:indentLine_newVersion
|
||||
if exists("w:indentLine_indentLineId") && ! empty(w:indentLine_indentLineId)
|
||||
for id in w:indentLine_indentLineId
|
||||
try
|
||||
call matchdelete(id)
|
||||
catch /^Vim\%((\a\+)\)\=:E80[23]/
|
||||
endtry
|
||||
endfor
|
||||
let w:indentLine_indentLineId = []
|
||||
endif
|
||||
|
||||
return
|
||||
endif
|
||||
|
||||
let b:indentLine_enabled = 0
|
||||
try
|
||||
syntax clear IndentLine
|
||||
syntax clear IndentLineSpace
|
||||
catch /^Vim\%((\a\+)\)\=:E28/ " catch error E28
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
"{{{1 function! s:IndentLinesToggle()
|
||||
function! s:IndentLinesToggle()
|
||||
if g:indentLine_newVersion
|
||||
if exists("w:indentLine_indentLineId") && ! empty(w:indentLine_indentLineId)
|
||||
let b:indentLine_enabled = 0
|
||||
call s:IndentLinesDisable()
|
||||
else
|
||||
let b:indentLine_enabled = 1
|
||||
call s:IndentLinesEnable()
|
||||
endif
|
||||
|
||||
return
|
||||
endif
|
||||
|
||||
if exists("b:indentLine_enabled") && b:indentLine_enabled
|
||||
call s:IndentLinesDisable()
|
||||
else
|
||||
call s:IndentLinesEnable()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
"{{{1 function! s:ResetWidth(...)
|
||||
function! s:ResetWidth(...)
|
||||
if 0 < a:0
|
||||
let &l:shiftwidth = a:1
|
||||
endif
|
||||
|
||||
let b:indentLine_enabled = 1
|
||||
call s:IndentLinesDisable()
|
||||
call s:IndentLinesEnable()
|
||||
endfunction
|
||||
|
||||
"{{{1 function! s:Filter()
|
||||
function! s:Filter()
|
||||
if index(g:indentLine_fileTypeExclude, &filetype) != -1
|
||||
return 0
|
||||
endif
|
||||
|
||||
if index(g:indentLine_bufTypeExclude, &buftype) != -1
|
||||
return 0
|
||||
endif
|
||||
|
||||
if len(g:indentLine_fileType) != 0 && index(g:indentLine_fileType, &filetype) == -1
|
||||
return 0
|
||||
endif
|
||||
|
||||
for name in g:indentLine_bufNameExclude
|
||||
if matchstr(bufname(''), name) == bufname('')
|
||||
return 0
|
||||
endif
|
||||
endfor
|
||||
|
||||
return 1
|
||||
endfunction
|
||||
|
||||
"{{{1 function! s:Disable()
|
||||
function! s:Disable()
|
||||
if exists("b:indentLine_enabled") && b:indentLine_enabled
|
||||
return
|
||||
elseif exists("b:indentLine_leadingSpaceEnabled") && b:indentLine_leadingSpaceEnabled
|
||||
return
|
||||
elseif s:Filter() == 0
|
||||
call s:IndentLinesDisable()
|
||||
call s:LeadingSpaceDisable()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
"{{{1 function! s:Setup()
|
||||
function! s:Setup()
|
||||
if &filetype ==# ""
|
||||
call s:InitColor()
|
||||
endif
|
||||
|
||||
if s:Filter() && g:indentLine_enabled || exists("b:indentLine_enabled") && b:indentLine_enabled
|
||||
call s:IndentLinesEnable()
|
||||
endif
|
||||
|
||||
if s:Filter() && g:indentLine_leadingSpaceEnabled || exists("b:indentLine_leadingSpaceEnabled") && b:indentLine_leadingSpaceEnabled
|
||||
call s:LeadingSpaceEnable()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
"{{{1 function! s:LeadingSpaceEnable()
|
||||
function! s:LeadingSpaceEnable()
|
||||
if g:indentLine_newVersion
|
||||
if &diff
|
||||
return
|
||||
endif
|
||||
|
||||
if exists("b:indentLine_leadingSpaceEnabled") && b:indentLine_leadingSpaceEnabled == 0
|
||||
return
|
||||
endif
|
||||
|
||||
if !exists("w:indentLine_leadingSpaceId")
|
||||
let w:indentLine_leadingSpaceId = []
|
||||
endif
|
||||
|
||||
call s:SetConcealOption()
|
||||
|
||||
call add(w:indentLine_leadingSpaceId, matchadd('Conceal', '\%(^\s*\)\@<= ', 0, -1, {'conceal': g:indentLine_leadingSpaceChar}))
|
||||
|
||||
if exists("w:indentLine_indentLineId") && ! empty(w:indentLine_indentLineId)
|
||||
call s:ResetWidth()
|
||||
endif
|
||||
|
||||
return
|
||||
endif
|
||||
|
||||
if g:indentLine_faster
|
||||
echoerr 'LeadingSpace can not be shown when g:indentLine_faster == 1'
|
||||
return
|
||||
endif
|
||||
let g:mysyntaxfile = g:indentLine_mysyntaxfile
|
||||
let b:indentLine_leadingSpaceEnabled = 1
|
||||
call s:SetConcealOption()
|
||||
execute 'syntax match IndentLineLeadingSpace /\%(^\s*\)\@<= / containedin=ALLBUT,IndentLine conceal cchar=' . g:indentLine_leadingSpaceChar
|
||||
endfunction
|
||||
|
||||
"{{{1 function! s:LeadingSpaceDisable()
|
||||
function! s:LeadingSpaceDisable()
|
||||
if g:indentLine_newVersion
|
||||
if exists("w:indentLine_leadingSpaceId") && ! empty(w:indentLine_leadingSpaceId)
|
||||
for id in w:indentLine_leadingSpaceId
|
||||
try
|
||||
call matchdelete(id)
|
||||
catch /^Vim\%((\a\+)\)\=:E80[23]/
|
||||
endtry
|
||||
endfor
|
||||
let w:indentLine_leadingSpaceId = []
|
||||
endif
|
||||
|
||||
return
|
||||
endif
|
||||
|
||||
let b:indentLine_leadingSpaceEnabled = 0
|
||||
try
|
||||
syntax clear IndentLineLeadingSpace
|
||||
catch /^Vim\%((\a\+)\)\=:E28/ " catch error E28
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
"{{{1 function! s:LeadingSpaceToggle()
|
||||
function! s:LeadingSpaceToggle()
|
||||
if g:indentLine_newVersion
|
||||
if exists("w:indentLine_leadingSpaceId") && ! empty(w:indentLine_leadingSpaceId)
|
||||
let b:indentLine_leadingSpaceEnabled = 0
|
||||
call s:LeadingSpaceDisable()
|
||||
else
|
||||
let b:indentLine_leadingSpaceEnabled = 1
|
||||
call s:LeadingSpaceEnable()
|
||||
endif
|
||||
|
||||
return
|
||||
endif
|
||||
|
||||
if exists("b:indentLine_leadingSpaceEnabled") && b:indentLine_leadingSpaceEnabled
|
||||
call s:LeadingSpaceDisable()
|
||||
else
|
||||
call s:LeadingSpaceEnable()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
"{{{1 augroup indentLine
|
||||
augroup indentLine
|
||||
autocmd!
|
||||
if g:indentLine_newVersion
|
||||
autocmd BufRead,BufNewFile,ColorScheme,Syntax * call <SID>InitColor()
|
||||
if exists("##WinNew")
|
||||
autocmd WinNew * call <SID>Setup()
|
||||
endif
|
||||
autocmd BufWinEnter * call <SID>IndentLinesDisable() | call <SID>LeadingSpaceDisable() | call <SID>Setup()
|
||||
autocmd FileType * call <SID>Disable()
|
||||
else
|
||||
autocmd BufWinEnter * call <SID>Setup()
|
||||
autocmd User * if exists("b:indentLine_enabled") || exists("b:indentLine_leadingSpaceEnabled") |
|
||||
\ call <SID>Setup() | endif
|
||||
autocmd BufRead,BufNewFile,ColorScheme,Syntax * call <SID>InitColor()
|
||||
autocmd BufUnload * let b:indentLine_enabled = 0 | let b:indentLine_leadingSpaceEnabled = 0
|
||||
autocmd SourcePre $VIMRUNTIME/syntax/nosyntax.vim doautocmd indentLine BufUnload
|
||||
autocmd FileChangedShellPost * doautocmd indentLine BufUnload | call <SID>Setup()
|
||||
endif
|
||||
augroup END
|
||||
|
||||
"{{{1 commands
|
||||
command! -nargs=? IndentLinesReset call <SID>ResetWidth(<f-args>)
|
||||
command! IndentLinesToggle call <SID>IndentLinesToggle()
|
||||
if g:indentLine_newVersion
|
||||
command! IndentLinesEnable let b:indentLine_enabled = 1 | call <SID>IndentLinesEnable()
|
||||
command! IndentLinesDisable let b:indentLine_enabled = 0 | call <SID>IndentLinesDisable()
|
||||
command! LeadingSpaceEnable let b:indentLine_leadingSpaceEnabled = 1 | call <SID>LeadingSpaceEnable()
|
||||
command! LeadingSpaceDisable let b:indentLine_leadingSpaceEnabled = 0 | call <SID>LeadingSpaceDisable()
|
||||
else
|
||||
command! IndentLinesEnable call <SID>IndentLinesEnable()
|
||||
command! IndentLinesDisable call <SID>IndentLinesDisable()
|
||||
command! LeadingSpaceEnable call <SID>LeadingSpaceEnable()
|
||||
command! LeadingSpaceDisable call <SID>LeadingSpaceDisable()
|
||||
endif
|
||||
command! LeadingSpaceToggle call <SID>LeadingSpaceToggle()
|
||||
|
||||
" vim:et:ts=4:sw=4:fdm=marker:fmr={{{,}}}
|
||||
|
2
vim/plugins/indentline/after/syntax/indentLine.vim
Normal file
2
vim/plugins/indentline/after/syntax/indentLine.vim
Normal file
@ -0,0 +1,2 @@
|
||||
"this is the `mysyntaxfile`, will be sourced after sourcing synload.vim
|
||||
autocmd Syntax * doautocmd indentLine User
|
200
vim/plugins/indentline/doc/indentLine.txt
Normal file
200
vim/plugins/indentline/doc/indentLine.txt
Normal file
@ -0,0 +1,200 @@
|
||||
*indentLine.txt* Show vertical lines for indent with conceal feature
|
||||
|
||||
CONTENTS *indentLine-contents*
|
||||
Introduction |indentLine-introduction|
|
||||
Config |indentLine-config|
|
||||
Variables |indentLine-variables|
|
||||
Commands |indentLine-commands|
|
||||
FAQ |indentLine-faq|
|
||||
Changelog |indentLine-changelog|
|
||||
Credits |indentLine-credits|
|
||||
==============================================================================
|
||||
INTRODUCTION *indentLine-introduction*
|
||||
This plugin is used for displaying thin vertical lines at each indentation
|
||||
level for code indented with spaces. For code indented with tabs, I think
|
||||
there is no need to support it, using :set list lcs=tab:\|\ (here is a space)
|
||||
can achieve it.
|
||||
==============================================================================
|
||||
CONFIG *indentLine-config*
|
||||
|
||||
==============================================================================
|
||||
VARIABLES *indentLine-variables*
|
||||
|
||||
g:indentLine_loaded *g:loaded_indentLine*
|
||||
Whether load indentLine plugin.
|
||||
Default value is 0.
|
||||
|
||||
g:indentLine_char *g:indentLine_char*
|
||||
Specify a character to be used as indent line.
|
||||
You also can use other characters:
|
||||
| ¦ ┆ │
|
||||
Default value is "|".
|
||||
|
||||
g:indentLine_setColors *g:indentLine_setColors*
|
||||
By default, indentLine will overwrite 'conceal' color.
|
||||
If you want to highlight conceal with your
|
||||
colorscheme, set this value to 0.
|
||||
Default value is 1.
|
||||
|
||||
g:indentLine_first_char *g:indentLine_first_char*
|
||||
Specify a character to be used as indent line
|
||||
on the first level.
|
||||
You also can use other characters:
|
||||
| ¦ ┆ │
|
||||
Default value is "|".
|
||||
|
||||
g:indentLine_color_term *g:indentLine_color_term*
|
||||
Specify terminal vim indent line color.
|
||||
e.g. let g:indentLine_color_term = 239
|
||||
|
||||
g:indentLine_bgcolor_term *g:indentLine_bgcolor_term*
|
||||
Specify terminal vim indent line background color.
|
||||
e.g. let g:indentLine_bgcolor_term = 202
|
||||
|
||||
|
||||
g:indentLine_color_gui *g:indentLine_color_gui*
|
||||
Specify GUI vim indent line color.
|
||||
e.g. let g:indentLine_color_gui = '#A4E57E'
|
||||
|
||||
g:indentLine_bgcolor_gui *g:indentLine_bgcolor_gui*
|
||||
Specify GUI vim indent line background color.
|
||||
e.g. let g:indentLine_color_gui = '#FF5F00'
|
||||
|
||||
g:indentLine_color_tty_light *g:indentLine_color_tty_light*
|
||||
Specify none X terminal vim indent line color in bg light.
|
||||
default: 4
|
||||
e.g. let g:indentLine_color_tty_light = 7
|
||||
|
||||
g:indentLine_color_tty_dark *g:indentLine_color_tty_dark*
|
||||
Specify none X terminal vim indent line color in bg dark.
|
||||
default: 2
|
||||
e.g. let g:indentLine_color_tty_dark = 1
|
||||
|
||||
g:indentLine_indentLevel *g:indentLine_indentLevel*
|
||||
Specify how much indent level do you want to use for
|
||||
indentLine. Most program will not has bigger indent level than
|
||||
10.
|
||||
Default value is 10.
|
||||
|
||||
g:indentLine_showFirstIndentLevel *g:indentLine_showFirstIndentLevel*
|
||||
Specify whether the first indent level should be shown.
|
||||
This is useful if you use indentLine in combination with
|
||||
|listchars| in order to show tabs.
|
||||
Default value is 0.
|
||||
|
||||
g:indentLine_enabled *g:indentLine_enabled*
|
||||
Specify whether to enable indentLine plugin by default.
|
||||
If value is not 0, the plugin is on by default, otherwise off.
|
||||
Default value is 1.
|
||||
|
||||
g:indentLine_fileType *g:indentLine_fileType*
|
||||
This variable specify a list of file types.
|
||||
When opening these types of files, the plugin is enabled by
|
||||
default.
|
||||
e.g. let g:indentLine_fileType = ['c', 'cpp']
|
||||
Default value is [] which means all file types is supported.
|
||||
|
||||
g:indentLine_fileTypeExclude *g:indentLine_fileTypeExclude*
|
||||
This variable specify a list of file types.
|
||||
When opening these types of files, the plugin is disabled by
|
||||
default.
|
||||
e.g. let g:indentLine_fileTypeExclude = ['text', 'sh']
|
||||
Default value is [] which means no file types are excluded.
|
||||
|
||||
g:indentLine_bufTypeExclude *g:indentLine_bufTypeExclude*
|
||||
This variable specify a list of buffer types.
|
||||
When opening these types of buffers, the plugin is disabled
|
||||
by default.
|
||||
e.g. let g:indentLine_bufTypeExclude = ['help', 'terminal']
|
||||
Default value is [] which means no buffer type is excluded.
|
||||
|
||||
g:indentLine_bufNameExclude *g:indentLine_bufNameExclude*
|
||||
This variable specify a list of buffer names, which can be
|
||||
regular expression. If the buffer's name fall into this list,
|
||||
the indentLine won't display.
|
||||
e.g. let g:indentLine_bufNameExclude = ['_.*', 'NERD_tree.*']
|
||||
Default value is [].
|
||||
|
||||
g:indentLine_maxLines *g:indentLine_maxLines*
|
||||
This variable specify a number, when the number of buffer's
|
||||
lines exceed it, the plugin try to use another pattern to make
|
||||
the performance better.
|
||||
Default value is 3000.
|
||||
|
||||
g:indentLine_faster *g:indentLine_faster*
|
||||
If you want the performance better, you can set the value as
|
||||
1, default value is 0. But better performance may bring little
|
||||
issue with it.
|
||||
|
||||
g:indentLine_setConceal
|
||||
The plugin will overwrite your "concealcursor" and
|
||||
"conceallevel" by default. If you want to keep your setting,
|
||||
set this value to 0.
|
||||
Default value is 1.
|
||||
|
||||
g:indentLine_concealcursor *g:indentLine_concealcursor*
|
||||
This variable toggles cursor lines behavior. If variable
|
||||
exists and is empty, that is, set to '', then the indentlines
|
||||
will not show up in the cursorline.
|
||||
See *concealcursor*.
|
||||
Default value is 'inc'.
|
||||
|
||||
g:indentLine_conceallevel *g:indentLine_conceallevel*
|
||||
This variable toggles the concealing behavior.
|
||||
See *conceallevel*.
|
||||
Default value is '2'.
|
||||
|
||||
g:indentLine_leadingSpaceChar *g:indentLine_leadingSpaceChar*
|
||||
Specify a character to show for leading spaces.
|
||||
You also can use other characters:˽˰··
|
||||
e.g. let g:indentLine_leadingSpaceChar = '·'
|
||||
|
||||
g:indentLine_leadingSpaceEnabled *g:indentLine_leadingSpaceEnabled*
|
||||
Specify whether to show leading spaces by default.
|
||||
Default value is 0.
|
||||
==============================================================================
|
||||
COMMANDS *indentLine-commands*
|
||||
|
||||
*IndentLinesReset* [number]
|
||||
if 'shiftwidth' changes, using this command can redraw the
|
||||
indentLines. number is optional, it means the width between
|
||||
two indent level, if ommited, value of 'shiftwidth' is used.
|
||||
|
||||
*IndentLinesToggle*
|
||||
toggle the indent lines of the current buffer.
|
||||
|
||||
*IndentLinesEnable*
|
||||
enable the indent lines of the current buffer.
|
||||
|
||||
*IndentLinesDisable*
|
||||
disable the indent lines of the current buffer.
|
||||
|
||||
*LeadingSpaceEnable*
|
||||
enable the leading spaces of the current buffer.
|
||||
|
||||
*LeadingSpaceDisable*
|
||||
disable the leading spaces of the current buffer.
|
||||
|
||||
*LeadingSpaceToggle*
|
||||
toggle the leading spaces of the current buffer.
|
||||
==============================================================================
|
||||
FAQ *indentLine-faq*
|
||||
|
||||
Q. How can I make the indent line visuall similar to the line used in Sublime
|
||||
Text 2?
|
||||
|
||||
A. Use let g:indentLine_char = '┊'
|
||||
|
||||
==============================================================================
|
||||
CHANGELOG *indentLine-changelog*
|
||||
|
||||
==============================================================================
|
||||
CREDITS *indentLine-credits*
|
||||
|
||||
Thanks to the following people for suggestions and patches:
|
||||
|
||||
NagatoPain
|
||||
Salman Halim
|
||||
Christophe
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl
|
169
vim/plugins/indentline/glyph/indentLine-dotted-guide.eps
Normal file
169
vim/plugins/indentline/glyph/indentLine-dotted-guide.eps
Normal file
@ -0,0 +1,169 @@
|
||||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%BoundingBox: 2.96296 -488.5 170.5 1988.5
|
||||
%%Pages: 0
|
||||
%%Title: uniE0A3 from DejaVuSansMonoForPowerline
|
||||
%%Creator: FontForge
|
||||
%%Author: Andy Earnshaw
|
||||
%%CreationDate: 22:53 1-8-2014
|
||||
%%EndComments
|
||||
%%BeginPreview: 5 74 4 74
|
||||
%013100
|
||||
%3EFE40
|
||||
%BFFFD0
|
||||
%DFFFE0
|
||||
%7FFF80
|
||||
%059600
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%048500
|
||||
%6FFF80
|
||||
%CFFFE0
|
||||
%CFFFD0
|
||||
%4EFE50
|
||||
%014100
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%19DA10
|
||||
%9FFFB0
|
||||
%DFFFE0
|
||||
%AFFFB0
|
||||
%1AEB20
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%013100
|
||||
%3EFE40
|
||||
%BFFFD0
|
||||
%DFFFE0
|
||||
%7FFF80
|
||||
%059600
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%048500
|
||||
%6FFF80
|
||||
%CFFFE0
|
||||
%CFFFD0
|
||||
%4EFF50
|
||||
%014100
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%19DA10
|
||||
%9FFFB0
|
||||
%DFFFE0
|
||||
%AFFFB0
|
||||
%1AEB20
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%013100
|
||||
%3EFE40
|
||||
%BFFFD0
|
||||
%DFFFE0
|
||||
%7FFF80
|
||||
%059600
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%000000
|
||||
%048500
|
||||
%6FFF80
|
||||
%CFFFE0
|
||||
%CFFFD0
|
||||
%4EFF50
|
||||
%014100
|
||||
%%EndPreview
|
||||
%%EndProlog
|
||||
%%Page "uniE0A3" 1
|
||||
gsave newpath
|
||||
3 -405 moveto
|
||||
3.66667 -381.667 12 -362 28 -346 curveto
|
||||
44 -330 63.6667 -321.833 87 -321.5 curveto
|
||||
110.333 -321.833 130 -330 146 -346 curveto
|
||||
162 -362 170.167 -381.667 170.5 -405 curveto
|
||||
170.167 -428.333 162 -448 146 -464 curveto
|
||||
130 -480 110.333 -488.167 87 -488.5 curveto
|
||||
63.6667 -488.167 44 -480 28 -464 curveto
|
||||
10.6667 -446.667 2.33333 -427 3 -405 curveto
|
||||
closepath
|
||||
3 255 moveto
|
||||
3.66667 278.333 12 298 28 314 curveto
|
||||
44 330 63.6667 338.167 87 338.5 curveto
|
||||
110.333 338.167 130 330 146 314 curveto
|
||||
162 298 170.167 278.333 170.5 255 curveto
|
||||
170.167 231.667 162 212 146 196 curveto
|
||||
130 180 110.333 171.833 87 171.5 curveto
|
||||
63.6667 171.833 44 180 28 196 curveto
|
||||
10.6667 213.333 2.33333 233 3 255 curveto
|
||||
closepath
|
||||
3 -75 moveto
|
||||
3.66667 -51.6667 12 -32 28 -16 curveto
|
||||
44 0 63.6667 8.16667 87 8.5 curveto
|
||||
110.333 8.16667 130 0 146 -16 curveto
|
||||
162 -32 170.167 -51.6667 170.5 -75 curveto
|
||||
170.167 -98.3333 162 -118 146 -134 curveto
|
||||
130 -150 110.333 -158.167 87 -158.5 curveto
|
||||
63.6667 -158.167 44 -150 28 -134 curveto
|
||||
10.6667 -116.667 2.33333 -97 3 -75 curveto
|
||||
closepath
|
||||
3 915 moveto
|
||||
3.66667 938.333 12 958 28 974 curveto
|
||||
44 990 63.6667 998.167 87 998.5 curveto
|
||||
110.333 998.167 130 990 146 974 curveto
|
||||
162 958 170.167 938.333 170.5 915 curveto
|
||||
170.167 891.667 162 872 146 856 curveto
|
||||
130 840 110.333 831.833 87 831.5 curveto
|
||||
63.6667 831.833 44 840 28 856 curveto
|
||||
10.6667 873.333 2.33333 893 3 915 curveto
|
||||
closepath
|
||||
3 585 moveto
|
||||
3.66667 608.333 12 628 28 644 curveto
|
||||
44 660 63.6667 668.167 87 668.5 curveto
|
||||
110.333 668.167 130 660 146 644 curveto
|
||||
162 628 170.167 608.333 170.5 585 curveto
|
||||
170.167 561.667 162 542 146 526 curveto
|
||||
130 510 110.333 501.833 87 501.5 curveto
|
||||
63.6667 501.833 44 510 28 526 curveto
|
||||
10.6667 543.333 2.33333 563 3 585 curveto
|
||||
closepath
|
||||
3 1575 moveto
|
||||
3.66667 1598.33 12 1618 28 1634 curveto
|
||||
44 1650 63.6667 1658.17 87 1658.5 curveto
|
||||
110.333 1658.17 130 1650 146 1634 curveto
|
||||
162 1618 170.167 1598.33 170.5 1575 curveto
|
||||
170.167 1551.67 162 1532 146 1516 curveto
|
||||
130 1500 110.333 1491.83 87 1491.5 curveto
|
||||
63.6667 1491.83 44 1500 28 1516 curveto
|
||||
10.6667 1533.33 2.33333 1553 3 1575 curveto
|
||||
closepath
|
||||
3 1245 moveto
|
||||
3.66667 1268.33 12 1288 28 1304 curveto
|
||||
44 1320 63.6667 1328.17 87 1328.5 curveto
|
||||
110.333 1328.17 130 1320 146 1304 curveto
|
||||
162 1288 170.167 1268.33 170.5 1245 curveto
|
||||
170.167 1221.67 162 1202 146 1186 curveto
|
||||
130 1170 110.333 1161.83 87 1161.5 curveto
|
||||
63.6667 1161.83 44 1170 28 1186 curveto
|
||||
10.6667 1203.33 2.33333 1223 3 1245 curveto
|
||||
closepath
|
||||
3 1905 moveto
|
||||
3.66667 1928.33 12 1948 28 1964 curveto
|
||||
44 1980 63.6667 1988.17 87 1988.5 curveto
|
||||
110.333 1988.17 130 1980 146 1964 curveto
|
||||
162 1948 170.167 1928.33 170.5 1905 curveto
|
||||
170.167 1881.67 162 1862 146 1846 curveto
|
||||
130 1830 110.333 1821.83 87 1821.5 curveto
|
||||
63.6667 1821.83 44 1830 28 1846 curveto
|
||||
10.6667 1863.33 2.33333 1883 3 1905 curveto
|
||||
closepath
|
||||
fill grestore
|
||||
%%EOF
|
Reference in New Issue
Block a user