*devicons*

===============================================================================
Contents ~

 1. Introduction                                        |devicons-introduction|
 2. Features                                                |devicons-features|
 3. Installation                                        |devicons-installation|
 4. Developers                                            |devicons-developers|
 5. Troubleshooting                                  |devicons-troubleshooting|
 6. Contributing                                        |devicons-contributing|
  1. Code of Conduct [22]                         |devicons-code-of-conduct-22|
  2. Contributing Guide [23]                   |devicons-contributing-guide-23|
  3. Promotion                                             |devicons-promotion|
 7. Acknowledgments                                  |devicons-acknowledgments|
 8. License                                                  |devicons-license|
 9. Detailed Installation                      |devicons-detailed-installation|
  1. Step 1 'Nerd Font'                                             |Nerd-Font|
  2. Step 2 'VimDevIcons Plugin'                           |VimDevIcons-Plugin|
   1. Pathogen [38]                                      |devicons-pathogen-38|
   2. NeoBundle [39]                                    |devicons-neobundle-39|
   3. Vundle [40]                                          |devicons-vundle-40|
   4. Manual                                                  |devicons-manual|
  3. Step 3 'Configure Vim'                                     |Configure-Vim|
   1. Set Encoding                                      |devicons-set-encoding|
   2. Set Font                                              |devicons-set-font|
   3. vim-airline                                        |devicons-vim-airline|
   4. vimrc examples                                  |devicons-vimrc-examples|
  4. That's it! You're done.                    |devicons-thats-it-youre-done.|
 10. Usage                                                     |devicons-usage|
  1. NERDTree                                               |devicons-nerdtree|
  2. Unite                                                     |devicons-unite|
  3. Denite                                                   |devicons-denite|
  4. Vimfiler                                               |devicons-vimfiler|
  5. CtrlP                                                     |devicons-ctrlp|
  6. Airline                                                 |devicons-airline|
  7. Startify                                               |devicons-startify|
  8. Lightline Setup                                 |devicons-lightline-setup|
  9. Powerline Setup                                 |devicons-powerline-setup|
  10. Flagship                                              |devicons-flagship|
 11. Detailed Features                             |devicons-detailed-features|
 12. Extra Configuration                         |devicons-extra-configuration|
  1. Character Mappings                           |devicons-character-mappings|
  2. API                                                         |devicons-api|
   1. Public Methods                                  |devicons-public-methods|
   2. API Examples                                      |devicons-api-examples|
    1. Status line                                       |devicons-status-line|
    2. Simple function call                     |devicons-simple-function-call|
   3. Integration with other plugins  |devicons-integration-with-other-plugins|
    1. vim-startify                                     |devicons-vim-startify|
 13. FAQ                                                         |devicons-faq|
  1. Why isn't it working? How come I don't see any icons? |devicons-why-isnt-it-working-how-come-i-dont-see-any-icons|
  2. How did you get color matching based on file type in NERDtree? |devicons-how-did-you-get-color-matching-based-on-file-type-in-nerdtree|
  3. How did you get color matching on just the glyph/icon in NERDtree? |devicons-how-did-you-get-color-matching-on-just-glyph-icon-in-nerdtree|
  4. How do I solve issues after re-sourcing my |vimrc|?
  5. Why do I have artifacts after (or instead) of icons? |devicons-why-do-i-have-artifacts-after-of-icons|
  6. Square brackets around icons       |devicons-square-brackets-around-icons|
   1. from terminal                                    |devicons-from-terminal|
  7. Do I have to use a patched font such as Nerd Fonts? |devicons-do-i-have-to-use-patched-font-such-as-nerd-fonts|
  8. Rationale: Why does this exist? How did this start? |devicons-rationale-why-does-this-exist-how-did-this-start|
 14. References                                           |devicons-references|

===============================================================================
                                                        *devicons-introduction*
