diff --git a/.gitmodules b/.gitmodules index 1975bde..7a2913d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -28,3 +28,6 @@ [submodule ".tmux/plugins/tmux-urlview"] path = .tmux/plugins/tmux-urlview url = https://github.com/tmux-plugins/tmux-urlview.git +[submodule ".vim/bundle/vim-devicons"] + path = .vim/bundle/vim-devicons + url = https://github.com/ryanoasis/vim-devicons.git diff --git a/.iterm2/com.googlecode.iterm2.plist b/.iterm2/com.googlecode.iterm2.plist index dc74116..d8aec59 100644 --- a/.iterm2/com.googlecode.iterm2.plist +++ b/.iterm2/com.googlecode.iterm2.plist @@ -254,7 +254,7 @@ DoubleReportScrollWheel EnableRendezvous - + FocusFollowsMouse FsTabDelay @@ -336,751 +336,19 @@ 1 NSWindow Frame NSFontPanel - 711 276 445 477 0 0 1680 1027 + 307 276 849 209 0 0 1680 1027 NSWindow Frame Preferences 448 561 606 456 0 0 1680 1027 NSWindow Frame SUUpdateAlert 528 476 620 392 0 0 1680 1027 + NSWindow Frame SharedPreferences + 182 453 796 473 0 0 1680 1027 NSWindow Frame iTerm Window 0 - 0 320 1050 707 0 0 1680 1027 + 28 350 1066 673 0 0 1680 1027 NeverWarnAboutShortLivedSessions_362497DC-4DBB-49DE-985B-048161A33014 New Bookmarks - - ASCII Anti Aliased - - Allow Title Reporting - - Ambiguous Double Width - - Ansi 0 Color - - Blue Component - 0.30978870391845703 - Green Component - 0.30978870391845703 - Red Component - 0.30978870391845703 - - Ansi 1 Color - - Blue Component - 0.37647059559822083 - Green Component - 0.42352938652038574 - Red Component - 1 - - Ansi 10 Color - - Blue Component - 0.67277032136917114 - Green Component - 1 - Red Component - 0.80941480398178101 - - Ansi 11 Color - - Blue Component - 0.79964911937713623 - Green Component - 1 - Red Component - 1 - - Ansi 12 Color - - Blue Component - 0.998260498046875 - Green Component - 0.86277562379837036 - Red Component - 0.7116503119468689 - - Ansi 13 Color - - Blue Component - 0.99652087688446045 - Green Component - 0.61330592632293701 - Red Component - 1 - - Ansi 14 Color - - Blue Component - 0.99703967571258545 - Green Component - 0.87631028890609741 - Red Component - 0.87591361999511719 - - Ansi 15 Color - - Blue Component - 1 - Green Component - 1 - Red Component - 1 - - Ansi 2 Color - - Blue Component - 0.37647059559822083 - Green Component - 1 - Red Component - 0.65882349014282227 - - Ansi 3 Color - - Blue Component - 0.7137255072593689 - Green Component - 1 - Red Component - 1 - - Ansi 4 Color - - Blue Component - 0.99607837200164795 - Green Component - 0.7960783839225769 - Red Component - 0.58823531866073608 - - Ansi 5 Color - - Blue Component - 0.99215692281723022 - Green Component - 0.45098039507865906 - Red Component - 1 - - Ansi 6 Color - - Blue Component - 0.99607837200164795 - Green Component - 0.77254897356033325 - Red Component - 0.7764706015586853 - - Ansi 7 Color - - Blue Component - 0.93353170156478882 - Green Component - 0.93353170156478882 - Red Component - 0.93353170156478882 - - Ansi 8 Color - - Blue Component - 0.48627451062202454 - Green Component - 0.48627451062202454 - Red Component - 0.48627451062202454 - - Ansi 9 Color - - Blue Component - 0.69019609689712524 - Green Component - 0.7137255072593689 - Red Component - 1 - - Automatically Log - - BM Growl - - Background Color - - Blue Component - 0.0 - Green Component - 0.0 - Red Component - 0.0 - - Background Image Is Tiled - - Background Image Location - - Blend - 0.30000001192092896 - Blink Allowed - - Blinking Cursor - - Blur - - Blur Radius - 2 - Bold Color - - Blue Component - 1 - Green Component - 1 - Red Component - 1 - - Character Encoding - 4 - Close Sessions On End - - Columns - 130 - Command - - Cursor Color - - Blue Component - 0.37647059559822083 - Green Component - 0.64705878496170044 - Red Component - 1 - - Cursor Text Color - - Blue Component - 1 - Green Component - 1 - Red Component - 1 - - Cursor Type - 2 - Custom Command - No - Custom Directory - No - Default Bookmark - No - Disable Printing - - Disable Smcup Rmcup - - Disable Window Resizing - - Flashing Bell - - Foreground Color - - Blue Component - 0.73333334922790527 - Green Component - 0.73333334922790527 - Red Component - 0.73333334922790527 - - Guid - 362497DC-4DBB-49DE-985B-048161A33014 - Hide After Opening - - Horizontal Spacing - 1 - Idle Code - 0 - Initial Text - - Jobs to Ignore - - rlogin - ssh - slogin - telnet - - Keyboard Map - - 0x2d-0x40000 - - Action - 11 - Text - 0x1f - - 0x32-0x40000 - - Action - 11 - Text - 0x00 - - 0x33-0x40000 - - Action - 11 - Text - 0x1b - - 0x34-0x40000 - - Action - 11 - Text - 0x1c - - 0x35-0x40000 - - Action - 11 - Text - 0x1d - - 0x36-0x40000 - - Action - 11 - Text - 0x1e - - 0x37-0x40000 - - Action - 11 - Text - 0x1f - - 0x38-0x40000 - - Action - 11 - Text - 0x7f - - 0x9-0x40000 - - Action - 11 - Text - 9 - - 0xf700-0x220000 - - Action - 10 - Text - [1;2A - - 0xf700-0x240000 - - Action - 10 - Text - [1;5A - - 0xf700-0x260000 - - Action - 10 - Text - [1;6A - - 0xf700-0x280000 - - Action - 11 - Text - 0x1b 0x1b 0x5b 0x41 - - 0xf701-0x220000 - - Action - 10 - Text - [1;2B - - 0xf701-0x240000 - - Action - 10 - Text - [1;5B - - 0xf701-0x260000 - - Action - 10 - Text - [1;6B - - 0xf701-0x280000 - - Action - 11 - Text - 0x1b 0x1b 0x5b 0x42 - - 0xf702-0x220000 - - Action - 10 - Text - [1;2D - - 0xf702-0x240000 - - Action - 10 - Text - [1;5D - - 0xf702-0x260000 - - Action - 10 - Text - [1;6D - - 0xf702-0x280000 - - Action - 11 - Text - 0x1b 0x1b 0x5b 0x44 - - 0xf703-0x220000 - - Action - 10 - Text - [1;2C - - 0xf703-0x240000 - - Action - 10 - Text - [1;5C - - 0xf703-0x260000 - - Action - 10 - Text - [1;6C - - 0xf703-0x280000 - - Action - 11 - Text - 0x1b 0x1b 0x5b 0x43 - - 0xf704-0x20000 - - Action - 10 - Text - [1;2P - - 0xf705-0x20000 - - Action - 10 - Text - [1;2Q - - 0xf706-0x20000 - - Action - 10 - Text - [1;2R - - 0xf707-0x20000 - - Action - 10 - Text - [1;2S - - 0xf708-0x20000 - - Action - 10 - Text - [15;2~ - - 0xf709-0x20000 - - Action - 10 - Text - [17;2~ - - 0xf70a-0x20000 - - Action - 10 - Text - [18;2~ - - 0xf70b-0x20000 - - Action - 10 - Text - [19;2~ - - 0xf70c-0x20000 - - Action - 10 - Text - [20;2~ - - 0xf70d-0x20000 - - Action - 10 - Text - [21;2~ - - 0xf70e-0x20000 - - Action - 10 - Text - [23;2~ - - 0xf70f-0x20000 - - Action - 10 - Text - [24;2~ - - 0xf729-0x20000 - - Action - 10 - Text - [1;2H - - 0xf729-0x40000 - - Action - 10 - Text - [1;5H - - 0xf72b-0x20000 - - Action - 10 - Text - [1;2F - - 0xf72b-0x40000 - - Action - 10 - Text - [1;5F - - - Log Directory - - Minimum Contrast - 0.0 - Mouse Reporting - - Name - Default - Non Ascii Font - Monaco 12 - Non-ASCII Anti Aliased - - Normal Font - SourceCodePro-Regular 13 - Option Key Sends - 0 - Prompt Before Closing 2 - 0 - Right Option Key Sends - 0 - Rows - 40 - Screen - -1 - Scrollback Lines - 1000 - Scrollback With Status Bar - - Scrollback in Alternate Screen - - Selected Text Color - - Blue Component - 0.94760048389434814 - Green Component - 0.94760048389434814 - Red Component - 0.94760048389434814 - - Selection Color - - Blue Component - 0.51530611515045166 - Green Component - 0.22248570621013641 - Red Component - 0.20990739762783051 - - Semantic History - - action - best editor - editor - com.sublimetext.3 - text - - - Send Code When Idle - - Set Local Environment Vars - - Shortcut - - Silence Bell - - Smart Cursor Color - - Smart Selection Rules - - - notes - Word bounded by whitespace - precision - low - regex - \S+ - - - notes - C++ namespace::identifier - precision - normal - regex - ([a-zA-Z0-9_]+::)+[a-zA-Z0-9_]+ - - - notes - Paths - precision - normal - regex - \~?/?([[:letter:][:number:]._-]+/+)+[[:letter:][:number:]._-]+/? - - - notes - Quoted string - precision - normal - regex - @?"(?:[^"\\]|\\.)*" - - - notes - Java/Python include paths - precision - normal - regex - ([[:letter:][:number:]._]+\.)+[[:letter:][:number:]._]+ - - - notes - mailto URL - precision - normal - regex - \bmailto:([a-z0-9A-Z_]+@)?([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\b - - - notes - Obj-C selector - precision - high - regex - @selector\([^)]+\) - - - notes - email address - precision - high - regex - \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b - - - notes - HTTP URL - precision - very_high - regex - https?://([a-z0-9A-Z]+(:[a-zA-Z0-9]+)?@)?[a-z0-9A-Z]+(\.[a-z0-9A-Z]+)*((:[0-9]+)?)(/[a-zA-Z0-9;/\.\-_+%~?&@=#\(\)]*)? - - - notes - SSH URL - precision - very_high - regex - \bssh:([a-z0-9A-Z_]+@)?([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\b - - - notes - Telnet URL - precision - very_high - regex - \btelnet:([a-z0-9A-Z_]+@)?([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\b - - - Space - -1 - Sync Title - - Tags - - Terminal Type - xterm - Transparency - 0.0 - Triggers - - Unlimited Scrollback - - Use Bold Font - - Use Bright Bold - - Use Canonical Parser - - Use Italic Font - - Vertical Spacing - 1 - Visual Bell - - Window Type - 0 - Working Directory - - ASCII Anti Aliased @@ -1635,7 +903,7 @@ Name Eragos Non Ascii Font - MesloLGM-RegularForPowerline 13 + DroidSansMonoForPowerlineNerdFontComplete--- 13 Non-ASCII Anti Aliased Normal Font @@ -1815,7 +1083,747 @@ Working Directory + + ASCII Anti Aliased + + Allow Title Reporting + + Ambiguous Double Width + + Ansi 0 Color + + Blue Component + 0.0 + Green Component + 0.0 + Red Component + 0.0 + + Ansi 1 Color + + Blue Component + 0.0 + Green Component + 0.0 + Red Component + 1 + + Ansi 10 Color + + Blue Component + 0.11517760157585144 + Green Component + 0.81519794464111328 + Red Component + 0.23300750553607941 + + Ansi 11 Color + + Blue Component + 0.035555899143218994 + Green Component + 0.78536456823348999 + Red Component + 0.92833864688873291 + + Ansi 12 Color + + Blue Component + 1 + Green Component + 0.3333333432674408 + Red Component + 0.3333333432674408 + + Ansi 13 Color + + Blue Component + 1 + Green Component + 0.3333333432674408 + Red Component + 1 + + Ansi 14 Color + + Blue Component + 0.97867441177368164 + Green Component + 0.89121150970458984 + Red Component + 0.41672572493553162 + + Ansi 15 Color + + Blue Component + 1 + Green Component + 1 + Red Component + 1 + + Ansi 2 Color + + Blue Component + 0.13008742034435272 + Green Component + 0.8703160285949707 + Red Component + 0.21895778179168701 + + Ansi 3 Color + + Blue Component + 0.039139740169048309 + Green Component + 0.89706093072891235 + Red Component + 0.99814993143081665 + + Ansi 4 Color + + Blue Component + 0.82438474893569946 + Green Component + 0.37805050611495972 + Red Component + 0.079237513244152069 + + Ansi 5 Color + + Blue Component + 0.36536297202110291 + Green Component + 0.0 + Red Component + 1 + + Ansi 6 Color + + Blue Component + 0.73333334922790527 + Green Component + 0.73333334922790527 + Red Component + 0.0 + + Ansi 7 Color + + Blue Component + 0.73333334922790527 + Green Component + 0.73333334922790527 + Red Component + 0.73333334922790527 + + Ansi 8 Color + + Blue Component + 0.3333333432674408 + Green Component + 0.3333333432674408 + Red Component + 0.3333333432674408 + + Ansi 9 Color + + Blue Component + 0.090362116694450378 + Green Component + 0.052976857870817184 + Red Component + 0.95708823204040527 + + Automatically Log + + BM Growl + + Background Color + + Blue Component + 0.12356086820363998 + Green Component + 0.085516646504402161 + Red Component + 0.041209612041711807 + + Background Image Is Tiled + + Background Image Location + + Blend + 0.30000001192092896 + Blink Allowed + + Blinking Cursor + + Blur + + Blur Radius + 2 + Bold Color + + Blue Component + 1 + Green Component + 0.98771905899047852 + Red Component + 0.96919095516204834 + + Bonjour Service Address + 192.168.178.40 + Character Encoding + 4 + Close Sessions On End + + Columns + 130 + Command + ssh 192.168.178.40 + Cursor Color + + Blue Component + 0.03614787757396698 + Green Component + 0.79959547519683838 + Red Component + 0.94297069311141968 + + Cursor Text Color + + Blue Component + 0.9480862021446228 + Green Component + 1 + Red Component + 0.99659550189971924 + + Cursor Type + 2 + Custom Command + Yes + Custom Directory + No + Default Bookmark + No + Description + dm7020hd + Disable Printing + + Disable Smcup Rmcup + + Disable Window Resizing + + Flashing Bell + + Foreground Color + + Blue Component + 1 + Green Component + 1 + Red Component + 1 + + Guid + 86787D4E-AE56-49B5-8BFE-2144300B11D4 + Hide After Opening + + Horizontal Spacing + 1 + Idle Code + 0 + Initial Text + + Jobs to Ignore + + rlogin + ssh + slogin + telnet + + Keyboard Map + + 0x2d-0x40000 + + Action + 11 + Text + 0x1f + + 0x32-0x40000 + + Action + 11 + Text + 0x00 + + 0x33-0x40000 + + Action + 11 + Text + 0x1b + + 0x34-0x40000 + + Action + 11 + Text + 0x1c + + 0x35-0x40000 + + Action + 11 + Text + 0x1d + + 0x36-0x40000 + + Action + 11 + Text + 0x1e + + 0x37-0x40000 + + Action + 11 + Text + 0x1f + + 0x38-0x40000 + + Action + 11 + Text + 0x7f + + 0x9-0x40000 + + Action + 11 + Text + 9 + + 0xf700-0x220000 + + Action + 10 + Text + [1;2A + + 0xf700-0x240000 + + Action + 10 + Text + [1;5A + + 0xf700-0x260000 + + Action + 10 + Text + [1;6A + + 0xf700-0x280000 + + Action + 11 + Text + 0x1b 0x1b 0x5b 0x41 + + 0xf701-0x220000 + + Action + 10 + Text + [1;2B + + 0xf701-0x240000 + + Action + 10 + Text + [1;5B + + 0xf701-0x260000 + + Action + 10 + Text + [1;6B + + 0xf701-0x280000 + + Action + 11 + Text + 0x1b 0x1b 0x5b 0x42 + + 0xf702-0x220000 + + Action + 10 + Text + [1;2D + + 0xf702-0x240000 + + Action + 10 + Text + [1;5D + + 0xf702-0x260000 + + Action + 10 + Text + [1;6D + + 0xf702-0x280000 + + Action + 11 + Text + 0x1b 0x1b 0x5b 0x44 + + 0xf703-0x220000 + + Action + 10 + Text + [1;2C + + 0xf703-0x240000 + + Action + 10 + Text + [1;5C + + 0xf703-0x260000 + + Action + 10 + Text + [1;6C + + 0xf703-0x280000 + + Action + 11 + Text + 0x1b 0x1b 0x5b 0x43 + + 0xf704-0x20000 + + Action + 10 + Text + [1;2P + + 0xf705-0x20000 + + Action + 10 + Text + [1;2Q + + 0xf706-0x20000 + + Action + 10 + Text + [1;2R + + 0xf707-0x20000 + + Action + 10 + Text + [1;2S + + 0xf708-0x20000 + + Action + 10 + Text + [15;2~ + + 0xf709-0x20000 + + Action + 10 + Text + [17;2~ + + 0xf70a-0x20000 + + Action + 10 + Text + [18;2~ + + 0xf70b-0x20000 + + Action + 10 + Text + [19;2~ + + 0xf70c-0x20000 + + Action + 10 + Text + [20;2~ + + 0xf70d-0x20000 + + Action + 10 + Text + [21;2~ + + 0xf70e-0x20000 + + Action + 10 + Text + [23;2~ + + 0xf70f-0x20000 + + Action + 10 + Text + [24;2~ + + 0xf729-0x20000 + + Action + 10 + Text + [1;2H + + 0xf729-0x40000 + + Action + 10 + Text + [1;5H + + 0xf72b-0x20000 + + Action + 10 + Text + [1;2F + + 0xf72b-0x40000 + + Action + 10 + Text + [1;5F + + + Log Directory + + Minimum Contrast + 0.0 + Mouse Reporting + + Name + dm7020hd + Non Ascii Font + MesloLGM-RegularForPowerline 13 + Non-ASCII Anti Aliased + + Normal Font + SourceCodePro-Regular 13 + Option Key Sends + 0 + Prompt Before Closing 2 + 0 + Right Option Key Sends + 0 + Rows + 40 + Screen + -1 + Scrollback Lines + 10000 + Scrollback With Status Bar + + Scrollback in Alternate Screen + + Selected Text Color + + Blue Component + 0.70916998386383057 + Green Component + 0.70916998386383057 + Red Component + 0.70916998386383057 + + Selection Color + + Blue Component + 0.31055498123168945 + Green Component + 0.20615114271640778 + Red Component + 0.09597768634557724 + + Semantic History + + action + best editor + editor + com.sublimetext.3 + text + + + Send Code When Idle + + Set Local Environment Vars + + Silence Bell + + Smart Cursor Color + + Smart Selection Rules + + + notes + Word bounded by whitespace + precision + low + regex + \S+ + + + notes + C++ namespace::identifier + precision + normal + regex + ([a-zA-Z0-9_]+::)+[a-zA-Z0-9_]+ + + + notes + Paths + precision + normal + regex + \~?/?([[:letter:][:number:]._-]+/+)+[[:letter:][:number:]._-]+/? + + + notes + Quoted string + precision + normal + regex + @?"(?:[^"\\]|\\.)*" + + + notes + Java/Python include paths + precision + normal + regex + ([[:letter:][:number:]._]+\.)+[[:letter:][:number:]._]+ + + + notes + mailto URL + precision + normal + regex + \bmailto:([a-z0-9A-Z_]+@)?([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\b + + + notes + Obj-C selector + precision + high + regex + @selector\([^)]+\) + + + notes + email address + precision + high + regex + \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b + + + notes + HTTP URL + precision + very_high + regex + https?://([a-z0-9A-Z]+(:[a-zA-Z0-9]+)?@)?[a-z0-9A-Z]+(\.[a-z0-9A-Z]+)*((:[0-9]+)?)(/[a-zA-Z0-9;/\.\-_+%~?&@=#\(\)]*)? + + + notes + SSH URL + precision + very_high + regex + \bssh:([a-z0-9A-Z_]+@)?([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\b + + + notes + Telnet URL + precision + very_high + regex + \btelnet:([a-z0-9A-Z_]+@)?([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\b + + + Space + -1 + Sync Title + + Tags + + bonjour + + Terminal Type + xterm-256color + Transparency + 0.0 + Triggers + + Unlimited Scrollback + + Use Bold Font + + Use Bright Bold + + Use Canonical Parser + + Use Italic Font + + Vertical Spacing + 1 + Visual Bell + + Window Type + 0 + Working Directory + + + NoSyncCommandHistoryHasEverBeenUsed + NoSyncConfirmBeta NoSyncDoNotWarnBeforeMultilinePaste @@ -1926,7 +1934,7 @@ SUHasLaunchedBefore SULastCheckTime - 2016-07-10T11:10:11Z + 2016-08-06T10:46:05Z SavePasteHistory ShowBookmarkName @@ -1979,6 +1987,6 @@ findRegex_iTerm iTerm Version - 3.0.4 + 3.0.5 diff --git a/.vim/bundle/vim-devicons/.github/ISSUE_TEMPLATE.md b/.vim/bundle/vim-devicons/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..9408a71 --- /dev/null +++ b/.vim/bundle/vim-devicons/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,28 @@ +#### Requirements + +If you are **not** sure whether or not what you are reporting is actually an issue **or** you have a general question please message in the [Gitter Chat Room](https://gitter.im/ryanoasis/vim-devicons) + +These items you must provide answers to. Make sure to add **all the information needed to understand the bug** so that someone can help. If the info is missing we'll add the 'Needs more information' label and _may_ choose to close the issue until there is enough information. + +Please acknowledge that you understand by marking off the following list items below with an 'x' + + +_--- ✂ snip ✂ --- Delete this line and all of the ^above^ after reading and before submitting your issue please --- ✂ snip ✂ ---_ + + +#### Required Info + +- [ ] I have searched the [issues](https://github.com/ryanoasis/vim-devicons/issues) for my issue and found nothing related and/or helpful +- [ ] I have read or at least glanced at the [FAQ](https://github.com/ryanoasis/vim-devicons#faq--troubleshooting) +- [ ] I have read or at least glanced at the [Wiki](https://github.com/ryanoasis/vim-devicons/wiki) + +- [ ] What **version** of vim are you using? + - hint: `vim --version` +- [ ] What **version** of vim-devicons are you using? + - hint: `:echo webdevicons#version()` +- [ ] Are you using vim from the terminal or a GUI vim? +- [ ] Are you using Mac, Linux or Windows? + +#### Optional Info + +- [ ] Provide **screenshots** where appropriate diff --git a/.vim/bundle/vim-devicons/.github/PULL_REQUEST_TEMPLATE.md b/.vim/bundle/vim-devicons/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..13e5d1c --- /dev/null +++ b/.vim/bundle/vim-devicons/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,15 @@ +#### Requirements (please check off with 'x') + +- [ ] I have read the [Contributing Guidelines](https://github.com/ryanoasis/vim-devicons/blob/master/contributing.md) +- [ ] I have read or at least glanced at the [FAQ](https://github.com/ryanoasis/vim-devicons#faq--troubleshooting) +- [ ] I have read or at least glanced at the [Wiki](https://github.com/ryanoasis/vim-devicons/wiki) + +#### What does this Pull Request (PR) do? + +#### How should this be manually tested? + +#### Any background context you can provide? + +#### What are the relevant tickets (if any)? + +#### Screenshots (if appropriate or helpful) diff --git a/.vim/bundle/vim-devicons/LICENSE b/.vim/bundle/vim-devicons/LICENSE new file mode 100644 index 0000000..bde3f5c --- /dev/null +++ b/.vim/bundle/vim-devicons/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2014 Ryan L McIntyre + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/.vim/bundle/vim-devicons/autoload/airline/extensions/tabline/formatters/webdevicons.vim b/.vim/bundle/vim-devicons/autoload/airline/extensions/tabline/formatters/webdevicons.vim new file mode 100644 index 0000000..039d7d0 --- /dev/null +++ b/.vim/bundle/vim-devicons/autoload/airline/extensions/tabline/formatters/webdevicons.vim @@ -0,0 +1,13 @@ +" Version: 0.8.4 +" Webpage: https://github.com/ryanoasis/vim-devicons +" Maintainer: Ryan McIntyre +" License: see LICENSE + +function! airline#extensions#tabline#formatters#webdevicons#format(bufnr, buffers) + " Call original formatter. + let originalFormatter = airline#extensions#tabline#formatters#{g:_webdevicons_airline_orig_formatter}#format(a:bufnr, a:buffers) + return originalFormatter . ' ' . WebDevIconsGetFileTypeSymbol(bufname(a:bufnr)) . ' ' +endfunction + +" modeline syntax: +" vim: fdm=marker tabstop=2 softtabstop=2 shiftwidth=2 expandtab: diff --git a/.vim/bundle/vim-devicons/autoload/vimfiler/columns/devicons.vim b/.vim/bundle/vim-devicons/autoload/vimfiler/columns/devicons.vim new file mode 100644 index 0000000..96509df --- /dev/null +++ b/.vim/bundle/vim-devicons/autoload/vimfiler/columns/devicons.vim @@ -0,0 +1,80 @@ +"============================================================================= +" FILE: devicons.vim +" Version: 0.8.4 +" Webpage: https://github.com/ryanoasis/vim-devicons +" Maintainer: Ryan McIntyre +" License: MIT license {{{ +" Permission is hereby granted, free of charge, to any person obtaining +" a copy of this software and associated documentation files (the +" "Software"), to deal in the Software without restriction, including +" without limitation the rights to use, copy, modify, merge, publish, +" distribute, sublicense, and/or sell copies of the Software, and to +" permit persons to whom the Software is furnished to do so, subject to +" the following conditions: +" +" The above copyright notice and this permission notice shall be included +" in all copies or substantial portions of the Software. +" +" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +" }}} +"============================================================================= + +let s:save_cpo = &cpo +set cpo&vim + +function! vimfiler#columns#devicons#define() + return s:column +endfunction + +let s:column = { + \ 'name' : 'devicons', + \ 'description' : 'get devicon glyph', + \ 'syntax' : 'vimfilerColumn__devicons', + \ } + +function! s:column.length(files, context) + return 3 +endfunction + +function! s:column.define_syntax(context) "{{{ + syntax match vimfilerColumn__TypeText '\[T\]' + \ contained containedin=vimfilerColumn__Type + syntax match vimfilerColumn__TypeImage '\[I\]' + \ contained containedin=vimfilerColumn__Type + syntax match vimfilerColumn__TypeArchive '\[A\]' + \ contained containedin=vimfilerColumn__Type + syntax match vimfilerColumn__TypeExecute '\[X\]' + \ contained containedin=vimfilerColumn__Type + syntax match vimfilerColumn__TypeMultimedia '\[M\]' + \ contained containedin=vimfilerColumn__Type + syntax match vimfilerColumn__TypeDirectory '\[do\]' + \ contained containedin=vimfilerColumn__Type + syntax match vimfilerColumn__TypeSystem '\[S\]' + \ contained containedin=vimfilerColumn__Type + syntax match vimfilerColumn__TypeLink '\[L\]' + \ contained containedin=vimfilerColumn__Type + + highlight def link vimfilerColumn__TypeText Constant + highlight def link vimfilerColumn__TypeImage Type + highlight def link vimfilerColumn__TypeArchive Special + highlight def link vimfilerColumn__TypeExecute Statement + highlight def link vimfilerColumn__TypeMultimedia Identifier + highlight def link vimfilerColumn__TypeDirectory Preproc + highlight def link vimfilerColumn__TypeSystem Comment + highlight def link vimfilerColumn__TypeLink Comment +endfunction"}}} + +function! s:column.get(file, context) + return WebDevIconsGetFileTypeSymbol(strpart(a:file.action__path, strridx(a:file.action__path, '/')), a:file.vimfiler__is_directory) +endfunction + +let &cpo = s:save_cpo +unlet s:save_cpo + +" vim: foldmethod=marker diff --git a/.vim/bundle/vim-devicons/changelog.md b/.vim/bundle/vim-devicons/changelog.md new file mode 100644 index 0000000..b5576d0 --- /dev/null +++ b/.vim/bundle/vim-devicons/changelog.md @@ -0,0 +1,185 @@ + +CHANGELOG +================================================================================ +This project is using [Semantic Versioning 2.0.0](http://semver.org/) + +- v0.8.4 + - Fixed always warning about deprecated CtrlP version (fixes #137) + - Fixed missing configuration info about pattern based symbols (fixes #152) + - Fixed `WebDevIconsGetFileTypeSymbol` method iterator missing `break` (PR #156) (@blueyed) + - Fixed a typo in the readme (PR #159) (@SSARCandy) + - Added reference to [tiagofumo/vim-nerdtree-syntax-highlight](https://github.com/tiagofumo/vim-nerdtree-syntax-highlight) in readme (PR #161) (@tiagofumo) + - However, the [FAQ](https://github.com/ryanoasis/vim-devicons/wiki/FAQ) has been moved to the [Wiki](https://github.com/ryanoasis/vim-devicons/wiki) in this release +- v0.8.3 + - Fixed NERDTree not displaying glyph (icon) for newly created files (fixes #153) + - Also adds info to readme about `updatetime` + - Fixed resourcing `vimrc` not maintaining current NERDTree state (fixes #154) + - Adds new public methods `webdevicons#hardRefresh()` and `webdevicons#softRefresh()` + - Makes public method `webdevicons#refresh()` do a 'soft' refresh + - Fixed various source formatting and implemented most of vim lint ([vint](https://github.com/Kuniwak/vint)) recommendations + - Added public methods available to readme +- v0.8.2 + - Updated `jsx` filetype (using React glyph) (enhancement PR #148) (@alpertuna) + - Added issue and pull request templates +- v0.8.1 + - Fixed Unite display issues (absolute paths and/or duplicate paths) (fixes #140) + - Fixed custom CtrlP open function causing 'E16' (fixes #115) + - Fixed typo in readme for setting default folder glyph (PR #143) + - Added documentation for highlighting icon/glyphs only (not just entire lines) in NERDTree (fixes #142) +- v0.8.0 + - Added support for more [unite](https://github.com/Shougo/unite.vim) actions: `file_rec/async`, `file_rec/neovim`, `file_rec/neovim2`, `file_rec/git` (enhancement PR #132, fixes #131) (@mhartington) + - Improved Darwin detection by using a lighter method/logic (#135) (@delphinus35) + - Fixes `NERDTree-C` (fix PR #139) (@endenwer) + - Fixes error using open/close symbols for folder (fixes #130) +- v0.7.1 + - Misc readme updates + - Fixed performance issues and odd graphical artifacts in v0.7.0 (fixes #127) + - Improved installation instructions and re-organized some items to [Nerd Fonts repo](https://github.com/ryanoasis/nerd-fonts) (PR #129, fixes #125, #128) (@her) +- v0.7.0 + - Deprecated support for [kien/ctrlp](https://github.com/kien/ctrlp.vim) and only support [active ctrlp fork](https://github.com/ctrlpvim/ctrlp.vim) going forward (fixes #117) + - Added information to readme about [vim-startify](https://github.com/mhinz/vim-startify) support (enhancement #94) + - Added information to readme with possible fix to 'Dots after icons' (fixes #110) (@KabbAmine) + - Added support for 'cljc' (Clojure) filetypes (fix PR #120) (@spacepluk) + - Fixed certain folders in NERDTree showing file glyphs (based on pattern matching) (fixes #112) + - Fixed OS icon being display with as Linux Tux on Mac (fixes #118,fix PR #121) (@trodrigu) + - Fixed deprecated Linux font path in readme (fix PR #123) (@jrobeson) +- v0.6.1 + - Fixed likely breaking bug: undefined variable g:DevIconsEnableFoldersOpenClose (fixes #109) + - Fixed up the changelog details +- v0.6.0 + - Added support for [Powerline](https://github.com/powerline/powerline) (enhancement PR #74) (@delphinus35) + - Added support for 'ts' (TypeScript) filetypes (enhancement #79) + - Added support for 'jl' (Julia) filetypes + - Added support for 'bat' (batch) filetypes + - Added support for 'ejs' (Embedded JavaScript Templates) filetypes (enhancement #105) (@lerrua) + - Added support for 'react.jsx' filetype + - Added support for 'procfile' filetype + - Changed default 'go' filetype glyph to a better one + - Added open & close folder glyphs (icons) (enhancement #104) + - Fixed new files not having icons until refreshing NERDTree (fixes #33) + - Solution very similar to [nerdtree-git-plugin](https://github.com/Xuyuanp/nerdtree-git-plugin) +- v0.5.4 + - Misc readme updates + - Add support for ocaml 'ml', 'mli' filetypes (enhancement PR #99) (@CharlieMartell) + - Add support for 'sql' and 'dump' filetypes (enhancement PR #100) (@lerrua) + - Add support for 'ico' filetypes (enhancement PR #101) (@lerrua) + - Add support for 'markdown' filetypes (enhancement PR #102) (@lerrua) + - Improved install fonts instructions on Mac (enhancement PR #103) (@lerrua) +- v0.5.3 + - Add 'slim' filetype support (same icon as 'html') (enhancement PR #98) (@lerrua) + - Add 'fish' filetype support (same icon as 'sh') (enhancement #93) (@michaelmrose) + - Updated old link references (enhancement PR #87) (@lerrua) + - Improved default Ruby icon (uses 'glyph set 2') (enhancement PR #97) (@lerrua) + - Prevent destorying user's conceal settings (Use setlocal) (enhancement PR #96) (@shawncplus) + - Fixes filenames of buffers getting lost in unite filter (fixes #86) (@ahrse) + - Various readme updates and fixes +- v0.5.2 + - Various readme updates and fixes + - Various file clean-up (.gitignore removed) + - Fixed link to install fonts (PR #83 fixes #81) (@theRemix) + - Fixed glyph used for Go (PR #82) (@hoop33) + - Added Code of Conduct +- v0.5.1 + - Fixed [CtrlP](https://github.com/ctrlpvim/ctrlp.vim) integration bugs (truncating 6 characters is unreliable) and only add glyphs for MRU File Mode (Fixes #80) + - Readme updates and improvements +- v0.5.0 + - Readme updates (removed polls sections, v0.5.0 specific changes) + - Misc code formatting fixes (tabs to spaces, modeline additions, reorganization) + - Update API: make WebDevIconsGetFileFormatSymbol return only fenc (fixes #73) + - Added Perl support (enhancement #60) + - Added support for some (mostly frontend) frameworks (enhancement #61) + - Added basic support for vim-flagship (enhancement #70) + - Added support for Unite and Vimfiler (enhancement #54) + - Added support for CtrlP (enhancement #56) + - Rebranding part 1: title and image (vim-devicons) (enhancement #76) +- v0.4.4 + - Lots of readme updates and tweaks + - Changelog semver details + - Spelling / confusing grammar corrections (PR #68) (@adelarsq) + - Fixed default folder/directory glyph (PR Fixes #72) (@cj) + - Mac OS X screenshot (Fixes #32) (@RageZBla) + - Fixed misalignment when used with [nerdtree-git-plugin](https://github.com/Xuyuanp/nerdtree-git-plugin) (Fixes #71) + - Fixed re-sourcing bug (Fixes #71) + - Fixed directory node user settings being overwritten (Fixes #59) + - Fixed minor screenshot issues and clean-up +- v0.4.3 + - Prevent error 'Unknown function' when opening Vim without airline plugin (Fixes #67) + - Temporary fix for gvim glyph artifact issues (particuarly NERDTree) (Fixes #58) + - Support file format symbols (glyphs) in vim-airline (Enhancement #66) + - Add vimrc setup example to readme (Documentation #65) + - Fixes Conceal highlighting issues (Fixes #53, #52) + - Make sure plugin plays nice with [nerdtree-git-plugin](https://github.com/Xuyuanp/nerdtree-git-plugin) (Enhancement #62) + - general readme updates and improvements + - changelog format fixes +- v0.4.2 + - Updated vim doc with latest readme updates (html2vimdoc) + - Fixes #7 update readme for font and vim setup on osx and win platforms + - Fixes #49 with a FAQ update + - Fixes #41 No such event: nerdtree syntax match (@nbicalcarata) + - Removed test files from the repo and added folders to git-ignore + - Warn about loading vim-webdevicons before nerdtree plugin + - fix lazy NERDTree (@blueyed) + - Improve conceiling with NERDTree (@blueyed) + - add instructions to readme for vim setup on os x (@alfredbez) +- v0.4.1 + - Fixes #39 - updated screenshots (particularly nerdtree) + - Fixes #37 - g:webdevicons_conceal_nerdtree_brackets applying global config + - Add instructions to readme for adding icon to lightline (@hoop33) + - Updated vim doc with latest readme updates (sync'd with html2vimdoc) + - Added TL;DR section to readme + - Add a note to readme to load NERDTree before vim-webdevicons (@hoop33) + - Fix: Automatically turning off NERDTree support (@hoop33) + - general readme updates +- v0.4.0 + - #27 Remove [ ] wrapping icons + - #26 Add detection and warning on unsupported (old) NERDTree versions + - updated readme with more links and new details on new features and conifgs + - #30 Improve vim standard plugin conventions and tips + - #30 work on sections and standard plugin conventions part 1 + - #30 clean-up of unused (for now) autoload file + - #28 setting global options broken part 1 + - #29 Add vimdoc, more updates + - autogenerating vimdoc using html2vimdoc + - readme updates +- v0.3.4 + - Adds basic support for directory/folder glyphs - fixes #22 + - optimize icon lookup - WebDevIconsGetFileTypeSymbol: use if/else (@blueyed) + - Do not clobber the default or customized airline formatter (@blueyed) + - fixed a bug related to the latest airline updates (Ali Aliev) + - various readme updates + - more sample usage images +- v0.3.3 + - Load the plugin once only (@blueyed) + - Add font installation instructions, fixes #5 (@wikimatze) + - added plugin install instructions + - slight readme re-ordering + - moved contributing section near bottom + - added additional screenshots + - added more thanks to those whose some more of the glyphs came from +- v0.3.2 + - moved screenshots into the wiki (wiki.vim-webdevicons) to reduce unnecessary project size of cloning repo +- v0.3.1 + - readme updates (with references to new font-patcher repo) + - readme updates screenshots reference wiki +- v0.3.0 + - moved font-patcher and patched fonts into a separate repo (nerd-filetype-glyphs-fonts-patcher) + - adds twigg file type support for #10 (@wikimatze) + - adds cpp file type support + - updated utf8 test file with glyphs + - readme fixes (@wikimatze, @blueyed) + - readme updates +- v0.2.1 + - readme updates +- v0.2.0 + - Script for patching any font: Initial cleaned up work for issue (feature enhancement) for #1 + - added python font patcher and readme updates +- v0.1.4 + - readme updates +- v0.1.3 + - fixes #3 make matches case insensitive (ignore case) +- v0.1.2 + - fixes lookup for exact file notes (@johngeorgewright) +- v0.1.1 + - updated readme substantially +- v0.1.0 + - release diff --git a/.vim/bundle/vim-devicons/code_of_conduct.md b/.vim/bundle/vim-devicons/code_of_conduct.md new file mode 100644 index 0000000..431fe30 --- /dev/null +++ b/.vim/bundle/vim-devicons/code_of_conduct.md @@ -0,0 +1,33 @@ +# Contributor Code of Conduct + +As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, +we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, +submitting pull requests or patches, and other activities. + +We are committed to making participation in this project a harassment-free experience for everyone, +regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, +personal appearance, body size, race, ethnicity, age, religion, or nationality. + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery +* Personal attacks +* Trolling or insulting/derogatory comments +* Public or private harassment +* Publishing other's private information, such as physical or electronic addresses, without explicit permission +* Other unethical or unprofessional conduct. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, +code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. +By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently +applying these principles to every aspect of managing this project. Project maintainers who do not +follow or enforce the Code of Conduct may be permanently removed from the project team. + +This code of conduct applies both within project spaces and in public spaces when an individual +is representing the project or its community. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue +or contacting one or more of the project maintainers. + +This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), +version 1.2.0, available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/) diff --git a/.vim/bundle/vim-devicons/contributing.md b/.vim/bundle/vim-devicons/contributing.md new file mode 100644 index 0000000..763d97d --- /dev/null +++ b/.vim/bundle/vim-devicons/contributing.md @@ -0,0 +1,22 @@ +# Contributing Guide + +## How to contribute + +Work In Progress, for now the minimum: + +* Fork the project and submit a Pull Request (PR) + * Explain what the PR fixes or improves + * Screenshots for bonus points +* Use sensible commit messages + * If your PR fixes a separate issue number, include it in the commit message + +## Things to keep in mind +* Smaller PRs are likely to be merged more quickly than bigger changes +* If it is a useful PR it **will** get merged in eventually + * [E.g. see how many have already been merged vs. still open](https://github.com/ryanoasis/vim-devicons/pulls) +* This project is using [Semantic Versioning 2.0.0](http://semver.org/) +* I try to group fixes into milestones/versions + * If your bug or PR is *not* trivial it will likely end up in the next **MINOR** version + * If your bug or PR *is* trivial *or* critical it will likely end up in the next **PATCH** version +* Most of the time PRs and fixes are *not* merged directly into master without being present on a new versioned branch +** Sometimes for small items I will make exceptions to get the fix or readme change on master sooner but even after there will *always* be a versioned branch to keep track of each release diff --git a/.vim/bundle/vim-devicons/doc/webdevicons.txt b/.vim/bundle/vim-devicons/doc/webdevicons.txt new file mode 100644 index 0000000..f0599b2 --- /dev/null +++ b/.vim/bundle/vim-devicons/doc/webdevicons.txt @@ -0,0 +1,708 @@ +*readme.txt* VimDevIcons – Add Icons to Your Plugins + +=============================================================================== +Contents ~ + + 1. Introduction |readme-introduction| + 2. Image: vim-devicons (see reference [1]) |readme-image-vim-devicons| + 1. Image: vim-devicons overall screenshot (see reference [17]) |readme-image-vim-devicons-overall-screenshot| + 1. Features |readme-features| + 2. Quick Links |readme-quick-links| + 3. Table of Contents |readme-table-of-contents| + 4. Installation |readme-installation| + 1. Step 1 'Nerd Font' |Nerd-Font| + 2. Step 2 'VimDevIcons Plugin' |VimDevIcons-Plugin| + 1. Pathogen [26] |readme-pathogen-26| + 2. NeoBundle [27] |readme-neobundle-27| + 3. Vundle [28] |readme-vundle-28| + 4. Manual |readme-manual| + 3. Step 3 'Configure Vim' |Configure-Vim| + 1. Set VimDevIcons to load _before_ these plugins! |readme-set-vimdevicons-to-load-_before_-these-plugins| + 2. Set encoding to UTF-8 to show glyphs |readme-set-encoding-to-utf-8-to-show-glyphs| + 3. Set Vim font to a Nerd Font |readme-set-vim-font-to-nerd-font| + 4. If you use vim-airline you need this |readme-if-you-use-vim-airline-you-need-this| + 5. vimrc examples |readme-vimrc-examples| + 4. That's it! You're done. ✅ |readme-thats-it-youre-done.| + 5. Usage |readme-usage| + 1. Lightline Setup |readme-lightline-setup| + 2. Powerline Setup |readme-powerline-setup| + 6. Detailed Features |readme-detailed-features| + 7. Extra Configuration |readme-extra-configuration| + 1. Character Mappings |readme-character-mappings| + 8. Public Methods |readme-public-methods| + 9. Developer |readme-developer| + 1. API |readme-api| + 1. API Examples |readme-api-examples| + 10. Todo |readme-todo| + 11. License |readme-license| + 12. FAQ / Troubleshooting |readme-faq-troubleshooting| + 13. Screenshots |readme-screenshots| + 14. Contributing |readme-contributing| + 1. Promotion |readme-promotion| + 2. Source code |readme-source-code| + 15. Rationale |readme-rationale| + 16. Inspiration and special thanks |readme-inspiration-special-thanks| + 17. License + 3. References |readme-references| + +=============================================================================== + *readme-introduction* +Introduction ~ + +=============================================================================== + *readme-image-vim-devicons* +Image: vim-devicons (see reference [1]) ~ + +Image: GitHub version [2] Image: Join the chat at https://gitter.im/ryanoasis +/vim-devicons [4] Image: Flattr this git repo [6] + +**VimDevIcons** adds filetype glyphs (icons) to other plugins such as NERDTree +[8], vim-airline [9], CtrlP [10], powerline [11], unite [12], lightline.vim +[13], vim-startify [14], vimfiler [15], and flagship [16]. + +------------------------------------------------------------------------------- + *readme-image-vim-devicons-overall-screenshot* +Image: vim-devicons overall screenshot (see reference [17]) ~ + +------------------------------------------------------------------------------- + *readme-features* +Features ~ + +**VimDevIcons integrates with these plugins and more:** + +NERDTree [8] | vim-airline [9] | CtrlP [10] | powerline [11] | unite [12] | +lightline.vim [13] | vim-startify [14] | vimfiler [15] | flagship [16] + +- 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 _(» More details... «)_ +- Supports full filename matches _(» More details... «)_ +- Supports library pattern matches _(» More details... «)_ +- Works with patched fonts, especially Nerd Fonts [18] + +------------------------------------------------------------------------------- + *readme-quick-links* +Quick Links ~ + +| **Screenshots**| **API** | **Fonts ➶ [19]** | **Patcher ➶ [18]** | |--------- +-----------------------|-----------------|------------------------------|------ +-----------------------| | Image: screenshots | Image: api | Image: patcher- +logo-small [19] | Image: patcher-logo-small [18] | + +------------------------------------------------------------------------------- + *readme-table-of-contents* +Table of Contents ~ + +**TL;DR Installation** + +**Installation** + +**Usage** _**Lightline Setup**_ **Powerline Setup** _**Extra Configuration**_ +**Character Mappings** + +**Features** + +**Screenshots** + +**Methods** + +**Developer** _**API**_ **Contributing** _**Inspiration and special thanks**_ +**Todo** * **License** + +**FAQ / Troubleshooting** + +**Rationale** + +Quick Installation (TL;DR) + +1. Download and install a patched **Nerd Font [18]** (or patch your own) _(» + More details... «) [18]_ + +2. Install the plugin per your usual method _(» More details... «)_ + +3. Configure Vim _(» More details... «)_ + +4. a. **vim**: Set your terminal emulator font +5. b. **gvim**: Set 'guifont' in your 'vimrc' + +------------------------------------------------------------------------------- + *readme-installation* +Installation ~ + +------------------------------------------------------------------------------- + *Nerd-Font* +Step 1 'Nerd Font' ~ + +Get a **Nerd Font!** [24] or patch your own. [25] Without this, things break + +------------------------------------------------------------------------------- + *VimDevIcons-Plugin* +Step 2 'VimDevIcons Plugin' ~ + +Choose your favorite plugin manager + +------------------------------------------------------------------------------- + *readme-pathogen-26* +Pathogen [26] ~ + +- 'git clone https://github.com/ryanoasis/vim-devicons ~/.vim/bundle/vim- + devicons' + +------------------------------------------------------------------------------- + *readme-neobundle-27* +NeoBundle [27] ~ + +- Add to vimrc: + + "vim NeoBundle 'ryanoasis/vim-devicons'" * And install it: + + 'vim :so ~/.vimrc :NeoBundleInstall' + +------------------------------------------------------------------------------- + *readme-vundle-28* +Vundle [28] ~ + +- Add to vimrc: + + "vim Plugin 'ryanoasis/vim-devicons'" * And install it: + + 'vim :so ~/.vimrc :PluginInstall' + +------------------------------------------------------------------------------- + *readme-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': + +------------------------------------------------------------------------------- + *readme-set-vimdevicons-to-load-_before_-these-plugins* +Set VimDevIcons to load _before_ these plugins! ~ + +NERDTree [8] | vim-airline [9] | CtrlP [29] | powerline [11] | unite [12] | +lightline.vim [13] | vim-startify [14] | vimfiler [15] | flagship [16] + +------------------------------------------------------------------------------- + *readme-set-encoding-to-utf-8-to-show-glyphs* +Set encoding to UTF-8 to show glyphs ~ + +'vim set encoding=utf8' + +------------------------------------------------------------------------------- + *readme-set-vim-font-to-nerd-font* +Set Vim font to a Nerd Font ~ + +Linux 'vim set guifont= ' +> + set guifont=Droid\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 11 +< +macOS (OS X) and Windows +> + set guifont=:h +< + +> + set guifont=Droid\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types:h11 +< +**Note:** if you don't set 'guifont' then you'll have to set your terminal's +font, else things break! + +------------------------------------------------------------------------------- + *readme-if-you-use-vim-airline-you-need-this* +If you use vim-airline you need this ~ + +'vim let g:airline_powerline_fonts = 1' + +------------------------------------------------------------------------------- + *readme-vimrc-examples* +vimrc examples ~ + +- Sample Windows vimrc configuration 1 [30] +- Sample Linux vimrc configuration 1 [31] + +------------------------------------------------------------------------------- + *readme-thats-it-youre-done.* +That's it! You're done. ✅ ~ + +------------------------------------------------------------------------------- + *readme-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 [8], vim- +airline [9], CtrlP [29], powerline [11], unite [12], vimfiler [15], flagship +[16] you **must** configure vim to load those plugins__before_ vim-devicons +loads. for better nerdtree-git-plugin [32] support, you _should_ configure vim +to load nerdtree-git-plugin **_before_** VimDevIcons loads. + +Lightline Setup and Powerline Setup require some extra setup as shown below: + +------------------------------------------------------------------------------- + *readme-lightline-setup* +Lightline Setup ~ + +To add the appropriate icon to lightline [13], 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 +< +------------------------------------------------------------------------------- + *readme-powerline-setup* +Powerline Setup ~ + +- _Note this is for the current Powerline [11] not the deprecated vim- + powerline [33]_ + +To enable for Powerline [11] 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 [34] + +------------------------------------------------------------------------------- + *readme-detailed-features* +Detailed Features ~ + +- Adds filetype glyphs (icons) to various vim plugins, currently supports: +- NERDTree [8] +- vim-airline [9] (statusline and tabline) +- CtrlP [10] + + - Currently only MRU file mode supported + +- powerline [11] (statusline) + + - see: powerline setup + +- unite [12] + + - Currently supports 'file', 'file_rec', 'buffer', 'file_rec/async', and + 'file_rec/neovim' + +- lightline.vim [13] (statusline) + + - see: lightline setup + +- vim-startify [14] +- vimfiler [15] +- flagship [16] + + - Support is **experimental** because the API may be changing [35] + +- 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, scss, htm, html, slim, ejs, css, less, md, json, js, jsx, rb, php, + py, pyc, pyd, pyo, coffee, mustache, hbs, conf, ini, yml, bat, jpg, jpeg, + bmp, png, gif, twig, cpp, c++, cxx, cc, cp, c, hs, lhs, lua, java, sh, + 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' +- 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, .bashprofile, favicon.ico, license, node_modules, react.jsx, + procfile' +- Supports a few library pattern matches, by default: +- 'jquery, angular, backbone, requirejs, materialize, mootools' +- Works with patched fonts, especially Nerd Fonts [18] + +------------------------------------------------------------------------------- + *readme-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 MRU file mode glyphs + let g:webdevicons_enable_ctrlp = 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 +< +------------------------------------------------------------------------------- + *readme-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 = 'ƛ' +< + +> + " 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 [36] for +further details. +> + let g:WebDevIconsOS = 'Darwin' +< +------------------------------------------------------------------------------- + *readme-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() +< +------------------------------------------------------------------------------- + *readme-developer* +Developer ~ + +------------------------------------------------------------------------------- + *readme-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() +< +------------------------------------------------------------------------------- + *readme-api-examples* +API Examples ~ +> + 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 +< +source: vim-startify [14] +> + echo WebDevIconsGetFileFormatSymbol() +< +------------------------------------------------------------------------------- + *readme-todo* +Todo ~ + +- [ ] more filetypes to support +- [ ] customize filetype icon colors +- [ ] more customization options in general +- [ ] more specific FAQ and Troubleshooting help + +------------------------------------------------------------------------------- + *readme-license* +License ~ + +See LICENSE + +------------------------------------------------------------------------------- + *readme-faq-troubleshooting* +FAQ / Troubleshooting ~ + +See FAQ [37] + +------------------------------------------------------------------------------- + *readme-screenshots* +Screenshots ~ + +See Screenshots [38] + +------------------------------------------------------------------------------- + *readme-contributing* +Contributing ~ + +Best ways to contribute _Star it on GitHub - if you use it and like it please +at least star it :)_ Promote _Open issues/tickets [39]_ Submit fixes and/or +improvements with Pull Requests + +------------------------------------------------------------------------------- + *readme-promotion* +Promotion ~ + +Like the project? Please support to ensure continued development going forward: +_Star this repo on GitHub [40]_ Follow the repo on GitHub [40] _Vote for it on +vim.org [41]_ Follow me * Twitter [42] * GitHub [43] + +------------------------------------------------------------------------------- + *readme-source-code* +Source code ~ + +Contributions and Pull Requests are welcome. + +No real formal process has been setup - just stick to general good conventions +for now. + +------------------------------------------------------------------------------- + *readme-rationale* +Rationale ~ + +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. + +------------------------------------------------------------------------------- + *readme-inspiration-special-thanks* +Inspiration and special thanks ~ + +- vim-airline [9] +- nerdtree [8] +- nerdtree-git-plugin [32] +- seti-ui [44] +- devicons by Theodore Vorillas [45] +- benatespina development.svg.icons [46] +- Steve Losh [47] +- Also thanks to the many contributors [48] + +------------------------------------------------------------------------------- +License ~ + +See LICENSE + +=============================================================================== + *readme-references* +References ~ + +[1] https://github.com/ryanoasis/vim-devicons/wiki/screenshots/v0.8.x/branding-logo.png +[2] http://badge.fury.io/gh/ryanoasis%2Fvim-devicons +[3] https://badge.fury.io/gh/ryanoasis%2Fvim-devicons.svg +[4] https://gitter.im/ryanoasis/vim-devicons?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge +[5] https://img.shields.io/gitter/room/nwjs/nw.js.svg?style=flat +[6] https://flattr.com/submit/auto?user_id=ryanoasis&url=https://github.com/ryanoasis/vim-devicons&title=vim-devicons&language=viml&tags=github&category=software +[7] https://img.shields.io/badge/donate-flattr%20this!-8DB65B.svg?style=flat +[8] https://github.com/scrooloose/nerdtree +[9] https://github.com/bling/vim-airline +[10] https://github.com/ctrlpvim/ctrlp.vim +[11] https://github.com/powerline/powerline +[12] https://github.com/Shougo/unite.vim +[13] https://github.com/itchyny/lightline.vim +[14] https://github.com/mhinz/vim-startify +[15] https://github.com/Shougo/vimfiler.vim +[16] https://github.com/tpope/vim-flagship +[17] https://github.com/ryanoasis/vim-devicons/wiki/screenshots/v0.8.x/overall-screenshot.png +[18] https://github.com/ryanoasis/nerd-fonts +[19] https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts +[20] https://github.com/ryanoasis/vim-devicons/wiki/screenshots/v1.0.0/branding-logo-screenshots-sm.png +[21] https://github.com/ryanoasis/vim-devicons/wiki/screenshots/v1.0.0/branding-logo-api-sm.png +[22] https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/images/nerd-fonts-character-logo-md.png +[23] https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/images/nerd-fonts-patcher-logo-md.png +[24] https://github.com/ryanoasis/nerd-fonts#font-installation +[25] https://github.com/ryanoasis/nerd-fonts#font-patcher +[26] https://github.com/tpope/vim-pathogen +[27] https://github.com/Shougo/neobundle.vim +[28] https://github.com/gmarik/vundle +[29] https://github.com/kien/ctrlp.vim +[30] https://github.com/ryanoasis/vim-devicons/wiki/samples/v0.8.x/.vimrc-windows-1 +[31] https://github.com/ryanoasis/vim-devicons/wiki/samples/v0.8.x/.vimrc-linux-1 +[32] https://github.com/Xuyuanp/nerdtree-git-plugin +[33] https://github.com/Lokaltog/vim-powerline +[34] https://github.com/ryanoasis/vim-devicons/wiki/samples/v0.8.x/powerline/themes/vim/default.json +[35] https://github.com/tpope/vim-flagship/issues/6#issuecomment-116121220 +[36] https://github.com/ryanoasis/vim-devicons/pull/135 +[37] https://github.com/ryanoasis/vim-devicons/wiki/FAQ +[38] https://github.com/ryanoasis/vim-devicons/wiki/Screenshots +[39] https://github.com/ryanoasis/vim-devicons/issues +[40] https://github.com/ryanoasis/vim-devicons +[41] http://www.vim.org/scripts/script.php?script_id=5114 +[42] http://twitter.com/ryanlmcintyre +[43] https://github.com/ryanoasis +[44] https://atom.io/themes/seti-ui +[45] http://vorillaz.github.io/devicons +[46] https://github.com/benatespina/development.svg.icons +[47] http://learnvimscriptthehardway.stevelosh.com/ +[48] https://github.com/ryanoasis/vim-devicons/graphs/contributors + +vim: ft=help diff --git a/.vim/bundle/vim-devicons/nerdtree_plugin/webdevicons.vim b/.vim/bundle/vim-devicons/nerdtree_plugin/webdevicons.vim new file mode 100644 index 0000000..0a0a97c --- /dev/null +++ b/.vim/bundle/vim-devicons/nerdtree_plugin/webdevicons.vim @@ -0,0 +1,172 @@ +" Version: 0.8.4 +" Webpage: https://github.com/ryanoasis/vim-devicons +" Maintainer: Ryan McIntyre +" License: see LICENSE + +" @todo fix duplicate global variable initialize here: +if !exists('g:webdevicons_enable') + let g:webdevicons_enable = 1 +endif + +if !exists('g:webdevicons_enable_nerdtree') + let g:webdevicons_enable_nerdtree = 1 +endif + +if !exists('g:DevIconsEnableFoldersOpenClose') + let g:DevIconsEnableFoldersOpenClose = 0 +endif + +if !exists('g:DevIconsEnableFolderPatternMatching') + let g:DevIconsEnableFolderPatternMatching = 1 +endif + +if !exists('g:DevIconsEnableFolderExtensionPatternMatching') + let g:DevIconsEnableFolderExtensionPatternMatching = 0 +endif + +" end @todo duplicate global variables + +" Temporary (hopefully) fix for glyph issues in gvim (proper fix is with the +" actual font patcher) +if !exists('g:webdevicons_gui_glyph_fix') + let g:webdevicons_gui_glyph_fix = 1 +endif + +if g:webdevicons_enable_nerdtree == 1 + if !exists('g:loaded_nerd_tree') + echohl WarningMsg | + \ echomsg 'vim-webdevicons requires NERDTree to be loaded before vim-webdevicons.' + endif + + if exists('g:loaded_nerd_tree') && g:loaded_nerd_tree == 1 && !exists('g:NERDTreePathNotifier') + let g:webdevicons_enable_nerdtree = 0 + echohl WarningMsg | + \ echomsg 'vim-webdevicons requires a newer version of NERDTree to show glyphs in NERDTree - consider updating NERDTree.' + endif + + " @todo I don't even want this to execute UNLESS the user has the + " 'nerdtree-git-plugin' INSTALLED (not LOADED) + " As it currently functions this warning will display even if the user does + " not have nerdtree-git-plugin not just if it isn't loaded yet + " (not what we want) + "if !exists('g:loaded_nerdtree_git_status') + " echohl WarningMsg | + " \ echomsg 'vim-webdevicons works better when 'nerdtree-git-plugin' is loaded before vim-webdevicons (small refresh issues otherwise).' + "endif +endif + +if !exists('g:webdevicons_enable_airline_tabline') + let g:webdevicons_enable_airline_tabline = 1 +endif + +if !exists('g:webdevicons_enable_airline_statusline') + let g:webdevicons_enable_airline_statusline = 1 +endif + +function! s:SetupListeners() + call g:NERDTreePathNotifier.AddListener('init', 'NERDTreeWebDevIconsRefreshListener') + call g:NERDTreePathNotifier.AddListener('refresh', 'NERDTreeWebDevIconsRefreshListener') + call g:NERDTreePathNotifier.AddListener('refreshFlags', 'NERDTreeWebDevIconsRefreshListener') +endfunction + +" Temporary (hopefully) fix for glyph issues in gvim (proper fix is with the +" actual font patcher) + +" NERDTree-C +" scope: global +function! WebDevIconsNERDTreeChangeRootHandler(node) + call b:NERDTree.changeRoot(a:node) + call NERDTreeRender() + call a:node.putCursorHere(0, 0) + redraw! +endfunction + +" NERDTree-u +" scope: global +function! WebDevIconsNERDTreeUpDirCurrentRootClosedHandler() + call nerdtree#ui_glue#upDir(0) + redraw! +endfunction + +" NERDTreeMapActivateNode and <2-LeftMouse> +" handle the user activating a tree node +" scope: global +function! WebDevIconsNERDTreeMapActivateNode(node) + let path = a:node.path + let isOpen = a:node.isOpen + let padding = g:WebDevIconsNerdTreeAfterGlyphPadding + let prePadding = '' + let hasGitFlags = (len(path.flagSet._flagsForScope('git')) > 0) + let hasGitNerdTreePlugin = (exists('g:loaded_nerdtree_git_status') == 1) + + if g:WebDevIconsUnicodeGlyphDoubleWidth == 0 + let padding = '' + endif + + if hasGitFlags && g:WebDevIconsUnicodeGlyphDoubleWidth == 1 + let prePadding = ' ' + endif + + " align vertically at the same level: non git-flag nodes with git-flag nodes + if g:WebDevIconsNerdTreeGitPluginForceVAlign && !hasGitFlags && hasGitNerdTreePlugin + let prePadding .= ' ' + endif + + " toggle flag + if isOpen + let flag = prePadding . g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol . padding + else + let flag = prePadding . g:DevIconsDefaultFolderOpenSymbol . padding + endif + + call a:node.path.flagSet.clearFlags('webdevicons') + + if flag !=? '' + call a:node.path.flagSet.addFlag('webdevicons', flag) + call a:node.path.refreshFlags(b:NERDTree) + endif + + " continue with normal activate logic + call a:node.activate() +endfunction + +if g:webdevicons_enable == 1 && g:webdevicons_enable_nerdtree == 1 + call s:SetupListeners() + + if g:DevIconsEnableFoldersOpenClose + " NERDTreeMapActivateNode + call NERDTreeAddKeyMap({ + \ 'key': g:NERDTreeMapActivateNode, + \ 'callback': 'WebDevIconsNERDTreeMapActivateNode', + \ 'override': 1, + \ 'scope': 'DirNode' }) + + " <2-LeftMouse> + call NERDTreeAddKeyMap({ + \ 'key': '<2-LeftMouse>', + \ 'callback': 'WebDevIconsNERDTreeMapActivateNode', + \ 'override': 1, + \ 'scope': 'DirNode' }) + endif + + " Temporary (hopefully) fix for glyph issues in gvim (proper fix is with the + " actual font patcher) + if g:webdevicons_gui_glyph_fix == 1 && has('gui_running') + call NERDTreeAddKeyMap({ + \ 'key': g:NERDTreeMapChangeRoot, + \ 'callback': 'WebDevIconsNERDTreeChangeRootHandler', + \ 'override': 1, + \ 'quickhelpText': "change tree root to the\n\" selected dir\n\" plus webdevicons redraw\n\" hack fix", + \ 'scope': 'Node' }) + + call NERDTreeAddKeyMap({ + \ 'key': g:NERDTreeMapUpdir, + \ 'callback': 'WebDevIconsNERDTreeUpDirCurrentRootClosedHandler', + \ 'override': 1, + \ 'quickhelpText': "move tree root up a dir\n\" plus webdevicons redraw\n\" hack fix", + \ 'scope': 'all' }) + endif +endif + +" modeline syntax: +" vim: fdm=marker tabstop=2 softtabstop=2 shiftwidth=2 expandtab: diff --git a/.vim/bundle/vim-devicons/plugin/webdevicons.vim b/.vim/bundle/vim-devicons/plugin/webdevicons.vim new file mode 100644 index 0000000..6880929 --- /dev/null +++ b/.vim/bundle/vim-devicons/plugin/webdevicons.vim @@ -0,0 +1,731 @@ +" Version: 0.8.4 +" Webpage: https://github.com/ryanoasis/vim-devicons +" Maintainer: Ryan McIntyre +" License: see LICENSE + +let s:version = '0.8.3' +let s:plugin_home = expand(':p:h:h') + +" set scriptencoding after 'encoding' and when using multibyte chars +scriptencoding utf-8 + +" standard fix/safety: line continuation (avoiding side effects) {{{1 +"======================================================================== +let s:save_cpo = &cpo +set cpo&vim + +" standard loading / not loading {{{1 +"======================================================================== + +if exists('g:loaded_webdevicons') + finish +endif + +let g:loaded_webdevicons = 1 + +" config enable / disable settings {{{1 +"======================================================================== + +if !exists('g:webdevicons_enable') + let g:webdevicons_enable = 1 +endif + +if !exists('g:webdevicons_enable_nerdtree') + let g:webdevicons_enable_nerdtree = 1 +endif + +if !exists('g:webdevicons_enable_unite') + let g:webdevicons_enable_unite = 1 +endif + +if !exists('g:webdevicons_enable_vimfiler') + let g:webdevicons_enable_vimfiler = 1 +endif + +if !exists('g:webdevicons_enable_ctrlp') + let g:webdevicons_enable_ctrlp = 1 +endif + +if !exists('g:webdevicons_enable_airline_tabline') + let g:webdevicons_enable_airline_tabline = 1 +endif + +if !exists('g:webdevicons_enable_airline_statusline') + let g:webdevicons_enable_airline_statusline = 1 +endif + +if !exists('g:webdevicons_enable_airline_statusline_fileformat_symbols') + let g:webdevicons_enable_airline_statusline_fileformat_symbols = 1 +endif + +if !exists('g:webdevicons_enable_flagship_statusline') + let g:webdevicons_enable_flagship_statusline = 1 +endif + +if !exists('g:webdevicons_enable_flagship_statusline_fileformat_symbols') + let g:webdevicons_enable_flagship_statusline_fileformat_symbols = 1 +endif + +if !exists('g:webdevicons_conceal_nerdtree_brackets') + let g:webdevicons_conceal_nerdtree_brackets = 1 +endif + +" config options {{{1 +"======================================================================== + +if !exists('g:WebDevIconsUnicodeDecorateFileNodes') + let g:WebDevIconsUnicodeDecorateFileNodes = 1 +endif + +" whether to show default folder glyphs on directories: +if !exists('g:WebDevIconsUnicodeDecorateFolderNodes') + let g:WebDevIconsUnicodeDecorateFolderNodes = 0 +endif + +if !exists('g:DevIconsEnableFoldersOpenClose') + let g:DevIconsEnableFoldersOpenClose = 0 +endif + +if !exists('g:DevIconsEnableFolderPatternMatching') + let g:DevIconsEnableFolderPatternMatching = 1 +endif + +if !exists('g:DevIconsEnableFolderExtensionPatternMatching') + let g:DevIconsEnableFolderExtensionPatternMatching = 0 +endif + +" whether to try to match folder notes with any exact file node matches +" default is to match but requires WebDevIconsUnicodeDecorateFolderNodes set +" to 1: +if !exists('g:WebDevIconsUnicodeDecorateFolderNodesExactMatches') + let g:WebDevIconsUnicodeDecorateFolderNodesExactMatches = 1 +endif + +if !exists('g:WebDevIconsUnicodeGlyphDoubleWidth') + let g:WebDevIconsUnicodeGlyphDoubleWidth = 1 +endif + +if !exists('g:WebDevIconsNerdTreeAfterGlyphPadding') + let g:WebDevIconsNerdTreeAfterGlyphPadding = ' ' +endif + +if !exists('g:WebDevIconsNerdTreeGitPluginForceVAlign') + let g:WebDevIconsNerdTreeGitPluginForceVAlign = 1 +endif + +" fix for refreshing NERDTree flags upon creating new files +if !exists('g:NERDTreeUpdateOnCursorHold') + let g:NERDTreeUpdateOnCursorHold = 1 +endif + +" config defaults {{{1 +"======================================================================== + +if !exists('g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol') + let g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol = '' +endif + +if !exists('g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol') + if g:DevIconsEnableFoldersOpenClose + " use new glyph + let g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol = '' + else + " use older glyph + let g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol = '' + endif +endif + +if !exists('g:DevIconsDefaultFolderOpenSymbol') + let g:DevIconsDefaultFolderOpenSymbol = '' +endif + +" functions {{{1 +"======================================================================== + +" local functions {{{2 +"======================================================================== + +" scope: local +function s:isDarwin() + if exists('s:is_darwin') + return s:is_darwin + endif + + if exists('g:WebDevIconsOS') + let s:is_darwin = g:WebDevIconsOS ==? 'Darwin' + return s:is_darwin + endif + + if has('macunix') + let s:is_darwin = 1 + return s:is_darwin + endif + + if ! has('unix') + let s:is_darwin = 0 + return s:is_darwin + endif + + if system('uname -s') ==# "Darwin\n" + let s:is_darwin = 1 + else + let s:is_darwin = 0 + endif + + return s:is_darwin +endfunction + +" scope: local +function! s:strip(input) + return substitute(a:input, '^\s*\(.\{-}\)\s*$', '\1', '') +endfunction + +" scope: local +function! s:setDictionaries() + + let s:file_node_extensions = { + \ 'styl' : '', + \ 'scss' : '', + \ 'htm' : '', + \ 'html' : '', + \ 'slim' : '', + \ 'ejs' : '', + \ 'css' : '', + \ 'less' : '', + \ 'md' : '', + \ 'markdown' : '', + \ 'json' : '', + \ 'js' : '', + \ 'jsx' : '', + \ 'rb' : '', + \ 'php' : '', + \ 'py' : '', + \ 'pyc' : '', + \ 'pyo' : '', + \ 'pyd' : '', + \ 'coffee' : '', + \ 'mustache' : '', + \ 'hbs' : '', + \ 'conf' : '', + \ 'ini' : '', + \ 'yml' : '', + \ 'bat' : '', + \ 'jpg' : '', + \ 'jpeg' : '', + \ 'bmp' : '', + \ 'png' : '', + \ 'gif' : '', + \ 'ico' : '', + \ 'twig' : '', + \ 'cpp' : '', + \ 'c++' : '', + \ 'cxx' : '', + \ 'cc' : '', + \ 'cp' : '', + \ 'c' : '', + \ 'hs' : '', + \ 'lhs' : '', + \ 'lua' : '', + \ 'java' : '', + \ 'sh' : '', + \ 'fish' : '', + \ 'ml' : 'λ', + \ 'mli' : 'λ', + \ 'diff' : '', + \ 'db' : '', + \ 'sql' : '', + \ 'dump' : '', + \ 'clj' : '', + \ 'cljc' : '', + \ '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' : '' + \} + + let s:file_node_exact_matches = { + \ 'exact-match-case-sensitive-1.txt' : 'X1', + \ 'exact-match-case-sensitive-2' : 'X2', + \ 'gruntfile.coffee' : '', + \ 'gruntfile.js' : '', + \ 'gruntfile.ls' : '', + \ 'gulpfile.coffee' : '', + \ 'gulpfile.js' : '', + \ 'gulpfile.ls' : '', + \ 'dropbox' : '', + \ '.ds_store' : '', + \ '.gitconfig' : '', + \ '.gitignore' : '', + \ '.bashrc' : '', + \ '.bashprofile' : '', + \ 'favicon.ico' : '', + \ 'license' : '', + \ 'node_modules' : '', + \ 'react.jsx' : '', + \ 'procfile' : '', + \} + + let s:file_node_pattern_matches = { + \ '.*jquery.*\.js$' : '', + \ '.*angular.*\.js$' : '', + \ '.*backbone.*\.js$' : '', + \ '.*require.*\.js$' : '', + \ '.*materialize.*\.js$' : '', + \ '.*materialize.*\.css$' : '', + \ '.*mootools.*\.js$' : '' + \} + + if !exists('g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols') + let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols = {} + endif + + if !exists('g:WebDevIconsUnicodeDecorateFileNodesExactSymbols') + " do not remove: exact-match-case-sensitive-* + let g:WebDevIconsUnicodeDecorateFileNodesExactSymbols = {} + endif + + if !exists('g:WebDevIconsUnicodeDecorateFileNodesPatternSymbols') + let g:WebDevIconsUnicodeDecorateFileNodesPatternSymbols = {} + endif + + " iterate to fix allow user overriding of specific individual keys in vimrc (only gvimrc was working previously) + for [key, val] in items(s:file_node_extensions) + if !has_key(g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols, key) + let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols[key] = val + endif + endfor + + " iterate to fix allow user overriding of specific individual keys in vimrc (only gvimrc was working previously) + for [key, val] in items(s:file_node_exact_matches) + if !has_key(g:WebDevIconsUnicodeDecorateFileNodesExactSymbols, key) + let g:WebDevIconsUnicodeDecorateFileNodesExactSymbols[key] = val + endif + endfor + + " iterate to fix allow user overriding of specific individual keys in vimrc (only gvimrc was working previously) + for [key, val] in items(s:file_node_pattern_matches) + if !has_key(g:WebDevIconsUnicodeDecorateFileNodesPatternSymbols, key) + let g:WebDevIconsUnicodeDecorateFileNodesPatternSymbols[key] = val + endif + endfor + +endfunction + +" scope: local +function! s:setSyntax() + if g:webdevicons_enable_nerdtree == 1 && g:webdevicons_conceal_nerdtree_brackets == 1 + augroup webdevicons_conceal_nerdtree_brackets + au! + autocmd FileType nerdtree syntax match hideBracketsInNerdTree "\]" contained conceal containedin=ALL + autocmd FileType nerdtree syntax match hideBracketsInNerdTree "\[" contained conceal containedin=ALL + autocmd FileType nerdtree setlocal conceallevel=3 + autocmd FileType nerdtree setlocal concealcursor=nvic + augroup END + endif +endfunction + +" scope: local +" stole solution/idea from nerdtree-git-plugin :) +function! s:setCursorHold() + if g:webdevicons_enable_nerdtree + augroup webdevicons_cursor_hold + autocmd CursorHold * silent! call s:CursorHoldUpdate() + augroup END + endif +endfunction + +" scope: local +" stole solution/idea from nerdtree-git-plugin :) +function! s:CursorHoldUpdate() + if g:NERDTreeUpdateOnCursorHold != 1 + return + endif + + if !g:NERDTree.IsOpen() + return + endif + + " winnr need to make focus go to opened file + " CursorToTreeWin needed to avoid error on opening file + let l:winnr = winnr() + call g:NERDTree.CursorToTreeWin() + call b:NERDTree.root.refreshFlags() + call NERDTreeRender() + exec l:winnr . 'wincmd w' +endfunction + +" scope: local +function! s:hardRefreshNerdTree() + if g:webdevicons_enable_nerdtree == 1 && g:webdevicons_conceal_nerdtree_brackets == 1 && g:NERDTree.IsOpen() + NERDTreeClose + NERDTree + endif +endfunction + +" scope: local +function! s:softRefreshNerdTree() + if g:webdevicons_enable_nerdtree == 1 && g:NERDTree.IsOpen() + NERDTreeToggle + NERDTreeToggle + endif +endfunction + +" for vim-flagship plugin {{{3 +"======================================================================== + +" scope: local +function! s:initializeFlagship() + if exists('g:loaded_flagship') + if g:webdevicons_enable_flagship_statusline + augroup webdevicons_flagship_filetype + autocmd User Flags call Hoist('buffer', 'WebDevIconsGetFileTypeSymbol') + augroup END + endif + + if g:webdevicons_enable_flagship_statusline_fileformat_symbols + augroup webdevicons_flagship_filesymbol + autocmd User Flags call Hoist('buffer', 'WebDevIconsGetFileFormatSymbol') + augroup END + endif + endif +endfunction + +" for unite plugin {{{3 +"======================================================================== + +" scope: local +function! s:initializeUnite() + if exists('g:loaded_unite') && g:webdevicons_enable_unite + let s:filters = { + \ 'name' : 'devicons_converter', + \} + + function! s:filters.filter(candidates, context) + for candidate in a:candidates + + if has_key(candidate, 'action__buffer_nr') + let bufname = bufname(candidate.action__buffer_nr) + let filename = fnamemodify(bufname, ':p:t') + let path = fnamemodify(bufname, ':p:h') + elseif has_key(candidate, 'word') && has_key(candidate, 'action__path') + let path = candidate.action__path + let filename = candidate.word + endif + + let icon = WebDevIconsGetFileTypeSymbol(filename, isdirectory(filename)) + + " prevent filenames of buffers getting 'lost' + if filename != path + let path = printf('%s', filename) + endif + + " Customize output format. + let candidate.abbr = printf('%s %s', icon, path) + endfor + return a:candidates + endfunction + + call unite#define_filter(s:filters) + unlet s:filters + + call unite#custom#source('file,file_rec,buffer,file_rec/async,file_rec/neovim,file_rec/neovim2,file_rec/git', 'converters', 'devicons_converter') + endif +endfunction + +" for vimfiler plugin {{{3 +"======================================================================== + +" scope: local +function! s:initializeVimfiler() + if exists('g:loaded_vimfiler') && g:webdevicons_enable_vimfiler + call vimfiler#custom#profile('default', 'context', { + \ 'columns' : 'type:devicons:size:time' + \ }) + endif +endfunction + +" for ctrlp plugin {{{3 +"======================================================================== + +" scope: local +" Initialize for up to date ctrlp fork: ctrlpvim/ctrlp.vim +" Support for kien/ctrlp.vim deprecated since v0.7.0 +" @TODO implementation for CtrlP buffer and find file mode +function! s:initializeCtrlP() + let l:ctrlp_warning_message = 'vim-devicons: https://github.com/kien/ctrlp.vim is deprecated since v0.7.0, please use https://github.com/ctrlpvim/ctrlp.vim' + let l:ctrlp_warned_file = s:plugin_home . '/status_warned_ctrlp' + + if exists('g:loaded_ctrlp') && g:webdevicons_enable_ctrlp + let s:glyphASCIIRangeStart = 57344 + let s:glyphASCIIRangeEnd = 63743 + let g:ctrlp_open_func = { + \ 'mru files': 'webdevicons#ctrlPOpenFunc' + \ } + + if exists('g:ctrlp_mruf_map_string') + " logic for ctrlpvim/ctrlp.vim: + let g:ctrlp_mruf_map_string = '!stridx(v:val, cwd) ? WebDevIconsGetFileTypeSymbol(strpart(v:val, strridx(v:val, "/"))) . " " . strpart(v:val, idx) : g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol . " " . v:val' + elseif empty(glob(l:ctrlp_warned_file)) + " logic for kien/ctrlp.vim: + echohl WarningMsg | + \ echomsg l:ctrlp_warning_message + " only warn first time, do not warn again: + try + execute writefile(['File automatically generated after warning about CtrlP once', l:ctrlp_warning_message], l:ctrlp_warned_file) + catch + endtry + endif + endif +endfunction + +" scope: local +function! s:initialize() + call s:setDictionaries() + call s:setSyntax() + call s:setCursorHold() + call s:initializeFlagship() + call s:initializeUnite() + call s:initializeVimfiler() + call s:initializeCtrlP() +endfunction + +" local initialization {{{2 +"======================================================================== + +call s:initialize() + +" public functions {{{2 +"======================================================================== + +" scope: public +function! webdevicons#version() + return s:version +endfunction + +" scope: public +" allow the first version of refresh to now call softRefresh +function! webdevicons#refresh() + call webdevicons#softRefresh() +endfunction + +" scope: public +function! webdevicons#hardRefresh() + call s:setSyntax() + call s:hardRefreshNerdTree() +endfunction + +" scope: public +function! webdevicons#softRefresh() + call s:setSyntax() + call s:softRefreshNerdTree() +endfunction + +" scope: public +function! webdevicons#ctrlPOpenFunc(action, line) + let line = a:line + " Remove non-breaking space which is present (NBSP U+00A0) + let line = substitute(line, ' ', '', '') + " Trim leading and trailing whitespace and replace private character range characters + let glyphASCIICandidate = char2nr(strpart(line, 0, 3)) + + if glyphASCIICandidate >= s:glyphASCIIRangeStart && glyphASCIICandidate <= s:glyphASCIIRangeEnd + let line = s:strip(strpart(line, 3)) + endif + " Use CtrlP's default file opening function + call call('ctrlp#acceptfile', [a:action, line]) +endfunction + +" a:1 (bufferName), a:2 (isDirectory) +" scope: public +function! WebDevIconsGetFileTypeSymbol(...) + if a:0 == 0 + let fileNodeExtension = expand('%:e') + let fileNode = expand('%:t') + let isDirectory = 0 + else + let fileNodeExtension = fnamemodify(a:1, ':e') + let fileNode = fnamemodify(a:1, ':t') + if a:0 == 2 + let isDirectory = a:2 + else + let isDirectory = 0 + endif + endif + + if isDirectory == 0 || g:DevIconsEnableFolderPatternMatching + + let symbol = g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol + let fileNodeExtension = tolower(fileNodeExtension) + let fileNode = tolower(fileNode) + + for [pattern, glyph] in items(g:WebDevIconsUnicodeDecorateFileNodesPatternSymbols) + if match(fileNode, pattern) != -1 + let symbol = glyph + break + endif + endfor + + if symbol == g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol + if has_key(g:WebDevIconsUnicodeDecorateFileNodesExactSymbols, fileNode) + let symbol = g:WebDevIconsUnicodeDecorateFileNodesExactSymbols[fileNode] + elseif ((isDirectory == 1 && g:DevIconsEnableFolderExtensionPatternMatching) || isDirectory == 0) && has_key(g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols, fileNodeExtension) + let symbol = g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols[fileNodeExtension] + elseif isDirectory == 1 + let symbol = g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol + endif + endif + + else + let symbol = g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol + endif + + " Temporary (hopefully) fix for glyph issues in gvim (proper fix is with the + " actual font patcher) + let artifactFix = "\u00A0" + + return symbol . artifactFix + +endfunction + +" scope: public +function! WebDevIconsGetFileFormatSymbol(...) + let fileformat = '' + + if &fileformat ==? 'dos' + let fileformat = '' + elseif &fileformat ==? 'unix' + if s:isDarwin() + let fileformat = '' + else + let fileformat = '' + endif + elseif &fileformat ==? 'mac' + let fileformat = '' + endif + + " Temporary (hopefully) fix for glyph issues in gvim (proper fix is with the + " actual font patcher) + let artifactFix = "\u00A0" + + return fileformat . artifactFix +endfunction + +" for airline plugin {{{3 +"======================================================================== + +" scope: public +function! AirlineWebDevIcons(...) + let w:airline_section_x = get(w:, 'airline_section_x', g:airline_section_x) + let w:airline_section_x .= ' %{WebDevIconsGetFileTypeSymbol()} ' + if g:webdevicons_enable_airline_statusline_fileformat_symbols + let w:airline_section_y = ' %{&fenc . " " . WebDevIconsGetFileFormatSymbol()} ' + endif +endfunction + +if g:webdevicons_enable == 1 && exists('g:loaded_airline') && g:loaded_airline == 1 && g:webdevicons_enable_airline_statusline + call airline#add_statusline_func('AirlineWebDevIcons') +endif + +if g:webdevicons_enable == 1 && g:webdevicons_enable_airline_tabline + " Store original formatter. + if exists('g:airline#extensions#tabline#formatter') + let g:_webdevicons_airline_orig_formatter = g:airline#extensions#tabline#formatter + else + let g:_webdevicons_airline_orig_formatter = 'default' + endif + let g:airline#extensions#tabline#formatter = 'webdevicons' +endif + +" for nerdtree plugin {{{3 +"======================================================================== + +" scope: public +function! NERDTreeWebDevIconsRefreshListener(event) + let path = a:event.subject + let padding = g:WebDevIconsNerdTreeAfterGlyphPadding + let prePadding = '' + let hasGitFlags = (len(path.flagSet._flagsForScope('git')) > 0) + let hasGitNerdTreePlugin = (exists('g:loaded_nerdtree_git_status') == 1) + + if g:WebDevIconsUnicodeGlyphDoubleWidth == 0 + let padding = '' + endif + + if hasGitFlags && g:WebDevIconsUnicodeGlyphDoubleWidth == 1 + let prePadding = ' ' + endif + + " align vertically at the same level: non git-flag nodes with git-flag nodes + if g:WebDevIconsNerdTreeGitPluginForceVAlign && !hasGitFlags && hasGitNerdTreePlugin + let prePadding .= ' ' + endif + + if !path.isDirectory + let flag = prePadding . WebDevIconsGetFileTypeSymbol(path.str()) . padding + elseif path.isDirectory && g:WebDevIconsUnicodeDecorateFolderNodes == 1 + + let directoryOpened = 0 + + if g:DevIconsEnableFoldersOpenClose && len(path.flagSet._flagsForScope('webdevicons')) > 0 + " isOpen is not available on the path listener, compare using symbols + if path.flagSet._flagsForScope('webdevicons')[0] == prePadding . g:DevIconsDefaultFolderOpenSymbol . padding + let directoryOpened = 1 + endif + endif + + if g:WebDevIconsUnicodeDecorateFolderNodesExactMatches == 1 + if g:DevIconsEnableFoldersOpenClose && directoryOpened + let flag = prePadding . g:DevIconsDefaultFolderOpenSymbol . padding + else + let flag = prePadding . WebDevIconsGetFileTypeSymbol(path.str(), path.isDirectory) . padding + endif + else + if g:DevIconsEnableFoldersOpenClose && directoryOpened + let flag = prePadding . g:DevIconsDefaultFolderOpenSymbol . padding + else + let flag = prePadding . g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol + endif + endif + else + let flag = '' + endif + + call path.flagSet.clearFlags('webdevicons') + + if flag !=? '' + call path.flagSet.addFlag('webdevicons', flag) + endif + +endfunction + +" standard fix/safety: line continuation (avoiding side effects) {{{1 +"======================================================================== +let &cpo = s:save_cpo +unlet s:save_cpo + +" modeline syntax: +" vim: fdm=marker tabstop=2 softtabstop=2 shiftwidth=2 expandtab: diff --git a/.vim/bundle/vim-devicons/pythonx/vim_devicons/__init__.py b/.vim/bundle/vim-devicons/pythonx/vim_devicons/__init__.py new file mode 100644 index 0000000..ece379c --- /dev/null +++ b/.vim/bundle/vim-devicons/pythonx/vim_devicons/__init__.py @@ -0,0 +1,2 @@ +import pkg_resources +pkg_resources.declare_namespace(__name__) diff --git a/.vim/bundle/vim-devicons/pythonx/vim_devicons/powerline/__init__.py b/.vim/bundle/vim-devicons/pythonx/vim_devicons/powerline/__init__.py new file mode 100644 index 0000000..ece379c --- /dev/null +++ b/.vim/bundle/vim-devicons/pythonx/vim_devicons/powerline/__init__.py @@ -0,0 +1,2 @@ +import pkg_resources +pkg_resources.declare_namespace(__name__) diff --git a/.vim/bundle/vim-devicons/pythonx/vim_devicons/powerline/segments.py b/.vim/bundle/vim-devicons/pythonx/vim_devicons/powerline/segments.py new file mode 100644 index 0000000..f92f4ee --- /dev/null +++ b/.vim/bundle/vim-devicons/pythonx/vim_devicons/powerline/segments.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# vim:se fenc=utf8 noet: +from __future__ import (unicode_literals, division, absolute_import, print_function) + +try: + import vim +except ImportError: + vim = {} + +from powerline.bindings.vim import (vim_get_func, buffer_name) +from powerline.theme import requires_segment_info + +@requires_segment_info +def webdevicons(pl, segment_info): + webdevicons = vim_get_func('WebDevIconsGetFileTypeSymbol') + name = buffer_name(segment_info) + return [] if not webdevicons else [{ + 'contents': webdevicons(name), + 'highlight_groups': ['webdevicons', 'file_name'], + }] + +@requires_segment_info +def webdevicons_file_format(pl, segment_info): + webdevicons_file_format = vim_get_func('WebDevIconsGetFileFormatSymbol') + return [] if not webdevicons_file_format else [{ + 'contents': webdevicons_file_format(), + 'highlight_groups': ['webdevicons_file_format', 'file_format'], + }] diff --git a/.vim/bundle/vim-devicons/readme.md b/.vim/bundle/vim-devicons/readme.md new file mode 100644 index 0000000..0feb337 --- /dev/null +++ b/.vim/bundle/vim-devicons/readme.md @@ -0,0 +1,606 @@ +# VimDevIcons – Add Icons to Your Plugins + +

