-
Notifications
You must be signed in to change notification settings - Fork 267
/
webdevicons.txt
1073 lines (828 loc) · 39.3 KB
/
webdevicons.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
*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
" the amount of space to use after the glyph character in vim-airline
tabline(default '')
let g:WebDevIconsTabAirLineAfterGlyphPadding = ' '
" the amount of space to use before the glyph character in vim-airline
tabline(default ' ')
let g:WebDevIconsTabAirLineBeforeGlyphPadding = ' '
<
-------------------------------------------------------------------------------
*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