Introduction ~
>
   _    ___           ____            ____                     
  | |  / (_____ ___  / __ \___ _   __/  _/________  ____  _____
  | | / / / __ `__ \/ / / / _ | | / // // ___/ __ \/ __ \/ ___/
  | |/ / / / / / / / /_/ /  __| |/ _/ // /__/ /_/ / / / (__  ) 
  |___/_/_/ /_/ /_/_____/\___/|___/___/\___/\____/_/ /_/____/  
<
**VimDevIcons**

Adds Icons to Your Plugins

Supports plugins such as NERDTree [1], vim-airline [2], CtrlP [3], powerline
[4], denite [5], unite [6], lightline.vim [7], vim-startify [8], vimfiler [9],
vim-workspace [10] and flagship [11].

See Screenshots [12] for more.

===============================================================================
                                                            *devicons-features*
Features ~

- Adds filetype glyphs (icons) to various vim plugins.
- Supports byte order marker (BOM).
- Customizable and extendable glyphs settings.
- Supports a wide range of file type extensions.
- Supports popular full filenames, like '.gitignore', 'node_modules',
  '.vimrc'.
- Works with patched fonts, especially Nerd Fonts [13].

See Detailed Features [14] for more.

See Configuration [15] for a list of configuration and customization options.

===============================================================================
                                                        *devicons-installation*
Installation ~

1. Install a Nerd Font compatible font [16] or patch your own [17]. Then set
   your terminal font (or 'guifont' if you are using GUI version of Vim).

2. Install the Vim plugin with your favorite plugin manager, e.g. vim-plug
   [18]:

   "vim Plug 'ryanoasis/vim-devicons'"

   Always load the vim-devicons as the very last one.

3. Configure Vim

   'vim set encoding=UTF-8'

   No need to set explicitly under Neovim: always uses UTF-8 as the default
   encoding.

See Installation [19] for detailed setup instructions

Use ':help devicons' for further configuration.

===============================================================================
                                                          *devicons-developers*
Developers ~

See DEVELOPER [20] for how to use the API.

===============================================================================
                                                     *devicons-troubleshooting*
Troubleshooting ~

See FAQ [21].

===============================================================================
                                                        *devicons-contributing*
Contributing ~

-------------------------------------------------------------------------------
                                                  *devicons-code-of-conduct-22*
Code of Conduct [22] ~

This project has adopted a Code of Conduct that we expect project participants
to adhere to. Check out code of conduct [22] for further details.

-------------------------------------------------------------------------------
                                               *devicons-contributing-guide-23*
Contributing Guide [23] ~

Read our contributing [23] guide to learn about how to send pull requests,
creating issues properly.

-------------------------------------------------------------------------------
                                                           *devicons-promotion*
Promotion ~

You can help us by simply giving a star or voting on vim.org. It will ensure
continued development going forward.

- Star this repository on GitHub [24].
- Vote for it on vim.org [25].

===============================================================================
                                                     *devicons-acknowledgments*
Acknowledgments ~

Thanks goes to these people for inspiration and helping with sending PRs.

- vim-airline [2]
- nerdtree [1]
- nerdtree-git-plugin [26] by @Xuyuanp [27]
- seti-ui [28] by @jesseweed [29]
- devicons [30] by @vorillaz [31]
- development.svg.icons [32] by @benatespina [33]
- Learn Vimscript the Hard Way [34] book by Steve Losh [35]
- All contributors [36]

===============================================================================
                                                             *devicons-license*
License ~

MIT [37]

===============================================================================
                                               *devicons-detailed-installation*
Detailed Installation ~

-------------------------------------------------------------------------------
                                                                    *Nerd-Font*
Step 1 'Nerd Font' ~

Get a **Nerd Font!** [16] or patch your own. [17] Without this, things break

-------------------------------------------------------------------------------
                                                           *VimDevIcons-Plugin*
Step 2 'VimDevIcons Plugin' ~

**Set VimDevIcons to load _after_ these plugins!**

NERDTree [1] | vim-airline [2] | CtrlP [3] | powerline [4] | Denite [5] | unite
[6] | lightline.vim [7] | vim-startify [8] | vimfiler [9] | flagship [11]

Choose your favorite plugin manager

-------------------------------------------------------------------------------
                                                         *devicons-pathogen-38*
Pathogen [38] ~

- 'git clone https://github.com/ryanoasis/vim-devicons ~/.vim/bundle/vim-
  devicons'

-------------------------------------------------------------------------------
                                                        *devicons-neobundle-39*
NeoBundle [39] ~

- Add to vimrc:

  "vim NeoBundle 'ryanoasis/vim-devicons'" * And install it:

  'vim :so ~/.vimrc :NeoBundleInstall'

-------------------------------------------------------------------------------
                                                           *devicons-vundle-40*
Vundle [40] ~

- Add to vimrc:

  "vim Plugin 'ryanoasis/vim-devicons'" * And install it:

  'vim :so ~/.vimrc :PlugInstall'

-------------------------------------------------------------------------------
                                                              *devicons-manual*
Manual ~

- copy all of the files into your '~/.vim' directory

-------------------------------------------------------------------------------
                                                                *Configure-Vim*
Step 3 'Configure Vim' ~

Add the following in your '.vimrc' or '.gvimrc':

-------------------------------------------------------------------------------
                                                        *devicons-set-encoding*
Set Encoding ~

**Set encoding to UTF-8 to show glyphs**

'vim set encoding=utf8'

-------------------------------------------------------------------------------
                                                            *devicons-set-font*
Set Font ~

**Set Vim font to a Nerd Font**

Linux 'vim set guifont='
>
  set guifont=DroidSansMono\ Nerd\ Font\ 11
<
macOS (OS X) and Windows
>
  set guifont=:h
<

>
  set guifont=DroidSansMono\ Nerd\ Font:h11
  " or:
  set guifont=DroidSansMono_Nerd_Font:h11
<
**Note:** if you don't set 'guifont' then you'll have to set your terminal's
font, else things break!

-------------------------------------------------------------------------------
                                                         *devicons-vim-airline*
vim-airline ~

**If you use vim-airline you need this:**

'vim let g:airline_powerline_fonts = 1'

-------------------------------------------------------------------------------
                                                      *devicons-vimrc-examples*
vimrc examples ~

- Sample Windows vimrc configuration 1 [41]
- Sample Linux vimrc configuration 1 [42]

-------------------------------------------------------------------------------
                                                *devicons-thats-it-youre-done.*
That's it! You're done. ~

===============================================================================
                                                               *devicons-usage*
Usage ~

If you installed and setup things correctly you should now see icons in the
supported plugins!

**Notes on include order:** _for support of these plugins: NERDTree [1], vim-
airline [2], CtrlP [3], powerline [4], Denite [5], unite [6], vimfiler [9],
flagship [11] you **must** configure vim to load those plugins__before_ vim-
devicons loads. for better nerdtree-git-plugin [26] support, you _should_
configure vim to load nerdtree-git-plugin **_before_** VimDevIcons loads. * if
you are lazy loading Denite [5] using the Dein plugin manager, you will need to
source VimDevIcons before Denite loads.

Lightline Setup and Powerline Setup require some extra setup as shown below:

-------------------------------------------------------------------------------
                                                            *devicons-nerdtree*
NERDTree ~

Should work "out of the box", no particular configuration should be needed.
>
  " Can be enabled or disabled
  let g:webdevicons_enable_nerdtree = 1
<

>
  " whether or not to show the nerdtree brackets around flags
  let g:webdevicons_conceal_nerdtree_brackets = 1
<
-------------------------------------------------------------------------------
                                                               *devicons-unite*
Unite ~

Should work "out of the box", no particular configuration should be needed.
>
  " Can be enabled or disabled
  " adding the custom source to unite
  let g:webdevicons_enable_unite = 1
<
-------------------------------------------------------------------------------
                                                              *devicons-denite*
Denite ~

Should work "out of the box", no particular configuration should be needed.
>
  " Can be enabled or disabled
  " Adding the custom source to denite
  let g:webdevicons_enable_denite = 1
<
-------------------------------------------------------------------------------
                                                            *devicons-vimfiler*
Vimfiler ~

Should work "out of the box", no particular configuration should be needed.
>
  " Can be enabled or disabled
  " adding the column to vimfiler
  let g:webdevicons_enable_vimfiler = 1
<
-------------------------------------------------------------------------------
                                                               *devicons-ctrlp*
CtrlP ~

Should work "out of the box", no particular configuration should be needed.
>
  " Can be enabled or disabled
  " add glyphs to all modes
  let g:webdevicons_enable_ctrlp = 1
<
-------------------------------------------------------------------------------
                                                             *devicons-airline*
Airline ~

Should work "out of the box", no particular configuration should be needed.
>
  " adding to vim-airline's tabline
  let g:webdevicons_enable_airline_tabline = 1
<

>
  " adding to vim-airline's statusline
  let g:webdevicons_enable_airline_statusline = 1
<
-------------------------------------------------------------------------------
                                                            *devicons-startify*
Startify ~

Should work "out of the box", no particular configuration should be needed.
>
  " Can be enabled or disabled
  " adding to vim-startify screen
  let g:webdevicons_enable_startify = 1
<
-------------------------------------------------------------------------------
                                                     *devicons-lightline-setup*
Lightline Setup ~

To add the appropriate icon to lightline [7], call the function
'WebDevIconsGetFileTypeSymbol()' and/or 'WebDevIconsGetFileFormatSymbol()' in
your '.vimrc'. For example, you could set your sections to:
>
  let g:lightline = {
        \ 'component_function': {
        \   'filetype': 'MyFiletype',
        \   'fileformat': 'MyFileformat',
        \ }
        \ }
  
  function! MyFiletype()
    return winwidth(0) > 70 ? (strlen(&filetype) ? &filetype . ' ' . WebDevIconsGetFileTypeSymbol() : 'no ft') : ''
  endfunction
  
  function! MyFileformat()
    return winwidth(0) > 70 ? (&fileformat . ' ' . WebDevIconsGetFileFormatSymbol()) : ''
  endfunction
<
-------------------------------------------------------------------------------
                                                     *devicons-powerline-setup*
Powerline Setup ~

- _Note this is for the current Powerline [4] not the deprecated vim-
  powerline [43]_

To enable for Powerline [4] some |vimrc| and powerline configuration changes
are needed:

|vimrc| changes (only required if you don't already have powerline setup for
vim):
>
  set rtp+=$HOME/.local/lib/python2.7/site-packages/powerline/bindings/vim/
  
  " Always show statusline
  set laststatus=2
  
  " Use 256 colours (Use this setting only if your terminal supports 256 colours)
  set t_Co=256
<
powerline configuration changes:

file type segment
>
  {
      "function": "vim_devicons.powerline.segments.webdevicons",
      "priority": 10,
      "draw_soft_divider": false,
      "after": "  "
  }
<
file format segment
>
  {
      "function": "vim_devicons.powerline.segments.webdevicons_file_format",
      "draw_soft_divider": false,
      "exclude_modes": ["nc"],
      "priority": 90
   }
<
for full example see sample file [44]

-------------------------------------------------------------------------------
                                                            *devicons-flagship*
Flagship ~

Should work "out of the box", no particular configuration should be needed.
>
  " Can be enabled or disabled
  " adding to flagship's statusline
  let g:webdevicons_enable_flagship_statusline = 1
<
===============================================================================
                                                   *devicons-detailed-features*
Detailed Features ~

- Adds filetype glyphs (icons) to various vim plugins, currently supports:

- NERDTree [1]

  - Using the version hosted on vimscripts [45] in favor of GitHub will
    lead to a outdated message, and icons will fail to show.

- vim-airline [2] (statusline and tabline)

- CtrlP [3]  (All modes now supported)

  - Using the version hosted on vimscripts [46] in favor of GitHub will
    lead to a outdated message, and icons will fail to show.

- powerline [4]  (statusline)

  - see: powerline setup

- Denite [5]

  - Currently supports 'file_rec', 'file_old', 'buffer', and
    'directory_rec'

- unite [6]

  - Currently supports 'file', 'file_rec', 'buffer', 'file_rec/async', and
    'file_rec/neovim'

- lightline.vim [7]  (statusline)

  - see: lightline setup

- vim-startify [8]

- vimfiler [9]

- flagship [11]

  - Support is **experimental** because the API may be changing [47]

- vim-workspace [10]

- Supports byte order marker (BOM)

- Customizable and extendable glyphs (icons) settings

- ability to override defaults and use your own characters or glyphs

- Supports a wide range of file type extensions by default:

- 'styl, sass, scss, htm, html, slim, ejs, css, less, md, rmd, json, js, jsx,
  rb, php, py, pyc, pyd, pyo, coffee, mustache, hbs, conf, ini, yml, yaml,
  bat, jpg, jpeg, bmp, png, gif, twig, cpp, c++, cxx, cc, cp, c, h, hpp, hxx,
  hs, lhs, lua, java, sh, bash, zsh, ksh, csh, awk, ps1, fish, diff, db, clj,
  cljs, edn, scala, go, dart, xul, sln, suo, pl, pm, t, rss, f#, fsscript,
  fsx, fs, fsi, rs, rlib, d, erl, hrl, vim, ai, psd, psb, ts, jl, pp, vue,
  swift, eex, ex, exs'

- Supports a few full filename matches, by default:

- 'gruntfile.coffee, gruntfile.js, gruntfile.ls, gulpfile.coffee,
  gulpfile.js, gulpfile.ls, dropbox, .ds_store, .gitconfig, .gitignore,
  .bashrc, .zshrc, .vimrc, .bashprofile, favicon.ico, license, node_modules,
  react.jsx, procfile'

- Supports a few library pattern matches, by default:

- 'jquery, angular, backbone, requirejs, materialize, mootools, Vagrantfile'

- Works with patched fonts, especially Nerd Fonts [13]

===============================================================================
                                                 *devicons-extra-configuration*
Extra Configuration ~

- These options can be defined in your |vimrc| or 'gvimrc'

- Most options are enabled **'1'** by default but can be disabled with
  **'0'**

- You _should_**not** need to configure anything, however, the following
  options are provided for customizing or changing the defaults:
>
  " loading the plugin
  let g:webdevicons_enable = 1
<

>
  " adding the flags to NERDTree
  let g:webdevicons_enable_nerdtree = 1
<

>
  " adding the custom source to unite
  let g:webdevicons_enable_unite = 1
<

>
  " adding the column to vimfiler
  let g:webdevicons_enable_vimfiler = 1
<

>
  " adding to vim-airline's tabline
  let g:webdevicons_enable_airline_tabline = 1
<

>
  " adding to vim-airline's statusline
  let g:webdevicons_enable_airline_statusline = 1
<

>
  " ctrlp glyphs
  let g:webdevicons_enable_ctrlp = 1
<

>
  " adding to vim-startify screen
  let g:webdevicons_enable_startify = 1
<

>
  " adding to flagship's statusline
  let g:webdevicons_enable_flagship_statusline = 1
<

>
  " turn on/off file node glyph decorations (not particularly useful)
  let g:WebDevIconsUnicodeDecorateFileNodes = 1
<

>
  " use double-width(1) or single-width(0) glyphs
  " only manipulates padding, has no effect on terminal or set(guifont) font
  let g:WebDevIconsUnicodeGlyphDoubleWidth = 1
<

>
  " whether or not to show the nerdtree brackets around flags
  let g:webdevicons_conceal_nerdtree_brackets = 1
<

>
  " the amount of space to use after the glyph character (default ' ')
  let g:WebDevIconsNerdTreeAfterGlyphPadding = '  '
<

>
  " Force extra padding in NERDTree so that the filetype icons line up vertically
  let g:WebDevIconsNerdTreeGitPluginForceVAlign = 1
<

>
  " Adding the custom source to denite
  let g:webdevicons_enable_denite = 1
<
-------------------------------------------------------------------------------
                                                  *devicons-character-mappings*
Character Mappings ~

- 'ƛ' is used as an example below, substitute for the glyph you **actually**
  want to use
>
  " change the default character when no match found
  let g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol = 'ƛ'
<

>
  " set a byte character marker (BOM) utf-8 symbol when retrieving file encoding
  " disabled by default with no value
  let g:WebDevIconsUnicodeByteOrderMarkerDefaultSymbol = ''
<

>
  " enable folder/directory glyph flag (disabled by default with 0)
  let g:WebDevIconsUnicodeDecorateFolderNodes = 1
<

>
  " enable open and close folder/directory glyph flags (disabled by default with 0)
  let g:DevIconsEnableFoldersOpenClose = 1
<

>
  " enable pattern matching glyphs on folder/directory (enabled by default with 1)
  let g:DevIconsEnableFolderPatternMatching = 1
<

>
  " enable file extension pattern matching glyphs on folder/directory (disabled by default with 0)
  let g:DevIconsEnableFolderExtensionPatternMatching = 0
<

>
  " enable custom folder/directory glyph exact matching
  " (enabled by default when g:WebDevIconsUnicodeDecorateFolderNodes is set to 1)
  let WebDevIconsUnicodeDecorateFolderNodesExactMatches = 1
<

>
  " change the default folder/directory glyph/icon
  let g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol = 'ƛ'
<

>
  " change the default open folder/directory glyph/icon (default is '')
  let g:DevIconsDefaultFolderOpenSymbol = 'ƛ'
<

>
  " change the default dictionary mappings for file extension matches
  
  let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols = {} " needed
  let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols['js'] = 'ƛ'
<

>
  " change the default dictionary mappings for exact file node matches
  
  let g:WebDevIconsUnicodeDecorateFileNodesExactSymbols = {} " needed
  let g:WebDevIconsUnicodeDecorateFileNodesExactSymbols['MyReallyCoolFile.okay'] = 'ƛ'
<

>
  " add or override individual additional filetypes
  
  let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols = {} " needed
  let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols['myext'] = 'ƛ'
<

>
  " add or override pattern matches for filetypes
  " these take precedence over the file extensions
  
  let g:WebDevIconsUnicodeDecorateFileNodesPatternSymbols = {} " needed
  let g:WebDevIconsUnicodeDecorateFileNodesPatternSymbols['.*jquery.*\.js$'] = 'ƛ'
<
specify OS to decide an icon for unix fileformat (_not_ defined by default) -
this is useful for avoiding unnecessary 'system()' call. see #135 [48] for
further details.
>
  let g:WebDevIconsOS = 'Darwin'
<
-------------------------------------------------------------------------------
                                                                 *devicons-api*
API ~
>
  " returns the font character that represents the icon
  " parameters: a:1 (filename), a:2 (isDirectory)
  " both parameters optional
  " by default without parameters uses buffer name
  WebDevIconsGetFileTypeSymbol(...)
  
  " returns the font character that represents
  " the file format as an icon (windows, linux, mac)
  WebDevIconsGetFileFormatSymbol()
<
-------------------------------------------------------------------------------
                                                      *devicons-public-methods*
Public Methods ~
>
  " Returns the current version of the plugin
  webdevicons#version()
<

>
  " Calls webdevicons#softRefresh()
  " basically a backwards compatibility convenience
  webdevicons#refresh()
<

>
  " Does a 'hard' refresh of NERDTree
  " resets vim-devicons syntax and closes and reopens NERDTree
  webdevicons#hardRefresh()
<

>
  " Does a 'soft' refresh of NERDTree
  " resets vim-devicons syntax and toggles NERDTree to the same state
  webdevicons#softRefresh()
<
-------------------------------------------------------------------------------
                                                        *devicons-api-examples*
API Examples ~

-------------------------------------------------------------------------------
                                                         *devicons-status-line*
Status line ~

Custom vim status line (not relying on vim-airline or lightline):
>
  set statusline=%f\ %{WebDevIconsGetFileTypeSymbol()}\ %h%w%m%r\ %=%(%l,%c%V\ %Y\ %=\ %P%)
<
-------------------------------------------------------------------------------
                                                *devicons-simple-function-call*
Simple function call ~
>
  echo WebDevIconsGetFileFormatSymbol()
<
-------------------------------------------------------------------------------
                                      *devicons-integration-with-other-plugins*
Integration with other plugins ~

-------------------------------------------------------------------------------
                                                        *devicons-vim-startify*
vim-startify ~
>
  let entry_format = "'   ['. index .']'. repeat(' ', (3 - strlen(index)))"
  
  if exists('*WebDevIconsGetFileTypeSymbol')  " support for vim-devicons
    let entry_format .= ". WebDevIconsGetFileTypeSymbol(entry_path) .' '.  entry_path"
  else
    let entry_format .= '. entry_path'
  endif
<
===============================================================================
                                                                 *devicons-faq*
FAQ ~

**Table of Contents:**

**It's not working at all:**

- **Why isn't it working? How come I don't see any icons?**

**Syntax or color highlighting:**

- **How did you get color matching based on file type in NERDtree?**
- **How did you get color matching on just the glyph/icon in NERDtree?**

**Re-sourcing |vimrc|:**

- **How do I solve issues after re-sourcing my |vimrc|?**

**Weird artifacts after/on the glyphs:**

- **Why do I have artifacts after (or instead) of icons?**
- **Square brackets around icons?**

**Fonts:**

- **Do I have to use a patched font such as Nerd Fonts?**

**Why does this exist? How did this start?**

-------------------------------------------------------------------------------
                   *devicons-why-isnt-it-working-how-come-i-dont-see-any-icons*
Why isn't it working? How come I don't see any icons? ~

- Are you using the patched font provided in the separate repo (Nerd Fonts
  [13]) or are you patching your own?

- _NOTE:_ if running vim and no font set it will default to the terminal font
  that is set

- check what the vim/gvim font is set to, from ex mode:

  'vim :set guifont?'

- check if the plugin is loaded (should give '1'), from ex mode:

  'vim :echo loaded_webdevicons'

- check if the plugin is enabled (should give '1'), from ex mode:

  'vim :echo g:webdevicons_enable'

- check if the plugin is enabled for NERDTree (should give '1'), from ex
  mode:

  - this should _NOT_ need to be set under normal circumstances

  'vim :echo g:webdevicons_enable_nerdtree'

- check if you are able to see the characters, from ex mode:

  'vim :echo g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol'

- if all this looks correct you may try this to see if any files show flags

  - last resort, see if you can even set the default symbol and have it
    display anywhere (NERDTree, vim-airline's statusline, vim-airlines's
    tabline), from ex mode:

  "vim :let g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol='x'"

-------------------------------------------------------------------------------
       *devicons-how-did-you-get-color-matching-based-on-file-type-in-nerdtree*
How did you get color matching based on file type in NERDtree? ~

- You can either use this additional plugin: vim-nerdtree-syntax-highlight
  [49] created by @tiagofumo [50]

- Or you can use my current settings from:
  https://github.com/scrooloose/nerdtree/issues/201#issuecomment-9954740

  ```vim " NERDTress File highlighting function!
  NERDTreeHighlightFile(extension, fg, bg, guifg, guibg) exec 'autocmd
  FileType nerdtree highlight ' . a:extension .' ctermbg='. a:bg .'
  ctermfg='. a:fg .' guibg='. a:guibg .' guifg='. a:guifg exec 'autocmd
  FileType nerdtree syn match ' . a:extension .' #^\s+.*'. a:extension .'$#'
  endfunction

  call NERDTreeHighlightFile('jade', 'green', 'none', 'green', '#151515')
  call NERDTreeHighlightFile('ini', 'yellow', 'none', 'yellow', '#151515')
  call NERDTreeHighlightFile('md', 'blue', 'none', '#3366FF', '#151515') call
  NERDTreeHighlightFile('yml', 'yellow', 'none', 'yellow', '#151515') call
  NERDTreeHighlightFile('config', 'yellow', 'none', 'yellow', '#151515') call
  NERDTreeHighlightFile('conf', 'yellow', 'none', 'yellow', '#151515') call
  NERDTreeHighlightFile('json', 'yellow', 'none', 'yellow', '#151515') call
  NERDTreeHighlightFile('html', 'yellow', 'none', 'yellow', '#151515') call
  NERDTreeHighlightFile('styl', 'cyan', 'none', 'cyan', '#151515') call
  NERDTreeHighlightFile('css', 'cyan', 'none', 'cyan', '#151515') call
  NERDTreeHighlightFile('coffee', 'Red', 'none', 'red', '#151515') call
  NERDTreeHighlightFile('js', 'Red', 'none', '#ffa500', '#151515') call
  NERDTreeHighlightFile('php', 'Magenta', 'none', '#ff00ff', '#151515') call
  NERDTreeHighlightFile('ds_store', 'Gray', 'none', '#686868', '#151515')
  call NERDTreeHighlightFile('gitconfig', 'Gray', 'none', '#686868',
  '#151515') call NERDTreeHighlightFile('gitignore', 'Gray', 'none',
  '#686868', '#151515') call NERDTreeHighlightFile('bashrc', 'Gray', 'none',
  '#686868', '#151515') call NERDTreeHighlightFile('bashprofile', 'Gray',
  'none', '#686868', '#151515') 'Note: If the colors still are not
  highlighting, try invoking such as:' autocmd VimEnter * call
  NERDTreeHighlightFile('jade', 'green', 'none', 'green', '#151515') ``` per:
  https://github.com/ryanoasis/vim-devicons/issues/49#issuecomment-101753558

-------------------------------------------------------------------------------
       *devicons-how-did-you-get-color-matching-on-just-glyph-icon-in-nerdtree*
How did you get color matching on just the glyph/icon in NERDtree? ~

- You can add something like this to your |vimrc|

  ```vim " NERDTress File highlighting only the glyph/icon " test highlight
  just the glyph (icons) in nerdtree: autocmd filetype nerdtree highlight
  haskell_icon ctermbg=none ctermfg=Red guifg=#ffa500 autocmd filetype
  nerdtree highlight html_icon ctermbg=none ctermfg=Red guifg=#ffa500 autocmd
  filetype nerdtree highlight go_icon ctermbg=none ctermfg=Red guifg=#ffa500

  autocmd filetype nerdtree syn match haskell_icon ##
  containedin=NERDTreeFile " if you are using another syn highlight for a
  given line (e.g. " NERDTreeHighlightFile) need to give that name in the
  'containedin' for this " other highlight to work with it autocmd filetype
  nerdtree syn match html_icon ## containedin=NERDTreeFile,html autocmd
  filetype nerdtree syn match go_icon ## containedin=NERDTreeFile ```

-------------------------------------------------------------------------------
How do I solve issues after re-sourcing my *vimrc*?

- Try adding this to the bottom of your |vimrc|

  'vim if exists("g:loaded_webdevicons") call webdevicons#refresh() endif'

-------------------------------------------------------------------------------
                              *devicons-why-do-i-have-artifacts-after-of-icons*
Why do I have artifacts after (or instead) of icons? ~

- Dots after icons in NERDTree (on GVim), try:

'vim autocmd FileType nerdtree setlocal nolist'

source: Issue #110 [51]

- Newly created files in NERDTree are slow to show the glyph (icon)
- check your current setting of ':updatetime?'
- try setting 'updatetime' in your |vimrc| to a lower value like '250', for
  more info see: Issue #153 [52]

-------------------------------------------------------------------------------
                                        *devicons-square-brackets-around-icons*
Square brackets around icons ~

- By default if your Vim supports conceal you should not see these, debug
  steps:

  - Check if the plugin feature is set (should be '1'):

  'vim echo g:webdevicons_conceal_nerdtree_brackets'

  - Check that your vim was compiled with the 'conceal' feature (should be
    '+conceal'):

  ```shell

-------------------------------------------------------------------------------
                                                       *devicons-from-terminal*
    from terminal ~

  vim --version | grep conceal ```

  - Check the 'conceallevel' (should be '3'):

  'vim set conceallevel?'

-------------------------------------------------------------------------------
                    *devicons-do-i-have-to-use-patched-font-such-as-nerd-fonts*
Do I have to use a patched font such as Nerd Fonts? ~

VimDevIcons was desired to work with Nerd Fonts [13], however you do _not_ have
to use a patched font or even Nerd Fonts specified glyphs. You have 2 main
options:

fontconfig fallback

1. Install the NERD Font symbol fonts:

2. Symbols Nerd Font:style=1000-em [53]

3. Symbols Nerd Font:style=2048-em [54]

4. Install 10-nerd-font-symbols.conf [55] for Fontconfig

5. for additional information see: Issue #124 [56] and [Nerd Fonts
   'fontconfig']

Use your own glyph codepoints

- specify your own glyphs and/or use your own font (see: Character Mappings
  [57])

-------------------------------------------------------------------------------
                    *devicons-rationale-why-does-this-exist-how-did-this-start*
Rationale: Why does this exist? How did this start? ~

After seeing the awesome theme for Atom (seti-ui) and the awesome plugins work
done for NERDTree and vim-airline and wanting something like this for Vim I
decided to create my first plugin.

===============================================================================
                                                          *devicons-references*
References ~

[1] https://github.com/scrooloose/nerdtree
[2] https://github.com/vim-airline/vim-airline
[3] https://github.com/ctrlpvim/ctrlp.vim
[4] https://github.com/powerline/powerline
[5] https://github.com/Shougo/denite.nvim
[6] https://github.com/Shougo/unite.vim
[7] https://github.com/itchyny/lightline.vim
[8] https://github.com/mhinz/vim-startify
[9] https://github.com/Shougo/vimfiler.vim
[10] https://github.com/bagrat/vim-workspace
[11] https://github.com/tpope/vim-flagship
[12] https://github.com/ryanoasis/vim-devicons/wiki/screenshots
[13] https://github.com/ryanoasis/nerd-fonts
[14] https://github.com/ryanoasis/vim-devicons/wiki/Detailed-Features
[15] https://github.com/ryanoasis/vim-devicons/wiki/Extra-Configuration
[16] https://github.com/ryanoasis/nerd-fonts#font-installation
[17] https://github.com/ryanoasis/nerd-fonts#font-patcher
[18] https://github.com/junegunn/vim-plug
[19] https://github.com/ryanoasis/vim-devicons/wiki/Installation
[20] DEVELOPER.md
[21] https://github.com/ryanoasis/vim-devicons/wiki/FAQ-&-Troubleshooting
[22] CODE_OF_CONDUCT.md
[23] CONTRIBUTING.md
[24] https://github.com/ryanoasis/vim-devicons
[25] http://www.vim.org/scripts/script.php?script_id=5114
[26] https://github.com/Xuyuanp/nerdtree-git-plugin
[27] https://github.com/Xuyuanp
[28] https://atom.io/themes/seti-ui
[29] https://github.com/jesseweed
[30] http://vorillaz.github.io/devicons
[31] https://github.com/vorillaz
[32] https://github.com/benatespina/development.svg.icons
[33] https://github.com/benatespina
[34] http://learnvimscriptthehardway.stevelosh.com/
[35] http://stevelosh.com/
[36] https://github.com/ryanoasis/vim-devicons/graphs/contributors
[37] LICENSE
[38] https://github.com/tpope/vim-pathogen
[39] https://github.com/Shougo/neobundle.vim
[40] https://github.com/gmarik/vundle
[41] https://github.com/ryanoasis/vim-devicons/wiki/samples/v0.10.x/.vimrc-windows-1
[42] https://github.com/ryanoasis/vim-devicons/wiki/samples/v0.10.x/.vimrc-linux-1
[43] https://github.com/Lokaltog/vim-powerline
[44] https://github.com/ryanoasis/vim-devicons/wiki/samples/v0.10.x/powerline/themes/vim/default.json
[45] http://www.vim.org/scripts/script.php?script_id=1658
[46] http://www.vim.org/scripts/script.php?script_id=3736
[47] https://github.com/tpope/vim-flagship/issues/6#issuecomment-116121220
[48] https://github.com/ryanoasis/vim-devicons/pull/135
[49] https://github.com/tiagofumo/vim-nerdtree-syntax-highlight
[50] https://github.com/tiagofumo
[51] https://github.com/ryanoasis/vim-devicons/issues/110#issue-103801335
[52] https://github.com/ryanoasis/vim-devicons/issues/153
[53] https://github.com/ryanoasis/nerd-fonts/blob/master/src/glyphs/Symbols-1000-em%20Nerd%20Font%20Complete.ttf
[54] https://github.com/ryanoasis/nerd-fonts/blob/master/src/glyphs/Symbols-2048-em%20Nerd%20Font%20Complete.ttf
[55] https://github.com/ryanoasis/nerd-fonts/blob/master/10-nerd-font-symbols.conf
[56] https://github.com/ryanoasis/vim-devicons/issues/124
[57] https://github.com/ryanoasis/vim-devicons#character-mappings

vim: ft=help
