From d6584e13dac22ffa6318c9624aa76f60a3add7bf Mon Sep 17 00:00:00 2001
From: Dominik Ritter <dritter03@googlemail.com>
Date: Fri, 23 Oct 2015 23:42:59 +0200
Subject: Extracted icons into a separate file.

---
 functions/icons.zsh     | 200 ++++++++++++++++++++++++++++++++++++++++++++++++
 functions/utilities.zsh |  24 +-----
 2 files changed, 201 insertions(+), 23 deletions(-)
 create mode 100644 functions/icons.zsh

(limited to 'functions')

diff --git a/functions/icons.zsh b/functions/icons.zsh
new file mode 100644
index 00000000..fb2683b2
--- /dev/null
+++ b/functions/icons.zsh
@@ -0,0 +1,200 @@
+# vim:ft=zsh ts=2 sw=2 sts=2 et fenc=utf-8
+################################################################
+# icons
+# This file holds the icon definitions and
+# icon-functions for the powerlevel9k-ZSH-theme
+# https://github.com/bhilburn/powerlevel9k
+################################################################
+
+# These characters require the Powerline fonts to work properly. If you see
+# boxes or bizarre characters below, your fonts are not correctly installed. If
+# you do not want to install a special font, you can set `POWERLEVEL9K_MODE` to
+# `compatible`. This shows all icons in regular symbols.
+
+# Initialize the icon list according to the user's `POWERLEVEL9K_MODE`.
+typeset -gAH icons
+case $POWERLEVEL9K_MODE in
+  'flat'|'awesome-patched')
+    # Awesome-Patched Font required! See:
+    # https://github.com/gabrielelana/awesome-terminal-fonts/tree/patching-strategy/patched
+    # Set the right locale to protect special characters
+    local LC_ALL="" LC_CTYPE="en_US.UTF-8"
+    icons=(
+      LEFT_SEGMENT_SEPARATOR         $'\UE0B0'              # 
+      RIGHT_SEGMENT_SEPARATOR        $'\UE0B2'              # 
+      LEFT_SUBSEGMENT_SEPARATOR      $'\UE0B1'              # 
+      RIGHT_SUBSEGMENT_SEPARATOR     $'\UE0B3'              # 
+      CARRIAGE_RETURN_ICON           $'\U21B5'              # ↵
+      ROOT_ICON                      $'\UE801'              # 
+      RUBY_ICON                      $'\UE847'              # 
+      AWS_ICON                       $'\UE895'              # 
+      BACKGROUND_JOBS_ICON           $'\UE82F '             # 
+      TEST_ICON                      $'\UE891'              # 
+      TODO_ICON                      $'\U2611'              # ☑
+      BATTERY_ICON                   $'\UE894'              # 
+      OK_ICON                        $'\U2713'              # ✓
+      FAIL_ICON                      $'\U2718'              # ✘
+      SYMFONY_ICON                   'SF'
+      NODE_ICON                      $'\U2B22'              # ⬢
+      MULTILINE_FIRST_PROMPT_PREFIX  $'\U256D'$'\U2500'
+      MULTILINE_SECOND_PROMPT_PREFIX $'\U2570'$'\U2500 '
+      APPLE_ICON                     $'\UE26E'              # 
+      FREEBSD_ICON                   $'\U1F608 '            # 😈
+      LINUX_ICON                     $'\UE271'              # 
+      SUNOS_ICON                     $'\U1F31E '            # 🌞
+      HOME_ICON                      $'\UE12C '             # 
+      NETWORK_ICON                   $'\UE1AD '             # 
+      LOAD_ICON                      $'\UE190 '             # 
+      #RAM_ICON                       $'\UE87D'             # 
+      RAM_ICON                       $'\UE1E2 '             # 
+      VCS_UNTRACKED_ICON             $'\UE16C'              # 
+      VCS_UNSTAGED_ICON              $'\UE17C'              # 
+      VCS_STAGED_ICON                $'\UE168'              # 
+      VCS_STASH_ICON                 $'\UE133 '             # 
+      #VCS_INCOMING_CHANGES_ICON     $'\UE1EB '             # 
+      #VCS_INCOMING_CHANGES_ICON     $'\UE80D '             # 
+      VCS_INCOMING_CHANGES_ICON      $'\UE131 '             # 
+      #VCS_OUTGOING_CHANGES_ICON     $'\UE1EC '             # 
+      #VCS_OUTGOING_CHANGES_ICON     $'\UE80E '             # 
+      VCS_OUTGOING_CHANGES_ICON      $'\UE132 '             # 
+      VCS_TAG_ICON                   $'\UE817 '             # 
+      VCS_BOOKMARK_ICON              $'\UE87B'              # 
+      VCS_COMMIT_ICON                $'\UE821 '             # 
+      VCS_BRANCH_ICON                $'\UE220'              # 
+      VCS_REMOTE_BRANCH_ICON         ' '$'\UE804 '          # 
+      VCS_GIT_ICON                   $'\UE20E  '            # 
+      VCS_HG_ICON                    $'\UE1C3  '            # 
+    )
+  ;;
+  'awesome-fontconfig')
+    # fontconfig with awesome-font required! See
+    # https://github.com/gabrielelana/awesome-terminal-fonts
+    icons=(
+      LEFT_SEGMENT_SEPARATOR         $'\UE0B0'              # 
+      RIGHT_SEGMENT_SEPARATOR        $'\UE0B2'              # 
+      LEFT_SUBSEGMENT_SEPARATOR      $'\UE0B1'              # 
+      RIGHT_SUBSEGMENT_SEPARATOR     $'\UE0B3'              # 
+      CARRIAGE_RETURN_ICON           $'\U21B5'              # ↵
+      ROOT_ICON                      $'\uF201'              # 
+      RUBY_ICON                      $'\UF247'              # 
+      AWS_ICON                       $'\UF296'              # 
+      BACKGROUND_JOBS_ICON           $'\UF013 '             # 
+      TEST_ICON                      $'\UF291'              # 
+      TODO_ICON                      $'\U2611'              # ☑
+      BATTERY_ICON                   $'\u1F50B'             # 🔋
+      OK_ICON                        $'\UF23A'              # 
+      FAIL_ICON                      $'\UF281'              # 
+      SYMFONY_ICON                   'SF'
+      NODE_ICON                      $'\U2B22'              # ⬢
+      MULTILINE_FIRST_PROMPT_PREFIX  $'\U256D'$'\U2500'     # ╭─
+      MULTILINE_SECOND_PROMPT_PREFIX $'\U2570'$'\U2500 '    # ╰─
+      APPLE_ICON                     $'\UF179'              # 
+      FREEBSD_ICON                   $'\U1F608 '            # 😈
+      LINUX_ICON                     $'\UF17C'              # 
+      SUNOS_ICON                     $'\UF185 '             # 
+      HOME_ICON                      $'\UF015 '             # 
+      NETWORK_ICON                   $'\UF09E '             # 
+      LOAD_ICON                      $'\UF080 '             # 
+      RAM_ICON                       $'\UF0E4'              # 
+      VCS_UNTRACKED_ICON             $'\UF059'              # 
+      VCS_UNSTAGED_ICON              $'\UF06A'              # 
+      VCS_STAGED_ICON                $'\UF055'              # 
+      VCS_STASH_ICON                 $'\UF01C '             # 
+      VCS_INCOMING_CHANGES_ICON      $'\UF01A '             # 
+      VCS_OUTGOING_CHANGES_ICON      $'\UF01B '             # 
+      VCS_TAG_ICON                   $'\UF217 '             # 
+      VCS_BOOKMARK_ICON              $'\UF27B'              # 
+      VCS_COMMIT_ICON                $'\UF221 '             # 
+      VCS_BRANCH_ICON                $'\UF126'              # 
+      VCS_REMOTE_BRANCH_ICON         ' '$'\UF204 '          # 
+      VCS_GIT_ICON                   $'\UF113  '            # 
+      VCS_HG_ICON                    $'\UF0C3  '            # 
+    )
+  ;;
+  *)
+    # Powerline-Patched Font required!
+    # See https://github.com/Lokaltog/powerline-fonts
+    icons=(
+      LEFT_SEGMENT_SEPARATOR         $'\uE0B0'              # 
+      RIGHT_SEGMENT_SEPARATOR        $'\uE0B2'              # 
+      LEFT_SUBSEGMENT_SEPARATOR      $'\UE0B1'              # 
+      RIGHT_SUBSEGMENT_SEPARATOR     $'\UE0B3'              # 
+      CARRIAGE_RETURN_ICON           $'\U21B5'              # ↵
+      ROOT_ICON                      $'\u26A1'              # ⚡
+      RUBY_ICON                      ''
+      AWS_ICON                       'AWS:'
+      BACKGROUND_JOBS_ICON           $'\u2699'              # ⚙
+      TEST_ICON                      ''
+      TODO_ICON                      $'\U2611'              # ☑
+      BATTERY_ICON                   $'\u1F50B'             # 🔋
+      OK_ICON                        $'\u2713'              # ✓
+      FAIL_ICON                      $'\u2718'              # ✘
+      SYMFONY_ICON                   'SF'
+      NODE_ICON                      $'\u2B22'              # ⬢
+      MULTILINE_FIRST_PROMPT_PREFIX  $'\u256D'$'\u2500'
+      MULTILINE_SECOND_PROMPT_PREFIX $'\u2570'$'\u2500 '
+      APPLE_ICON                     'OSX'
+      FREEBSD_ICON                   'BSD'
+      LINUX_ICON                     'Lx'
+      SUNOS_ICON                     'Sun'
+      HOME_ICON                      ''
+      NETWORK_ICON                   'IP'
+      LOAD_ICON                      'L'
+      RAM_ICON                       'RAM'
+      VCS_UNTRACKED_ICON             '?'
+      VCS_UNSTAGED_ICON              $'\u25CF'              # ●
+      VCS_STAGED_ICON                $'\u271A'              # ✚
+      VCS_STASH_ICON                 $'\u235F'              # ⍟
+      VCS_INCOMING_CHANGES_ICON      $'\u2193'              # ↓
+      VCS_OUTGOING_CHANGES_ICON      $'\u2191'              # ↑
+      VCS_TAG_ICON                   ''
+      VCS_BOOKMARK_ICON              $'\u263F'              # ☿
+      VCS_COMMIT_ICON                ''
+      VCS_BRANCH_ICON                $'\uE0A0 '             # 
+      VCS_REMOTE_BRANCH_ICON         $'\u2192'              # →
+      VCS_GIT_ICON                   ''
+      VCS_HG_ICON                    ''
+    )
+  ;;
+esac
+
+# Override the above icon settings with any user-defined variables.
+case $POWERLEVEL9K_MODE in
+  'flat')
+    icons[LEFT_SEGMENT_SEPARATOR]=''
+    icons[RIGHT_SEGMENT_SEPARATOR]=''
+    icons[LEFT_SUBSEGMENT_SEPARATOR]='|'
+    icons[RIGHT_SUBSEGMENT_SEPARATOR]='|'
+  ;;
+  'compatible')
+    # Set the right locale to protect special characters
+    local LC_ALL="" LC_CTYPE="en_US.UTF-8"
+    icons[LEFT_SEGMENT_SEPARATOR]=$'\u2B80'                 # ⮀
+    icons[RIGHT_SEGMENT_SEPARATOR]=$'\u2B82'                # ⮂
+    icons[VCS_BRANCH_ICON]='@'
+  ;;
+esac
+
+if [[ "$POWERLEVEL9K_HIDE_BRANCH_ICON" == true ]]; then
+    icons[VCS_BRANCH_ICON]=''
+fi
+
+# Safety function for printing icons
+# Prints the named icon, or if that icon is undefined, the string name.
+function print_icon() {
+  local icon_name=$1
+  local ICON_USER_VARIABLE=POWERLEVEL9K_${icon_name}
+  local USER_ICON=${(P)ICON_USER_VARIABLE}
+  if defined "$ICON_USER_VARIABLE"; then
+    echo -n "$USER_ICON"
+  else
+    echo -n "${icons[$icon_name]}"
+  fi
+}
+
+get_icon_names() {
+  for key in ${(@k)icons}; do
+    echo "POWERLEVEL9K_$key: ${icons[$key]}"
+  done
+}
+
diff --git a/functions/utilities.zsh b/functions/utilities.zsh
index be0ffc86..4c2d637a 100644
--- a/functions/utilities.zsh
+++ b/functions/utilities.zsh
@@ -1,13 +1,10 @@
 # vim:ft=zsh ts=2 sw=2 sts=2 et fenc=utf-8
 ################################################################
