The response has been limited to 50k tokens of the smallest files in the repo. You can remove this limitation by removing the max tokens filter.
├── .gitattributes
├── .github
    └── FUNDING.yml
├── .gitignore
├── LICENSE
├── README.md
├── after
    ├── plugin
    │   └── indentLine.vim
    └── syntax
    │   └── indentLine.vim
├── doc
    └── indentLine.txt
└── glyph
    └── indentLine-dotted-guide.eps


/.gitattributes:
--------------------------------------------------------------------------------
 1 | # Auto detect text files and perform LF normalization
 2 | * text=auto
 3 | 
 4 | # Custom for Visual Studio
 5 | *.cs     diff=csharp
 6 | *.sln    merge=union
 7 | *.csproj merge=union
 8 | *.vbproj merge=union
 9 | *.fsproj merge=union
10 | *.dbproj merge=union
11 | 
12 | # Standard to msysgit
13 | *.doc	 diff=astextplain
14 | *.DOC	 diff=astextplain
15 | *.docx diff=astextplain
16 | *.DOCX diff=astextplain
17 | *.dot  diff=astextplain
18 | *.DOT  diff=astextplain
19 | *.pdf  diff=astextplain
20 | *.PDF	 diff=astextplain
21 | *.rtf	 diff=astextplain
22 | *.RTF	 diff=astextplain
23 | 


--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
 1 | # These are supported funding model platforms
 2 | 
 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
 4 | patreon: # Replace with a single Patreon username
 5 | open_collective: # Replace with a single Open Collective username
 6 | ko_fi: # Replace with a single Ko-fi username
 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
 9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
13 |   - https://github.com/Yggdroot/SponsorMe/blob/main/README.md#donate
14 | 


--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
  1 | #################
  2 | ## Eclipse
  3 | #################
  4 | 
  5 | *.pydevproject
  6 | .project
  7 | .metadata
  8 | bin/
  9 | tmp/
 10 | *.tmp
 11 | *.bak
 12 | *.swp
 13 | *~.nib
 14 | local.properties
 15 | .classpath
 16 | .settings/
 17 | .loadpath
 18 | 
 19 | # External tool builders
 20 | .externalToolBuilders/
 21 | 
 22 | # Locally stored "Eclipse launch configurations"
 23 | *.launch
 24 | 
 25 | # CDT-specific
 26 | .cproject
 27 | 
 28 | # PDT-specific
 29 | .buildpath
 30 | 
 31 | 
 32 | #################
 33 | ## Visual Studio
 34 | #################
 35 | 
 36 | ## Ignore Visual Studio temporary files, build results, and
 37 | ## files generated by popular Visual Studio add-ons.
 38 | 
 39 | # User-specific files
 40 | *.suo
 41 | *.user
 42 | *.sln.docstates
 43 | 
 44 | # Build results
 45 | [Dd]ebug/
 46 | [Rr]elease/
 47 | *_i.c
 48 | *_p.c
 49 | *.ilk
 50 | *.meta
 51 | *.obj
 52 | *.pch
 53 | *.pdb
 54 | *.pgc
 55 | *.pgd
 56 | *.rsp
 57 | *.sbr
 58 | *.tlb
 59 | *.tli
 60 | *.tlh
 61 | *.tmp
 62 | *.vspscc
 63 | .builds
 64 | *.dotCover
 65 | 
 66 | ## TODO: If you have NuGet Package Restore enabled, uncomment this
 67 | #packages/
 68 | 
 69 | # Visual C++ cache files
 70 | ipch/
 71 | *.aps
 72 | *.ncb
 73 | *.opensdf
 74 | *.sdf
 75 | 
 76 | # Visual Studio profiler
 77 | *.psess
 78 | *.vsp
 79 | 
 80 | # ReSharper is a .NET coding add-in
 81 | _ReSharper*
 82 | 
 83 | # Installshield output folder
 84 | [Ee]xpress
 85 | 
 86 | # DocProject is a documentation generator add-in
 87 | DocProject/buildhelp/
 88 | DocProject/Help/*.HxT
 89 | DocProject/Help/*.HxC
 90 | DocProject/Help/*.hhc
 91 | DocProject/Help/*.hhk
 92 | DocProject/Help/*.hhp
 93 | DocProject/Help/Html2
 94 | DocProject/Help/html
 95 | 
 96 | # Click-Once directory
 97 | publish
 98 | 
 99 | # Others
100 | [Bb]in
101 | [Oo]bj
102 | sql
103 | TestResults
104 | *.Cache
105 | ClientBin
106 | stylecop.*
107 | ~$*
108 | *.dbmdl
109 | Generated_Code #added for RIA/Silverlight projects
110 | 
111 | # Backup & report files from converting an old project file to a newer
112 | # Visual Studio version. Backup files are not needed, because we have git ;-)
113 | _UpgradeReport_Files/
114 | Backup*/
115 | UpgradeLog*.XML
116 | 
117 | 
118 | 
119 | ############
120 | ## Windows
121 | ############
122 | 
123 | # Windows image file caches
124 | Thumbs.db
125 | 
126 | # Folder config file
127 | Desktop.ini
128 | 
129 | 
130 | #############
131 | ## Python
132 | #############
133 | 
134 | *.py[co]
135 | 
136 | # Packages
137 | *.egg
138 | *.egg-info
139 | dist
140 | build
141 | eggs
142 | parts
143 | bin
144 | var
145 | sdist
146 | develop-eggs
147 | .installed.cfg
148 | 
149 | # Installer logs
150 | pip-log.txt
151 | 
152 | # Unit test / coverage reports
153 | .coverage
154 | .tox
155 | 
156 | #Translations
157 | *.mo
158 | 
159 | #Mr Developer
160 | .mr.developer.cfg
161 | 
162 | # Mac crap
163 | .DS_Store
164 | 
165 | 
166 | #############
167 | ## Vim
168 | #############
169 | 
170 | # Exclude auto generated vim doc tags.
171 | doc/tags
172 | 


--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
 1 | MIT License
 2 | 
 3 | Copyright (c) 2016 Yggdroot
 4 | 
 5 | Permission is hereby granted, free of charge, to any person obtaining a copy
 6 | of this software and associated documentation files (the "Software"), to deal
 7 | in the Software without restriction, including without limitation the rights
 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 | 
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 | 
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 | 