+ vim-devicons +

+ +[![GitHub version][img-version-badge]][badge-version] +[![Join the chat at https://gitter.im/ryanoasis/vim-devicons][img-gitter-badge]][badge-gitter] +[![Flattr this git repo][img-flattr-badge]][badge-flattr] + +**VimDevIcons** adds filetype glyphs (icons) to other plugins such as [NERDTree], [vim-airline], [CtrlP][ctrlpvim-CtrlP], [powerline], [unite], [lightline.vim], [vim-startify], [vimfiler], and [flagship]. + +

+ vim-devicons overall screenshot +

+ +Features +-------- + +**VimDevIcons integrates with these plugins and more:** + +[NERDTree] | [vim-airline] | [CtrlP][ctrlpvim-CtrlP] | [powerline] | [unite] | [lightline.vim] | [vim-startify] | [vimfiler] | [flagship] + +* 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 _[(» More details... «)](#detailed-features)_ +* Supports full filename matches _[(» More details... «)](#detailed-features)_ +* Supports library pattern matches _[(» More details... «)](#detailed-features)_ +* Works with patched fonts, especially [Nerd Fonts] + +Quick Links +----------- + +| **[Screenshots](#screenshots)**| **[API](#api)** | **[Fonts ➶][patched-fonts]** | **[Patcher ➶][Nerd Fonts]** | +|--------------------------------|-----------------|------------------------------|-----------------------------| +| [![screenshots][img-visual-toc-screenshots]](#screenshots) | [![api][img-visual-toc-api]](#api) | [![patcher-logo-small][img-visual-toc-patched-fonts]][patched-fonts] | [![patcher-logo-small][img-visual-toc-fonts-patcher]][Nerd Fonts] | + +Table of Contents +----------------- + +[**TL;DR Installation**](#quick-installation) + +[**Installation**](#installation) + +[**Usage**](#usage) +* [**Lightline Setup**](#lightline-setup) +* [**Powerline Setup**](#powerline-setup) +* [**Extra Configuration**](#extra-configuration) +* [**Character Mappings**](#character-mappings) + +[**Features**](#detailed-features) + +[**Screenshots**](#screenshots) + +[**Methods**](#public-methods) + +[**Developer**](#developer) +* [**API**](#api) +* [**Contributing**](#contributing) +* [**Inspiration and special thanks**](#inspiration-and-special-thanks) +* [**Todo**](#todo) +* [**License**](#license) + +[**FAQ / Troubleshooting**](#faq--troubleshooting) + +[**Rationale**](#rationale) + +
+ + +Quick Installation (TL;DR) +-------------------------- + +1. Download and install a patched **[Nerd Font]** (or patch your own) _[(» More details... «)][Nerd Fonts]_ + +2. Install the plugin per your usual method _[(» More details... «)](#installation)_ + +3. Configure Vim _[(» More details... «)](#install-step3)_ + * a. **vim**: Set your terminal emulator font + * b. **gvim**: Set `guifont` in your `vimrc` + +Installation +------------ + + +### Step 1 `Nerd Font` + +Get a [**Nerd Font!**][font-installation] or [patch your own.][nerd-fonts-patcher] +Without this, things break + + +### Step 2 `VimDevIcons Plugin` + +Choose your favorite plugin manager + +#### [Pathogen](https://github.com/tpope/vim-pathogen) + * `git clone https://github.com/ryanoasis/vim-devicons ~/.vim/bundle/vim-devicons` + +#### [NeoBundle](https://github.com/Shougo/neobundle.vim) + * Add to vimrc: + + ```vim + NeoBundle 'ryanoasis/vim-devicons' + ``` + * And install it: + + ```vim + :so ~/.vimrc + :NeoBundleInstall + ``` + +#### [Vundle](https://github.com/gmarik/vundle) + * Add to vimrc: + + ```vim + Plugin 'ryanoasis/vim-devicons' + ``` + * And install it: + + ```vim + :so ~/.vimrc + :PluginInstall + ``` + +#### Manual + * copy all of the files into your `~/.vim` directory + + +### Step 3 `Configure Vim` + +Add the following in your `.vimrc` or `.gvimrc`: + +##### Set VimDevIcons to load _before_ these plugins! + +[NERDTree] | [vim-airline] | [CtrlP] | [powerline] | [unite] | [lightline.vim] | [vim-startify] | [vimfiler] | [flagship] + +##### Set encoding to UTF-8 to show glyphs + + ```vim + set encoding=utf8 + ``` + +##### Set Vim font to a Nerd Font + +Linux + ```vim + set guifont= + ``` + +```vim +set guifont=Droid\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 11 +``` + +macOS (OS X) and Windows +```vim +set guifont=:h +``` + +```vim +set guifont=Droid\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types:h11 +``` + +**Note:** if you don't set `guifont` then you'll have to set your terminal's +font, else things break! + +##### If you use vim-airline you need this + ```vim + let g:airline_powerline_fonts = 1 + ``` + +##### vimrc examples +* [Sample Windows vimrc configuration 1](https://github.com/ryanoasis/vim-devicons/wiki/samples/v0.8.x/.vimrc-windows-1) +* [Sample Linux vimrc configuration 1](https://github.com/ryanoasis/vim-devicons/wiki/samples/v0.8.x/.vimrc-linux-1) + +
+ +### That's it! You're done. ✅ + +
+ +## Usage + +If you installed and setup things correctly you should now see icons in the [supported plugins](#features)! + +**Notes on include order:** +* for support of these plugins: [NERDTree], [vim-airline], [CtrlP], [powerline], [unite], [vimfiler], [flagship] you **must** configure vim to load those plugins **_before_** vim-devicons loads. +* for better [nerdtree-git-plugin] support, you _should_ configure vim to load nerdtree-git-plugin **_before_** VimDevIcons loads. + +[Lightline Setup](#lightline-setup) and [Powerline Setup](#powerline-setup) require some extra setup as shown below: + + +### Lightline Setup + +To add the appropriate icon to [lightline](https://github.com/itchyny/lightline.vim), call the function `WebDevIconsGetFileTypeSymbol()` and/or `WebDevIconsGetFileFormatSymbol()` in your `.vimrc`. For example, you could set your sections to: + +```vim +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 +``` + +### Powerline Setup + +* _Note this is for the current [Powerline][powerline] not the [deprecated vim-powerline](https://github.com/Lokaltog/vim-powerline)_ + +To enable for [Powerline][powerline] some `vimrc` and powerline configuration changes are needed: + +`vimrc` changes (only required if you don't already have powerline setup for vim): + +```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 +```json +{ + "function": "vim_devicons.powerline.segments.webdevicons", + "priority": 10, + "draw_soft_divider": false, + "after": " " +} +``` + +file format segment +```json +{ + "function": "vim_devicons.powerline.segments.webdevicons_file_format", + "draw_soft_divider": false, + "exclude_modes": ["nc"], + "priority": 90 + } +``` + +for full example see [sample file](https://github.com/ryanoasis/vim-devicons/wiki/samples/v0.8.x/powerline/themes/vim/default.json) + +Detailed Features +----------------- + +* Adds filetype glyphs (icons) to various vim plugins, currently supports: + * [NERDTree][] + * [vim-airline][] (statusline and tabline) + * [CtrlP][ctrlpvim-CtrlP] + * Currently only MRU file mode supported + * [powerline][] (statusline) + * see: [powerline setup](#powerline-setup) + * [unite] + * Currently supports `file`, `file_rec`, `buffer`, `file_rec/async`, and `file_rec/neovim` + * [lightline.vim][] (statusline) + * see: [lightline setup](#lightline-setup) + * [vim-startify] + * [vimfiler] + * [flagship] + * Support is **experimental** because the [API may be changing](https://github.com/tpope/vim-flagship/issues/6#issuecomment-116121220) +* 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, scss, htm, html, slim, ejs, css, less, md, json, js, jsx, rb, php, py, pyc, pyd, pyo, coffee, mustache, hbs, conf, ini, yml, bat, jpg, jpeg, bmp, png, gif, twig, cpp, c++, cxx, cc, cp, c, hs, lhs, lua, java, sh, 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``` +* 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, .bashprofile, favicon.ico, license, node_modules, react.jsx, procfile``` +* Supports a few library pattern matches, by default: + * ```jquery, angular, backbone, requirejs, materialize, mootools``` +* Works with patched fonts, especially [Nerd Fonts] + +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: + +```vim +" loading the plugin +let g:webdevicons_enable = 1 +``` + +```vim +" adding the flags to NERDTree +let g:webdevicons_enable_nerdtree = 1 +``` + +```vim +" adding the custom source to unite +let g:webdevicons_enable_unite = 1 +``` + +```vim +" adding the column to vimfiler +let g:webdevicons_enable_vimfiler = 1 +``` + +```vim +" adding to vim-airline's tabline +let g:webdevicons_enable_airline_tabline = 1 +``` + +```vim +" adding to vim-airline's statusline +let g:webdevicons_enable_airline_statusline = 1 +``` + +```vim +" ctrlp MRU file mode glyphs +let g:webdevicons_enable_ctrlp = 1 +``` + +```vim +" adding to flagship's statusline +let g:webdevicons_enable_flagship_statusline = 1 +``` + +```vim +" turn on/off file node glyph decorations (not particularly useful) +let g:WebDevIconsUnicodeDecorateFileNodes = 1 +``` + +```vim +" 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 +``` + +```vim +" whether or not to show the nerdtree brackets around flags +let g:webdevicons_conceal_nerdtree_brackets = 1 +``` + +```vim +" the amount of space to use after the glyph character (default ' ') +let g:WebDevIconsNerdTreeAfterGlyphPadding = ' ' +``` + +```vim +" Force extra padding in NERDTree so that the filetype icons line up vertically +let g:WebDevIconsNerdTreeGitPluginForceVAlign = 1 +``` + +### Character Mappings + +* `ƛ` is used as an example below, substitute for the glyph you **actually** want to use + +```vim +" change the default character when no match found +let g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol = 'ƛ' +``` + +```vim +" enable folder/directory glyph flag (disabled by default with 0) +let g:WebDevIconsUnicodeDecorateFolderNodes = 1 +``` + +```vim +" enable open and close folder/directory glyph flags (disabled by default with 0) +let g:DevIconsEnableFoldersOpenClose = 1 +``` + +```vim +" enable pattern matching glyphs on folder/directory (enabled by default with 1) +let g:DevIconsEnableFolderPatternMatching = 1 +``` + +```vim +" enable file extension pattern matching glyphs on folder/directory (disabled by default with 0) +let g:DevIconsEnableFolderExtensionPatternMatching = 0 +``` + +```vim +" enable custom folder/directory glyph exact matching +" (enabled by default when g:WebDevIconsUnicodeDecorateFolderNodes is set to 1) +let WebDevIconsUnicodeDecorateFolderNodesExactMatches = 1 +``` + +```vim +" change the default folder/directory glyph/icon +let g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol = 'ƛ' +``` + +```vim +" change the default open folder/directory glyph/icon (default is '') +let g:DevIconsDefaultFolderOpenSymbol = 'ƛ' +``` + +```vim +" change the default dictionary mappings for file extension matches + +let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols = {} " needed +let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols['js'] = 'ƛ' +``` + +```vim +" change the default dictionary mappings for exact file node matches + +let g:WebDevIconsUnicodeDecorateFileNodesExactSymbols = {} " needed +let g:WebDevIconsUnicodeDecorateFileNodesExactSymbols['MyReallyCoolFile.okay'] = 'ƛ' +``` + +```vim +" add or override individual additional filetypes + +let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols = {} " needed +let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols['myext'] = 'ƛ' +``` + +```vim +" 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](https://github.com/ryanoasis/vim-devicons/pull/135) for further details. + +```vim +let g:WebDevIconsOS = 'Darwin' +``` + + +Public Methods +-------------- + +```vim +" Returns the current version of the plugin +webdevicons#version() +``` + +```vim +" Calls webdevicons#softRefresh() +" basically a backwards compatibility convenience +webdevicons#refresh() +``` + +```vim +" Does a 'hard' refresh of NERDTree +" resets vim-devicons syntax and closes and reopens NERDTree +webdevicons#hardRefresh() +``` + +```vim +" Does a 'soft' refresh of NERDTree +" resets vim-devicons syntax and toggles NERDTree to the same state +webdevicons#softRefresh() +``` + + +Developer +--------- + +### API + +```vim +" 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() +``` + +#### API Examples + +```vim +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 +``` + +source: [vim-startify] + +```vim +echo WebDevIconsGetFileFormatSymbol() +``` + +Todo +---- + +* [ ] more filetypes to support +* [ ] customize filetype icon colors +* [ ] more customization options in general +* [ ] more specific FAQ and Troubleshooting help + +## License + +See [LICENSE](LICENSE) + +FAQ / Troubleshooting +--------------------- + +See [FAQ][wiki-faq] + +## Screenshots + +See [Screenshots][wiki-screenshots] + +Contributing +------------ + +Best ways to contribute +* Star it on GitHub - if you use it and like it please at least star it :) +* [Promote](#promotion) +* Open [issues/tickets](https://github.com/ryanoasis/vim-devicons/issues) +* Submit fixes and/or improvements with [Pull Requests](#source-code) + +### Promotion + +Like the project? Please support to ensure continued development going forward: +* Star this repo on [GitHub][vim-devicons-repo] +* Follow the repo on [GitHub][vim-devicons-repo] +* Vote for it on [vim.org](http://www.vim.org/scripts/script.php?script_id=5114) +* Follow me + * [Twitter](http://twitter.com/ryanlmcintyre) + * [GitHub](https://github.com/ryanoasis) + +### Source code + +Contributions and Pull Requests are welcome. + +No real formal process has been setup - just stick to general good conventions for now. + +Rationale +--------- + +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. + +Inspiration and special thanks +------------------------------ + +* [vim-airline] +* [nerdtree] +* [nerdtree-git-plugin] +* [seti-ui](https://atom.io/themes/seti-ui) +* [devicons by Theodore Vorillas](http://vorillaz.github.io/devicons) +* [benatespina development.svg.icons](https://github.com/benatespina/development.svg.icons) +* [Steve Losh](http://learnvimscriptthehardway.stevelosh.com/) +* Also thanks to the many [contributors](https://github.com/ryanoasis/vim-devicons/graphs/contributors) + +License +------- + +See [LICENSE](LICENSE) + + + +[Nerd Fonts]:https://github.com/ryanoasis/nerd-fonts +[Nerd Font]:https://github.com/ryanoasis/nerd-fonts +[font-installation]:https://github.com/ryanoasis/nerd-fonts#font-installation +[nerd-fonts-patcher]:https://github.com/ryanoasis/nerd-fonts#font-patcher +[patched-fonts]:https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts +[NERDTree]:https://github.com/scrooloose/nerdtree +[vim-airline]:https://github.com/bling/vim-airline +[lightline.vim]:https://github.com/itchyny/lightline.vim +[lightline]:https://github.com/itchyny/lightline.vim +[nerdtree-git-plugin]:https://github.com/Xuyuanp/nerdtree-git-plugin +[unite]:https://github.com/Shougo/unite.vim +[unite.vim]:https://github.com/Shougo/unite.vim +[vimfiler]:https://github.com/Shougo/vimfiler.vim +[flagship]:https://github.com/tpope/vim-flagship +[CtrlP]:https://github.com/kien/ctrlp.vim +[ctrlpvim-CtrlP]:https://github.com/ctrlpvim/ctrlp.vim +[powerline]:https://github.com/powerline/powerline +[vim-startify]:https://github.com/mhinz/vim-startify + +[wiki-screenshots]:https://github.com/ryanoasis/vim-devicons/wiki/Screenshots +[wiki-faq]:https://github.com/ryanoasis/vim-devicons/wiki/FAQ + +[vim-devicons-repo]:https://github.com/ryanoasis/vim-devicons +[vim-devicons-polls]:https://github.com/ryanoasis/vim-devicons/labels/poll +[badge-version]:http://badge.fury.io/gh/ryanoasis%2Fvim-devicons +[badge-gitter]:https://gitter.im/ryanoasis/vim-devicons?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge +[badge-flattr]:https://flattr.com/submit/auto?user_id=ryanoasis&url=https://github.com/ryanoasis/vim-devicons&title=vim-devicons&language=viml&tags=github&category=software + +[img-version-badge]:https://badge.fury.io/gh/ryanoasis%2Fvim-devicons.svg +[img-gitter-badge]:https://img.shields.io/gitter/room/nwjs/nw.js.svg?style=flat +[img-flattr-badge]:https://img.shields.io/badge/donate-flattr%20this!-8DB65B.svg?style=flat +[img-visual-toc-screenshots]:https://github.com/ryanoasis/vim-devicons/wiki/screenshots/v1.0.0/branding-logo-screenshots-sm.png +[img-visual-toc-api]:https://github.com/ryanoasis/vim-devicons/wiki/screenshots/v1.0.0/branding-logo-api-sm.png +[img-visual-toc-patched-fonts]:https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/images/nerd-fonts-character-logo-md.png +[img-visual-toc-fonts-patcher]:https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/images/nerd-fonts-patcher-logo-md.png diff --git a/README.md b/README.md index 3146848..8d62e78 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,32 @@ This repo is a store my personal Debian and macOS dotfiles. I use zsh as default * and many more ;) * For local system-specific changes (proxy settings, etc.), you can create *~.commonrc.local* +## Requirements + +Some of configuration assets, needs [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) to be installed. You have to install the font only on the host side (your macOS or your Windows maschine). + +### Installation of Nerd Fonts +#### Linux +```sh +mkdir -p ~/.local/share/fonts +cd ~/.local/share/fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20for%20Powerline%20Nerd%20Font%20Complete.otf +``` + +#### macOS +```sh +cd ~/Library/Fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20for%20Powerline%20Nerd%20Font%20Complete.otf +``` + +#### Windows +Download [Droid Sans Mono for Powerline Nerd Font Complete Mono Windows Compatible.otf](https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20for%20Powerline%20Nerd%20Font%20Complete%20Mono%20Windows%20Compatible.otf) and put it in your font folder. + +### iTerm2 Setup non-ASCII Text Font +I am currently using Source Code Pro as my default font, which does not include Powerline support. In addition to this, I do have nerd-fonts installed and configured to be used for non-ascii characters. + +Then, you have configure the fonts in iTerm2: + +![iTerm2 Setup non-ASCII Text Font](screenshot/iTerm2_FontConfiguration.png?raw=true = 250x "iTerm2 Setup non-ASCII Text Font") + ## Installation $ cd ~