-# power-functions
+# Utility functions
 # This file holds some utility-functions for
 # the powerlevel9k-ZSH-theme
 # https://github.com/bhilburn/powerlevel9k
 ################################################################
-################################################################
-# Utility functions
-################################################################
 
 # Exits with 0 if a variable has been previously defined (even if empty)
 # Takes the name of a variable that should be checked.
@@ -29,19 +26,6 @@ function set_default() {
   defined "$varname" || typeset -g "$varname"="$default_value"
 }
 
-# Safety function for printing icons
-# Prints the named icon, or if that icon is undefined, the string name.
-function print_icon() {
-  local icon_name=$1
-  local ICON_USER_VARIABLE=POWERLEVEL9K_${icon_name}
-  local USER_ICON=${(P)ICON_USER_VARIABLE}
-  if defined "$ICON_USER_VARIABLE"; then
-    echo -n "$USER_ICON"
-  else
-    echo -n "${icons[$icon_name]}"
-  fi
-}
-
 # Get numerical color codes. That way we translate ANSI codes
 # into ZSH-Style color codes.
 function getColorCode() {
@@ -140,12 +124,6 @@ function getRelevantItem() {
   done
 }
 
-get_icon_names() {
-  for key in ${(@k)icons}; do
-    echo "POWERLEVEL9K_$key: ${icons[$key]}"
-  done
-}
-
 # OS detection for the `os_icon` segment
 case $(uname) in
     Darwin)
-- 
cgit v1.2.3