--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
  1 | indentLine
  2 | ==========
  3 | 
  4 | 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)`.
  5 | 
  6 | ## Requirements
  7 | 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.
  8 | 
  9 | MacOS users: The copy of Vim provided in MacOS may not have the conceal feature enabled (check with `echo has('conceal')`), which will prevent the plugin from loading. To fix this, we recommend using the homebrew version of Vim.
 10 | 
 11 | ## Installation
 12 | If you are using VIM version 8 or higher you can use its built-in package management; see `:help packages` for more information. Just run these commands in your terminal:
 13 | ```bash
 14 | git clone https://github.com/Yggdroot/indentLine.git ~/.vim/pack/vendor/start/indentLine
 15 | vim -u NONE -c "helptags  ~/.vim/pack/vendor/start/indentLine/doc" -c "q"
 16 | ```
 17 | 
 18 | Otherwise, these are some of the other options:
 19 | 
 20 | * To install the plugin just put the plugin files in your `~/.vim` (Linux) or `~/vimfiles` (Windows).
 21 | 
 22 | * 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]).
 23 | 
 24 | ## Customization
 25 | To apply customization, apply the variable definitions to your `.vimrc` file.
 26 | 
 27 | **Change Character Color**
 28 | 
 29 | indentLine will overwrite 'conceal' color with grey by default. If you want to highlight conceal color with your colorscheme, disable by:
 30 | ```vim
 31 | let g:indentLine_setColors = 0
 32 | ```
 33 | 
 34 | Or you can use the same colors as another highlight group. To use the same colors that are used for tab indents, use the 'SpecialKey' group:
 35 | ```vim
 36 | let g:indentLine_defaultGroup = 'SpecialKey'
 37 | ```
 38 | 
 39 | Or you can customize conceal color by:
 40 | ```vim
 41 | " Vim
 42 | let g:indentLine_color_term = 239
 43 | 
 44 | " GVim
 45 | let g:indentLine_color_gui = '#A4E57E'
 46 | 
 47 | " none X terminal
 48 | let g:indentLine_color_tty_light = 7 " (default: 4)
 49 | let g:indentLine_color_dark = 1 " (default: 2)
 50 | 
 51 | " Background (Vim, GVim)
 52 | let g:indentLine_bgcolor_term = 202
 53 | let g:indentLine_bgcolor_gui = '#FF5F00'
 54 | ```
 55 | 
 56 | **Change Indent Char**
 57 | 
 58 | Vim and GVim
 59 | ```vim
 60 | let g:indentLine_char = 'c'
 61 | ```
 62 | 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.
 63 | 
 64 | or
 65 | ```vim
 66 | let g:indentLine_char_list = ['|', '¦', '┆', '┊']
 67 | ```
 68 | each indent level has a distinct character.
 69 | 
 70 | **Change Conceal Behaviour**
 71 | 
 72 | 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.
 73 | 
 74 | For example, users utilizing the built in json.vim syntax file will no longer see quotation marks in their JSON files
 75 | (see below how to disable conceal for JSON without disabling indentLine).
 76 | 
 77 | indentLine will overwrite your "concealcursor" and "conceallevel" with default value:
 78 | 
 79 | ```vim
 80 | let g:indentLine_concealcursor = 'inc'
 81 | let g:indentLine_conceallevel = 2
 82 | ```
 83 | 
 84 | You can customize these settings, but the plugin will not function if `conceallevel` is not set to 1 or 2.
 85 | 
 86 | If you want to keep your conceal setting, put this line to your vim dotfile:
 87 | ```vim
 88 | let g:indentLine_setConceal = 0
 89 | ```
 90 | 
 91 | See the [VIM Reference Manual](http://vimdoc.sourceforge.net/htmldoc/version7.html#new-conceal) for more information on the `conceal` feature.
 92 | 
 93 | 
 94 | **Disabling conceal for JSON and Markdown without disabling indentLine plugin**
 95 | 
 96 | Even though this plugin requires conceal to be enabled for it to work, it is
 97 | possible to disable conceal for JSON and Markdown files and still get the
 98 | indentLine plugin to show indent lines for those files.
 99 | 
100 | Builtin [json.vim](https://github.com/vim/vim/blob/master/runtime/syntax/json.vim)
101 | and [markdown.vim](https://github.com/vim/vim/blob/master/runtime/syntax/markdown.vim)
102 | syntax allow disabling conceal by setting the following vars:
103 | 
104 | * JSON
105 | ```vim
106 | let g:vim_json_conceal=0
107 | ```
108 | 
109 | * Markdown
110 | ```vim
111 | let g:markdown_syntax_conceal=0
112 | ```
113 | 
114 | If you use other syntax plugins for those file types, you will need to check
115 | their docs, as they may use different vars or have different ways to configure
116 | this.
117 | 
118 | **Disable by default**
119 | ```vim
120 | let g:indentLine_enabled = 0
121 | ```
122 | 
123 | ### Commands
124 | `:IndentLinesToggle` toggles lines on and off.
125 | 
126 | ### Font patching
127 | 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:
128 | 
129 |  1. Download and install FontForge.
130 |  2. Locate and open your terminal/gVim font.
131 |  3. Open the font in FontForge, choose __Goto__ from the __View__ menu and select _Private Use Area_ from the drop down box.
132 |  4. In the private use area, locate a blank spot for the glyph. Make a note of the code, e.g. `U+E0A3`.
133 |  5. Double-click the selected code point to open the font drawing tool.
134 |  6. From the __File__ menu, select __Import...__ and locate the _indentLine-dotted-guide.eps_ file.
135 |  7. Once imported, choose __File__ -> __Generate Fonts__ and choose a location and file type for the new font.
136 | 
137 | 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.
138 | 
139 | [glyph]: glyph/indentLine-dotted-guide.eps
140 | [fontforge]: http://fontforge.github.io/
141 | 
142 | ## Self promotion
143 | 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]).
144 | 
145 | [pathogen]: https://github.com/tpope/vim-pathogen
146 | [vundle]: https://github.com/gmarik/vundle
147 | [repository]: https://github.com/Yggdroot/indentLine
148 | [script]: http://www.vim.org/scripts/script.php?script_id=4354
149 | 
150 | ## Screenshots
151 | 
152 | ### Vertical bars
153 | ![Screenshot](http://i.imgur.com/KVi0T.jpg)
154 | 
155 | ### Patched font
156 | ![Screenshot](http://i.imgur.com/2ZA7oaZ.png)
157 | 
158 | ### Leading Spaces
159 | ![Screenshot](http://i.imgur.com/tLYkb79.png)
160 | 
161 | ![Screenshot](http://i.imgur.com/07Atrrs.png)
162 | 
163 | ## License
164 | - MIT
165 | 


--------------------------------------------------------------------------------
/after/plugin/indentLine.vim:
--------------------------------------------------------------------------------
  1 | " Script Name: indentLine.vim
  2 | " Author:      Yggdroot <archofortune@gmail.com>
  3 | "
  4 | " Description: To show the indention levels with thin vertical lines
  5 | 
  6 | scriptencoding utf-8
  7 | 
  8 | if !has("conceal")
  9 |     echoerr "conceal is invalid. To use the plugin, please enable the conceal"
 10 |     finish
 11 | endif
 12 | 
 13 | if exists("g:indentLine_loaded")
 14 |     finish
 15 | endif
 16 | let g:indentLine_loaded = 1
 17 | 
 18 | let g:indentLine_newVersion = get(g:,'indentLine_newVersion',v:version > 704 || v:version == 704 && has("patch792"))
 19 | 
 20 | let g:indentLine_char = get(g:, 'indentLine_char', (&encoding ==# "utf-8" && &term isnot# "linux" ? '¦' : '|'))
 21 | let g:indentLine_char_list = get(g:, 'indentLine_char_list', [])
 22 | let g:indentLine_first_char = get(g:, 'indentLine_first_char', (&encoding ==# "utf-8" && &term isnot# "linux" ? '¦' : '|'))
 23 | let g:indentLine_indentLevel = get(g:, 'indentLine_indentLevel', 20)
 24 | let g:indentLine_enabled = get(g:, 'indentLine_enabled', 1)
 25 | let g:indentLine_fileType = get(g:, 'indentLine_fileType', [])
 26 | let g:indentLine_fileTypeExclude = get(g:, 'indentLine_fileTypeExclude', ['leaderf'])
 27 | let g:indentLine_bufNameExclude = get(g:, 'indentLine_bufNameExclude', [])
 28 | let g:indentLine_bufTypeExclude = get(g:, 'indentLine_bufTypeExclude', [])
 29 | let g:indentLine_showFirstIndentLevel = get(g:, 'indentLine_showFirstIndentLevel', 0)
 30 | let g:indentLine_maxLines = get(g:, 'indentLine_maxLines', 3000)
 31 | let g:indentLine_setColors = get(g:, 'indentLine_setColors', 1)
 32 | let g:indentLine_setConceal = get(g:, 'indentLine_setConceal', 1)
 33 | let g:indentLine_defaultGroup = get(g:, 'indentLine_defaultGroup', "")
 34 | let g:indentLine_faster = get(g:, 'indentLine_faster', 0)
 35 | let g:indentLine_leadingSpaceChar = get(g:, 'indentLine_leadingSpaceChar', (&encoding ==# "utf-8" && &term isnot# "linux" ? '˰' : '.'))
 36 | let g:indentLine_leadingSpaceEnabled = get(g:, 'indentLine_leadingSpaceEnabled', 0)
 37 | let g:indentLine_mysyntaxfile = fnamemodify(expand("<sfile>"), ":p:h:h")."/syntax/indentLine.vim"
 38 | 
 39 | "{{{1 function! s:InitColor()
 40 | function! s:InitColor()
 41 |     if !g:indentLine_setColors
 42 |         return
 43 |     endif
 44 | 
 45 |     let default_term_bg = "NONE"
 46 |     let default_gui_bg  = "NONE"
 47 |     if &background ==# "light"
 48 |         let default_term_fg = 249
 49 |         let default_gui_fg = "Grey70"
 50 |     else
 51 |         let default_term_fg = 239
 52 |         let default_gui_fg = "Grey30"
 53 |     endif
 54 | 
 55 |     if g:indentLine_defaultGroup != ""
 56 |         let default_id = synIDtrans(hlID(g:indentLine_defaultGroup))
 57 |         let default_term_fg = synIDattr(default_id, "fg", "cterm") == "" ? default_term_fg :  synIDattr(default_id, "fg", "cterm")
 58 |         let default_term_bg = synIDattr(default_id, "bg", "cterm") == "" ? default_term_bg :  synIDattr(default_id, "bg", "cterm")
 59 |         let default_gui_fg = synIDattr(default_id, "fg", "gui") == "" ? default_gui_fg :  synIDattr(default_id, "fg", "gui")
 60 |         let default_gui_bg = synIDattr(default_id, "bg", "gui") == "" ? default_gui_bg :  synIDattr(default_id, "bg", "gui")
 61 |     endif
 62 | 
 63 |     if !exists("g:indentLine_color_term")
 64 |         let term_color = default_term_fg
 65 |     else
 66 |         let term_color = g:indentLine_color_term
 67 |     endif
 68 | 
 69 |     if !exists("g:indentLine_bgcolor_term")
 70 |         let term_bgcolor = default_term_bg
 71 |     else
 72 |         let term_bgcolor = g:indentLine_bgcolor_term
 73 |     endif
 74 | 
 75 |     if !exists("g:indentLine_color_gui")
 76 |         let gui_color = default_gui_fg
 77 |     else
 78 |         let gui_color = g:indentLine_color_gui
 79 |     endif
 80 | 
 81 |     if !exists("g:indentLine_bgcolor_gui")
 82 |         let gui_bgcolor = default_gui_bg
 83 |     else
 84 |         let gui_bgcolor = g:indentLine_bgcolor_gui
 85 |     endif
 86 | 
 87 |     execute "highlight Conceal cterm=NONE ctermfg=" . term_color . " ctermbg=" . term_bgcolor
 88 |     execute "highlight Conceal gui=NONE guifg=" . gui_color .  " guibg=" . gui_bgcolor
 89 | 
 90 |     if &term ==# "linux"
 91 |         if &background ==# "light"
 92 |             let tty_color = exists("g:indentLine_color_tty_light") ? g:indentLine_color_tty_light : 4
 93 |         else
 94 |             let tty_color = exists("g:indentLine_color_tty_dark") ? g:indentLine_color_tty_dark : 2
 95 |         endif
 96 |         execute "highlight Conceal cterm=bold ctermfg=" . tty_color .  " ctermbg=NONE"
 97 |     endif
 98 | endfunction
 99 | 
100 | "{{{1 function! s:SetConcealOption()
101 | function! s:SetConcealOption()
102 |     if !g:indentLine_setConceal
103 |         return
104 |     endif
105 |     if !(exists("b:indentLine_ConcealOptionSet") && b:indentLine_ConcealOptionSet)
106 |         let b:indentLine_ConcealOptionSet = 1
107 |         let b:indentLine_original_concealcursor = &l:concealcursor
108 |         let b:indentLine_original_conceallevel = &l:conceallevel
109 |         let &l:concealcursor = exists("g:indentLine_concealcursor") ? g:indentLine_concealcursor : "inc"
110 |         let &l:conceallevel = exists("g:indentLine_conceallevel") ? g:indentLine_conceallevel : "2"
111 |     endif
112 | endfunction
113 | 
114 | "{{{1 function! s:ResetConcealOption()
115 | function! s:ResetConcealOption()
116 |     if exists("b:indentLine_ConcealOptionSet") && b:indentLine_ConcealOptionSet
117 |         if exists("b:indentLine_original_concealcursor")
118 |             let &l:concealcursor = b:indentLine_original_concealcursor
119 |         endif
120 |         if exists("b:indentLine_original_conceallevel")
121 |             let &l:conceallevel = b:indentLine_original_conceallevel
122 |         endif
123 |         let b:indentLine_ConcealOptionSet = 0
124 |     endif
125 | endfunction
126 | 
127 | "{{{1 function! s:DisableOnDiff()
128 | function! s:DisableOnDiff()
129 |     if &diff
130 |         call s:IndentLinesDisable()
131 |         call s:LeadingSpaceDisable()
132 |     endif
133 | endfunction
134 | 
135 | "{{{1 function! s:VimEnter()
136 | function! s:VimEnter()
137 |     let init_winnr = winnr()
138 |     noautocmd windo call s:DisableOnDiff()
139 |     noautocmd exec init_winnr . "wincmd w"
140 | endfunction
141 | 
142 | "{{{1 function! s:ToggleOnDiff()
143 | function! s:ToggleOnDiff()
144 |     if &diff
145 |         call s:IndentLinesDisable()
146 |         call s:LeadingSpaceDisable()
147 |     else
148 |         call s:Setup()
149 |     endif
150 | endfunction
151 | 
152 | "{{{1 function! s:IndentLinesEnable()
153 | function! s:IndentLinesEnable()
154 |     let s:indentSpace = get(g:, 'indentLine_indentSpace', &l:shiftwidth == 0 ? &l:tabstop : &l:shiftwidth)
155 |     if g:indentLine_newVersion
156 |         if exists("b:indentLine_enabled") && b:indentLine_enabled == 0
157 |             return
158 |         endif
159 | 
160 |         if !exists("w:indentLine_indentLineId")
161 |             let w:indentLine_indentLineId = []
162 |         endif
163 | 
164 |         call s:SetConcealOption()
165 | 
166 |         if g:indentLine_showFirstIndentLevel
167 |             call add(w:indentLine_indentLineId, matchadd('Conceal', '^ ', 0, -1, {'conceal': g:indentLine_first_char}))
168 |         endif
169 | 
170 |         let n = len(g:indentLine_char_list)
171 |         let level = 0
172 |         for i in range(s:indentSpace+1, s:indentSpace * g:indentLine_indentLevel + 1, s:indentSpace)
173 |             if n > 0
174 |                 let char = g:indentLine_char_list[level % n]
175 |                 let level += 1
176 |             else
177 |                 let char = g:indentLine_char
178 |             endif
179 |             call add(w:indentLine_indentLineId, matchadd('Conceal', '^\s\+\zs\%'.i.'v ', 0, -1, {'conceal': char}))
180 |         endfor
181 | 
182 |         return
183 |     endif
184 | 
185 |     if exists("b:indentLine_enabled") && b:indentLine_enabled
186 |         return
187 |     else
188 |         let b:indentLine_enabled = 1
189 |     endif
190 | 
191 |     call s:SetConcealOption()
192 | 
193 |     let g:mysyntaxfile = g:indentLine_mysyntaxfile
194 | 
195 |     if g:indentLine_showFirstIndentLevel
196 |         execute 'syntax match IndentLine /^ / containedin=ALL conceal cchar=' . g:indentLine_first_char
197 |     endif
198 | 
199 |     if g:indentLine_faster
200 |         execute 'syntax match IndentLineSpace /^\s\+/ containedin=ALL contains=IndentLine'
201 |         execute 'syntax match IndentLine / \{'.(s:indentSpace-1).'}\zs / contained conceal cchar=' . g:indentLine_char
202 |         execute 'syntax match IndentLine /\t\zs / contained conceal cchar=' . g:indentLine_char
203 |     else
204 |         let pattern = line('
#39;) < g:indentLine_maxLines ? 'v' : 'c'
205 |         for i in range(s:indentSpace+1, s:indentSpace * s:indentLine_indentLevel + 1, s:indentSpace)
206 |             execute 'syntax match IndentLine /\%(^\s\+\)\@<=\%'.i.pattern.' / containedin=ALL conceal cchar=' . g:indentLine_char
207 |         endfor
208 |     endif
209 | endfunction
210 | 
211 | "{{{1 function! s:IndentLinesDisable()
212 | function! s:IndentLinesDisable()
213 |     if g:indentLine_newVersion
214 |         if exists("w:indentLine_indentLineId") && ! empty(w:indentLine_indentLineId)
215 |             for id in w:indentLine_indentLineId
216 |                 try
217 |                     call matchdelete(id)
218 |                 catch /^Vim\%((\a\+)\)\=:E80[23]/
219 |                 endtry
220 |             endfor
221 |             let w:indentLine_indentLineId = []
222 |         endif
223 | 
224 |         call s:ResetConcealOption()
225 |         return
226 |     endif
227 | 
228 |     let b:indentLine_enabled = 0
229 |     try
230 |         syntax clear IndentLine
231 |         syntax clear IndentLineSpace
232 |     catch /^Vim\%((\a\+)\)\=:E28/	" catch error E28
233 |     endtry
234 | endfunction
235 | 
236 | "{{{1 function! s:IndentLinesToggle()
237 | function! s:IndentLinesToggle()
238 |     if g:indentLine_newVersion
239 |         if exists("w:indentLine_indentLineId") && ! empty(w:indentLine_indentLineId)
240 |             let b:indentLine_enabled = 0
241 |             call s:IndentLinesDisable()
242 |         else
243 |             let b:indentLine_enabled = 1
244 |             call s:IndentLinesEnable()
245 |         endif
246 | 
247 |         return
248 |     endif
249 | 
250 |     if exists("b:indentLine_enabled") && b:indentLine_enabled
251 |         call s:IndentLinesDisable()
252 |     else
253 |         call s:IndentLinesEnable()
254 |     endif
255 | endfunction
256 | 
257 | "{{{1 function! s:ResetWidth(...)
258 | function! s:ResetWidth(...)
259 |     if 0 < a:0
260 |         noautocmd let &l:shiftwidth = a:1
261 |     endif
262 | 
263 |     let b:indentLine_enabled = 1
264 |     call s:IndentLinesDisable()
265 |     call s:IndentLinesEnable()
266 | endfunction
267 | 
268 | "{{{1 function! s:AutoResetWidth()
269 | function! s:AutoResetWidth()
270 | 
271 |     let l:enable = get(
272 |                     \ b:,
273 |                     \ 'indentLine_enabled',
274 |                     \ g:indentLine_enabled ? s:Filter() : 0
275 |                     \)
276 | 
277 |     let g:indentLine_autoResetWidth = get(g:, 'indentLine_autoResetWidth', 1)
278 | 
279 |     if l:enable != 1 || g:indentLine_autoResetWidth != 1
280 |         return
281 |     endif
282 | 
283 |     let b:indentLine_enabled = l:enable
284 |     call s:IndentLinesDisable()
285 |     call s:IndentLinesEnable()
286 | endfunction
287 | 
288 | "{{{1 function! s:Filter()
289 | function! s:Filter()
290 |     if index(g:indentLine_fileTypeExclude, &filetype) != -1
291 |         return 0
292 |     endif
293 | 
294 |     if index(g:indentLine_bufTypeExclude, &buftype) != -1
295 |         return 0
296 |     endif
297 | 
298 |     if len(g:indentLine_fileType) != 0 && index(g:indentLine_fileType, &filetype) == -1
299 |         return 0
300 |     endif
301 | 
302 |     for name in g:indentLine_bufNameExclude
303 |         if matchstr(bufname(''), name) == bufname('')
304 |             return 0
305 |         endif
306 |     endfor
307 | 
308 |     return 1
309 | endfunction
310 | 
311 | "{{{1 function! s:Disable()
312 | function! s:Disable()
313 |     if s:Filter() == 0
314 |         call s:IndentLinesDisable()
315 |         call s:LeadingSpaceDisable()
316 |     endif
317 | endfunction
318 | 
319 | "{{{1 function! s:Setup()
320 | function! s:Setup()
321 |     if &filetype ==# ""
322 |         call s:InitColor()
323 |     endif
324 | 
325 |     if s:Filter() && g:indentLine_enabled || exists("b:indentLine_enabled") && b:indentLine_enabled
326 |         call s:IndentLinesEnable()
327 |     endif
328 | 
329 |     if s:Filter() && g:indentLine_leadingSpaceEnabled || exists("b:indentLine_leadingSpaceEnabled") && b:indentLine_leadingSpaceEnabled
330 |         call s:LeadingSpaceEnable()
331 |     endif
332 | endfunction
333 | 
334 | "{{{1 function! s:LeadingSpaceEnable()
335 | function! s:LeadingSpaceEnable()
336 |     if g:indentLine_newVersion
337 |         if exists("b:indentLine_leadingSpaceEnabled") && b:indentLine_leadingSpaceEnabled == 0
338 |             return
339 |         endif
340 | 
341 |         if !exists("w:indentLine_leadingSpaceId")
342 |             let w:indentLine_leadingSpaceId = []
343 |         endif
344 | 
345 |         call s:SetConcealOption()
346 | 
347 |         call add(w:indentLine_leadingSpaceId, matchadd('Conceal', '\%(^\s*\)\@<= ', 0, -1, {'conceal': g:indentLine_leadingSpaceChar}))
348 | 
349 |         if exists("w:indentLine_indentLineId") && ! empty(w:indentLine_indentLineId)
350 |             call s:ResetWidth()
351 |         endif
352 | 
353 |         return
354 |     endif
355 | 
356 |     if g:indentLine_faster
357 |         echoerr 'LeadingSpace can not be shown when g:indentLine_faster == 1'
358 |         return
359 |     endif
360 |     let g:mysyntaxfile = g:indentLine_mysyntaxfile
361 |     let b:indentLine_leadingSpaceEnabled = 1
362 |     call s:SetConcealOption()
363 |     execute 'syntax match IndentLineLeadingSpace /\%(^\s*\)\@<= / containedin=ALLBUT,IndentLine conceal cchar=' . g:indentLine_leadingSpaceChar
364 | endfunction
365 | 
366 | "{{{1 function! s:LeadingSpaceDisable()
367 | function! s:LeadingSpaceDisable()
368 |     if g:indentLine_newVersion
369 |         if exists("w:indentLine_leadingSpaceId") && ! empty(w:indentLine_leadingSpaceId)
370 |             for id in w:indentLine_leadingSpaceId
371 |                 try
372 |                     call matchdelete(id)
373 |                 catch /^Vim\%((\a\+)\)\=:E80[23]/
374 |                 endtry
375 |             endfor
376 |             let w:indentLine_leadingSpaceId = []
377 |         endif
378 | 
379 |         return
380 |     endif
381 | 
382 |     let b:indentLine_leadingSpaceEnabled = 0
383 |     try
384 |         syntax clear IndentLineLeadingSpace
385 |     catch /^Vim\%((\a\+)\)\=:E28/   " catch error E28
386 |     endtry
387 | endfunction
388 | 
389 | "{{{1 function! s:LeadingSpaceToggle()
390 | function! s:LeadingSpaceToggle()
391 |     if g:indentLine_newVersion
392 |         if exists("w:indentLine_leadingSpaceId") && ! empty(w:indentLine_leadingSpaceId)
393 |             let b:indentLine_leadingSpaceEnabled = 0
394 |             call s:LeadingSpaceDisable()
395 |         else
396 |             let b:indentLine_leadingSpaceEnabled = 1
397 |             call s:LeadingSpaceEnable()
398 |         endif
399 | 
400 |         return
401 |     endif
402 | 
403 |     if exists("b:indentLine_leadingSpaceEnabled") && b:indentLine_leadingSpaceEnabled
404 |         call s:LeadingSpaceDisable()
405 |     else
406 |         call s:LeadingSpaceEnable()
407 |     endif
408 | endfunction
409 | 
410 | "{{{1 augroup indentLine
411 | augroup indentLine
412 |     autocmd!
413 |     if g:indentLine_newVersion
414 |         autocmd BufRead,BufNewFile,ColorScheme,Syntax * call s:InitColor()
415 |         if exists("##WinNew")
416 |             autocmd WinNew * call s:Setup()
417 |         endif
418 |         autocmd BufWinEnter * call s:IndentLinesDisable() | call s:LeadingSpaceDisable() | call s:Setup()
419 |         autocmd FileType * call s:Disable()
420 |         if exists("##OptionSet")
421 |             autocmd OptionSet diff call s:ToggleOnDiff()
422 |             autocmd OptionSet shiftwidth,tabstop noautocmd call s:AutoResetWidth()
423 |         endif
424 |         autocmd VimEnter * call s:VimEnter()
425 |     else
426 |         autocmd BufWinEnter * call s:Setup()
427 |         autocmd User * if exists("b:indentLine_enabled") || exists("b:indentLine_leadingSpaceEnabled") |
428 |                         \ call s:Setup() | endif
429 |         autocmd BufRead,BufNewFile,ColorScheme,Syntax * call s:InitColor()
430 |         autocmd BufUnload * let b:indentLine_enabled = 0 | let b:indentLine_leadingSpaceEnabled = 0
431 |         autocmd SourcePre $VIMRUNTIME/syntax/nosyntax.vim doautocmd indentLine BufUnload
432 |         autocmd FileChangedShellPost * doautocmd indentLine BufUnload | call s:Setup()
433 |         if exists("##OptionSet")
434 |             autocmd OptionSet diff call s:ToggleOnDiff()
435 |             autocmd OptionSet shiftwidth,tabstop noautocmd call s:AutoResetWidth()
436 |         endif
437 |         autocmd VimEnter * call s:VimEnter()
438 |     endif
439 | augroup END
440 | 
441 | "{{{1 commands
442 | command! -nargs=? IndentLinesReset call s:ResetWidth(<f-args>)
443 | command! -bar IndentLinesToggle call s:IndentLinesToggle()
444 | if g:indentLine_newVersion
445 |     command! -bar IndentLinesEnable let b:indentLine_enabled = 1 | call s:IndentLinesEnable()
446 |     command! -bar IndentLinesDisable let b:indentLine_enabled = 0 | call s:IndentLinesDisable()
447 |     command! -bar LeadingSpaceEnable let b:indentLine_leadingSpaceEnabled = 1 | call s:LeadingSpaceEnable()
448 |     command! -bar LeadingSpaceDisable let b:indentLine_leadingSpaceEnabled = 0 | call s:LeadingSpaceDisable()
449 | else
450 |     command! -bar IndentLinesEnable call s:IndentLinesEnable()
451 |     command! -bar IndentLinesDisable call s:IndentLinesDisable()
452 |     command! -bar LeadingSpaceEnable call s:LeadingSpaceEnable()
453 |     command! -bar LeadingSpaceDisable call s:LeadingSpaceDisable()
454 | endif
455 | command! LeadingSpaceToggle call s:LeadingSpaceToggle()
456 | 
457 | " vim:et:ts=4:sw=4:fdm=marker:fmr={{{,}}}
458 | 
459 | 


--------------------------------------------------------------------------------
/after/syntax/indentLine.vim:
--------------------------------------------------------------------------------
1 | "this is the `mysyntaxfile`, will be sourced after sourcing synload.vim
2 | autocmd Syntax * doautocmd indentLine User
3 | 


--------------------------------------------------------------------------------
/doc/indentLine.txt:
--------------------------------------------------------------------------------
  1 | *indentLine.txt*        Show vertical lines for indent with conceal feature
  2 | 
  3 | CONTENTS                                        *indentLine-contents*
  4 | Introduction                                    |indentLine-introduction|
  5 | Config                                          |indentLine-config|
  6 | Variables                                       |indentLine-variables|
  7 | Commands                                        |indentLine-commands|
  8 | FAQ                                             |indentLine-faq|
  9 | Changelog                                       |indentLine-changelog|
 10 | Credits                                         |indentLine-credits|
 11 | ==============================================================================
 12 | INTRODUCTION                                    *indentLine-introduction*
 13 | This plugin is used for displaying thin vertical lines at each indentation
 14 | level for code indented with spaces. For code indented with tabs, I think
 15 | there is no need to support it, using :set list lcs=tab:\|\ (here is a space)
 16 | can achieve it.
 17 | ==============================================================================
 18 | CONFIG                                          *indentLine-config*
 19 | 
 20 | ==============================================================================
 21 | VARIABLES                                       *indentLine-variables*
 22 | 
 23 | g:indentLine_char                               *g:indentLine_char*
 24 |                 Specify a character to be used as indent line if
 25 |                 |g:indentLine_char_list| is not [].
 26 |                 You also can use other characters:
 27 |                   | ¦ ┆ │
 28 |                 Default value is "|".
 29 | 
 30 | g:indentLine_char_list                          *g:indentLine_char_list*
 31 |                 Specify a list of characters to be used as indent line for
 32 |                 each indent level. If the value is an empty list [], use
 33 |                 |g:indentLine_char| instead.
 34 |                 e.g., let g:indentLine_char_list = ['|', '¦', '┆', '┊']
 35 |                 Default value is [].
 36 | 
 37 | g:indentLine_setColors                          *g:indentLine_setColors*
 38 |                 By default, indentLine will overwrite 'conceal' color.
 39 |                 If you want to highlight conceal with your
 40 |                 colorscheme, set this value to 0.
 41 |                 Default value is 1.
 42 | 
 43 | g:indentLine_first_char                         *g:indentLine_first_char*
 44 |                 Specify a character to be used as indent line
 45 |                 on the first level.
 46 |                 You also can use other characters:
 47 |                   | ¦ ┆ │
 48 |                 Default value is "|".
 49 | 
 50 | g:indentLine_color_term                         *g:indentLine_color_term*
 51 |                 Specify terminal vim indent line color.
 52 |                 e.g.  let g:indentLine_color_term = 239
 53 | 
 54 | g:indentLine_bgcolor_term                       *g:indentLine_bgcolor_term*
 55 |                 Specify terminal vim indent line background color.
 56 |                 e.g.  let g:indentLine_bgcolor_term = 202
 57 | 
 58 | 
 59 | g:indentLine_color_gui                          *g:indentLine_color_gui*
 60 |                 Specify GUI vim indent line color.
 61 |                 e.g.  let g:indentLine_color_gui = '#A4E57E'
 62 | 
 63 | g:indentLine_bgcolor_gui                        *g:indentLine_bgcolor_gui*
 64 |                 Specify GUI vim indent line background color.
 65 |                 e.g.  let g:indentLine_bgcolor_gui = '#FF5F00'
 66 | 
 67 | g:indentLine_color_tty_light                    *g:indentLine_color_tty_light*
 68 |                 Specify none X terminal vim indent line color in bg light.
 69 |                 default: 4
 70 |                 e.g.  let g:indentLine_color_tty_light = 7
 71 | 
 72 | g:indentLine_color_tty_dark                     *g:indentLine_color_tty_dark*
 73 |                 Specify none X terminal vim indent line color in bg dark.
 74 |                 default: 2
 75 |                 e.g.  let g:indentLine_color_tty_dark = 1
 76 | 
 77 | g:indentLine_indentLevel                        *g:indentLine_indentLevel*
 78 |                 Specify how much indent level do you want to use for
 79 |                 indentLine. Most program will not has bigger indent level than
 80 |                 10.
 81 |                 Default value is 10.
 82 | 
 83 | g:indentLine_showFirstIndentLevel               *g:indentLine_showFirstIndentLevel*
 84 |                 Specify whether the first indent level should be shown.
 85 |                 This is useful if you use indentLine in combination with
 86 |                 |listchars| in order to show tabs.
 87 |                 Default value is 0.
 88 | 
 89 | g:indentLine_enabled                            *g:indentLine_enabled*
 90 |                 Specify whether to enable indentLine plugin by default.
 91 |                 If value is not 0, the plugin is on by default, otherwise off.
 92 |                 Default value is 1.
 93 | 
 94 | g:indentLine_fileType                           *g:indentLine_fileType*
 95 |                 This variable specify a list of file types.
 96 |                 When opening these types of files, the plugin is enabled by
 97 |                 default.
 98 |                 e.g. let g:indentLine_fileType = ['c', 'cpp']
 99 |                 Default value is [] which means all file types is supported.
100 | 
101 | g:indentLine_fileTypeExclude                    *g:indentLine_fileTypeExclude*
102 |                 This variable specify a list of file types.
103 |                 When opening these types of files, the plugin is disabled by
104 |                 default.
105 |                 e.g. let g:indentLine_fileTypeExclude = ['text', 'sh']
106 |                 Default value is [] which means no file types are excluded.
107 | 
108 | g:indentLine_bufTypeExclude                     *g:indentLine_bufTypeExclude*
109 |                 This variable specify a list of buffer types.
110 |                 When opening these types of buffers, the plugin is disabled
111 |                 by default.
112 |                 e.g. let g:indentLine_bufTypeExclude = ['help', 'terminal']
113 |                 Default value is [] which means no buffer type is excluded.
114 | 
115 | g:indentLine_bufNameExclude                     *g:indentLine_bufNameExclude*
116 |                 This variable specify a list of buffer names, which can be
117 |                 regular expression. If the buffer's name fall into this list,
118 |                 the indentLine won't display.
119 |                 e.g. let g:indentLine_bufNameExclude = ['_.*', 'NERD_tree.*']
120 |                 Default value is [].
121 | 
122 | g:indentLine_maxLines                           *g:indentLine_maxLines*
123 |                 This variable specify a number, when the number of buffer's
124 |                 lines exceed it, the plugin try to use another pattern to make
125 |                 the performance better.
126 |                 Default value is 3000.
127 | 
128 | g:indentLine_faster                             *g:indentLine_faster*
129 |                 If you want the performance better, you can set the value as
130 |                 1, default value is 0. But better performance may bring little
131 |                 issue with it.
132 | 
133 | g:indentLine_setConceal
134 |                 The plugin will overwrite your "concealcursor" and
135 |                 "conceallevel" by default. If you want to keep your setting,
136 |                 set this value to 0.
137 |                 Default value is 1.
138 | 
139 | g:indentLine_concealcursor                      *g:indentLine_concealcursor*
140 |                 This variable toggles cursor lines behavior. If variable
141 |                 exists and is empty, that is, set to '', then the indentlines
142 |                 will not show up in the cursorline.
143 |                 See *concealcursor*.
144 |                 Default value is 'inc'.
145 | 
146 | g:indentLine_conceallevel                       *g:indentLine_conceallevel*
147 |                 This variable toggles the concealing behavior.
148 |                 See *conceallevel*.
149 |                 Default value is '2'.
150 | 
151 | g:indentLine_leadingSpaceChar                   *g:indentLine_leadingSpaceChar*
152 |                 Specify a character to show for leading spaces.
153 |                 You also can use other characters:˽˰··
154 |                 e.g. let g:indentLine_leadingSpaceChar = '·'
155 | 
156 | g:indentLine_leadingSpaceEnabled                *g:indentLine_leadingSpaceEnabled*
157 |                 Specify whether to show leading spaces by default.
158 |                 Default value is 0.
159 | 
160 | g:indentLine_defaultGroup                       *g:indentLine_defaultGroup*
161 |                 Specify a highlight group to use for default values
162 | 				of g:indentLine_[bg]color_(term|gui)
163 | 
164 | g:indentLine_autoResetWidth                     *g:indentLine_autoResetWidth*
165 |                 Specify whether to auto redraw the indentLines after
166 |                 'shiftwidth' or 'tabstop' change.
167 |                 Default value is 1.
168 | 
169 | ==============================================================================
170 | COMMANDS                                         *indentLine-commands*
171 | 
172 | *IndentLinesReset* [number]
173 |                 if 'shiftwidth' changes, using this command can redraw the
174 |                 indentLines. number is optional, it means the width between
175 |                 two indent level, if ommited, value of 'shiftwidth' is used.
176 | 
177 | *IndentLinesToggle*
178 |                 toggle the indent lines of the current buffer.
179 | 
180 | *IndentLinesEnable*
181 |                 enable the indent lines of the current buffer.
182 | 
183 | *IndentLinesDisable*
184 |                 disable the indent lines of the current buffer.
185 | 
186 | *LeadingSpaceEnable*
187 |                 enable the leading spaces of the current buffer.
188 | 
189 | *LeadingSpaceDisable*
190 |                 disable the leading spaces of the current buffer.
191 | 
192 | *LeadingSpaceToggle*
193 |                 toggle the leading spaces of the current buffer.
194 | ==============================================================================
195 | FAQ                                              *indentLine-faq*
196 | 
197 | Q. How can I make the indent line visual similar to the line used in Sublime
198 |     Text 2?
199 | 
200 | A. Use let g:indentLine_char = '┊'
201 | 
202 | Q. I don't see quotes in JSON.
203 | 
204 | A. Use let g:vim_json_syntax_conceal = 0 or run :IndentLinesDisable
205 | 
206 | ==============================================================================
207 | CHANGELOG                                        *indentLine-changelog*
208 | 
209 | ==============================================================================
210 | CREDITS                                          *indentLine-credits*
211 | 
212 | Thanks to the following people for suggestions and patches:
213 | 
214 | NagatoPain
215 | Salman Halim
216 | Christophe
217 | ==============================================================================
218 | vim:tw=78:ts=8:ft=help:norl
219 | 


--------------------------------------------------------------------------------
/glyph/indentLine-dotted-guide.eps:
--------------------------------------------------------------------------------
  1 | %!PS-Adobe-3.0 EPSF-3.0
  2 | %%BoundingBox: 2.96296 -488.5 170.5 1988.5
  3 | %%Pages: 0
  4 | %%Title: uniE0A3 from DejaVuSansMonoForPowerline
  5 | %%Creator: FontForge
  6 | %%Author: Andy Earnshaw
  7 | %%CreationDate: 22:53 1-8-2014
  8 | %%EndComments
  9 | %%BeginPreview: 5 74 4 74
 10 | %013100
 11 | %3EFE40
 12 | %BFFFD0
 13 | %DFFFE0
 14 | %7FFF80
 15 | %059600
 16 | %000000
 17 | %000000
 18 | %000000
 19 | %000000
 20 | %048500
 21 | %6FFF80
 22 | %CFFFE0
 23 | %CFFFD0
 24 | %4EFE50
 25 | %014100
 26 | %000000
 27 | %000000
 28 | %000000
 29 | %000000
 30 | %19DA10
 31 | %9FFFB0
 32 | %DFFFE0
 33 | %AFFFB0
 34 | %1AEB20
 35 | %000000
 36 | %000000
 37 | %000000
 38 | %000000
 39 | %013100
 40 | %3EFE40
 41 | %BFFFD0
 42 | %DFFFE0
 43 | %7FFF80
 44 | %059600
 45 | %000000
 46 | %000000
 47 | %000000
 48 | %000000
 49 | %048500
 50 | %6FFF80
 51 | %CFFFE0
 52 | %CFFFD0
 53 | %4EFF50
 54 | %014100
 55 | %000000
 56 | %000000
 57 | %000000
 58 | %000000
 59 | %19DA10
 60 | %9FFFB0
 61 | %DFFFE0
 62 | %AFFFB0
 63 | %1AEB20
 64 | %000000
 65 | %000000
 66 | %000000
 67 | %000000
 68 | %013100
 69 | %3EFE40
 70 | %BFFFD0
 71 | %DFFFE0
 72 | %7FFF80
 73 | %059600
 74 | %000000
 75 | %000000
 76 | %000000
 77 | %000000
 78 | %048500
 79 | %6FFF80
 80 | %CFFFE0
 81 | %CFFFD0
 82 | %4EFF50
 83 | %014100
 84 | %%EndPreview
 85 | %%EndProlog
 86 | %%Page "uniE0A3" 1
 87 | gsave newpath
 88 | 	3 -405 moveto
 89 | 	 3.66667 -381.667 12 -362 28 -346 curveto
 90 | 	 44 -330 63.6667 -321.833 87 -321.5 curveto
 91 | 	 110.333 -321.833 130 -330 146 -346 curveto
 92 | 	 162 -362 170.167 -381.667 170.5 -405 curveto
 93 | 	 170.167 -428.333 162 -448 146 -464 curveto
 94 | 	 130 -480 110.333 -488.167 87 -488.5 curveto
 95 | 	 63.6667 -488.167 44 -480 28 -464 curveto
 96 | 	 10.6667 -446.667 2.33333 -427 3 -405 curveto
 97 | 	closepath
 98 | 	3 255 moveto
 99 | 	 3.66667 278.333 12 298 28 314 curveto
100 | 	 44 330 63.6667 338.167 87 338.5 curveto
101 | 	 110.333 338.167 130 330 146 314 curveto
102 | 	 162 298 170.167 278.333 170.5 255 curveto
103 | 	 170.167 231.667 162 212 146 196 curveto
104 | 	 130 180 110.333 171.833 87 171.5 curveto
105 | 	 63.6667 171.833 44 180 28 196 curveto
106 | 	 10.6667 213.333 2.33333 233 3 255 curveto
107 | 	closepath
108 | 	3 -75 moveto
109 | 	 3.66667 -51.6667 12 -32 28 -16 curveto
110 | 	 44 0 63.6667 8.16667 87 8.5 curveto
111 | 	 110.333 8.16667 130 0 146 -16 curveto
112 | 	 162 -32 170.167 -51.6667 170.5 -75 curveto
113 | 	 170.167 -98.3333 162 -118 146 -134 curveto
114 | 	 130 -150 110.333 -158.167 87 -158.5 curveto
115 | 	 63.6667 -158.167 44 -150 28 -134 curveto
116 | 	 10.6667 -116.667 2.33333 -97 3 -75 curveto
117 | 	closepath
118 | 	3 915 moveto
119 | 	 3.66667 938.333 12 958 28 974 curveto
120 | 	 44 990 63.6667 998.167 87 998.5 curveto
121 | 	 110.333 998.167 130 990 146 974 curveto
122 | 	 162 958 170.167 938.333 170.5 915 curveto
123 | 	 170.167 891.667 162 872 146 856 curveto
124 | 	 130 840 110.333 831.833 87 831.5 curveto
125 | 	 63.6667 831.833 44 840 28 856 curveto
126 | 	 10.6667 873.333 2.33333 893 3 915 curveto
127 | 	closepath
128 | 	3 585 moveto
129 | 	 3.66667 608.333 12 628 28 644 curveto
130 | 	 44 660 63.6667 668.167 87 668.5 curveto
131 | 	 110.333 668.167 130 660 146 644 curveto
132 | 	 162 628 170.167 608.333 170.5 585 curveto
133 | 	 170.167 561.667 162 542 146 526 curveto
134 | 	 130 510 110.333 501.833 87 501.5 curveto
135 | 	 63.6667 501.833 44 510 28 526 curveto
136 | 	 10.6667 543.333 2.33333 563 3 585 curveto
137 | 	closepath
138 | 	3 1575 moveto
139 | 	 3.66667 1598.33 12 1618 28 1634 curveto
140 | 	 44 1650 63.6667 1658.17 87 1658.5 curveto
141 | 	 110.333 1658.17 130 1650 146 1634 curveto
142 | 	 162 1618 170.167 1598.33 170.5 1575 curveto
143 | 	 170.167 1551.67 162 1532 146 1516 curveto
144 | 	 130 1500 110.333 1491.83 87 1491.5 curveto
145 | 	 63.6667 1491.83 44 1500 28 1516 curveto
146 | 	 10.6667 1533.33 2.33333 1553 3 1575 curveto
147 | 	closepath
148 | 	3 1245 moveto
149 | 	 3.66667 1268.33 12 1288 28 1304 curveto
150 | 	 44 1320 63.6667 1328.17 87 1328.5 curveto
151 | 	 110.333 1328.17 130 1320 146 1304 curveto
152 | 	 162 1288 170.167 1268.33 170.5 1245 curveto
153 | 	 170.167 1221.67 162 1202 146 1186 curveto
154 | 	 130 1170 110.333 1161.83 87 1161.5 curveto
155 | 	 63.6667 1161.83 44 1170 28 1186 curveto
156 | 	 10.6667 1203.33 2.33333 1223 3 1245 curveto
157 | 	closepath
158 | 	3 1905 moveto
159 | 	 3.66667 1928.33 12 1948 28 1964 curveto
160 | 	 44 1980 63.6667 1988.17 87 1988.5 curveto
161 | 	 110.333 1988.17 130 1980 146 1964 curveto
162 | 	 162 1948 170.167 1928.33 170.5 1905 curveto
163 | 	 170.167 1881.67 162 1862 146 1846 curveto
164 | 	 130 1830 110.333 1821.83 87 1821.5 curveto
165 | 	 63.6667 1821.83 44 1830 28 1846 curveto
166 | 	 10.6667 1863.33 2.33333 1883 3 1905 curveto
167 | 	closepath
168 | fill grestore
169 | %%EOF
170 | 


--------------------------------------------------------------------------------