poetician

Fish | Toaster theme | Slavic Cat

Nov 3rd, 2020 (edited)
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. # forked from Toaster https://github.com/oh-my-fish/theme-toaster
  2.  
  3. set __slavic_color_orange FD971F
  4. set __slavic_color_blue 6EC9DD
  5. set __slavic_color_green A6E22E
  6. set __slavic_color_yellow E6DB7E
  7. set __slavic_color_pink F92672
  8. set __slavic_color_grey 554F48
  9. set __slavic_color_white F1F1F1
  10. set __slavic_color_purple 9458FF
  11. set __slavic_color_lilac AE81FF
  12.  
  13. function __slavic_color_echo
  14. set_color $argv[1]
  15. if test (count $argv) -eq 2
  16. echo -n $argv[2]
  17. end
  18. end
  19.  
  20. function __slavic_current_folder
  21. if test $PWD = '/'
  22. echo -n '/'
  23. else
  24. echo -n $PWD | grep -o -E '[^\/]+$'
  25. end
  26. end
  27.  
  28. function __slavic_git_status_codes
  29. echo (git status --porcelain ^/dev/null | sed -E 's/(^.{3}).*/\1/' | tr -d ' \n')
  30. end
  31.  
  32. function __slavic_git_branch_name
  33. echo (git rev-parse --abbrev-ref HEAD ^/dev/null)
  34. end
  35.  
  36. function __slavic_rainbow
  37. if echo $argv[1] | grep -q -e $argv[3]
  38. __slavic_color_echo $argv[2] "彡ミ"
  39. end
  40. end
  41.  
  42. function __slavic_git_status_icons
  43. set -l git_status (__slavic_git_status_codes)
  44.  
  45. __slavic_rainbow $git_status $__slavic_color_pink 'D'
  46. __slavic_rainbow $git_status $__slavic_color_orange 'R'
  47. __slavic_rainbow $git_status $__slavic_color_white 'C'
  48. __slavic_rainbow $git_status $__slavic_color_green 'A'
  49. __slavic_rainbow $git_status $__slavic_color_blue 'U'
  50. __slavic_rainbow $git_status $__slavic_color_lilac 'M'
  51. __slavic_rainbow $git_status $__slavic_color_grey '?'
  52. end
  53.  
  54. function __slavic_git_status
  55. # In git
  56. if test -n (__slavic_git_branch_name)
  57.  
  58. __slavic_color_echo $__slavic_color_blue " ☭ "
  59. __slavic_color_echo $__slavic_color_white (__slavic_git_branch_name)
  60.  
  61. if test -n (__slavic_git_status_codes)
  62. __slavic_color_echo $__slavic_color_pink ' ●'
  63. __slavic_color_echo $__slavic_color_white ' (^._.^)ノ'
  64. __slavic_git_status_icons
  65. else
  66. __slavic_color_echo $__slavic_color_green ' ○'
  67. end
  68. end
  69. end
  70.  
  71. function fish_mode_prompt
  72. set_color $__slavic_color_lilac
  73. printf '['
  74. switch $fish_bind_mode
  75. case default
  76. set_color red
  77. printf 'n'
  78. case insert
  79. set_color green
  80. printf 'i'
  81. case visual
  82. set_color magenta
  83. printf 'v'
  84. end
  85. set_color $__slavic_color_lilac
  86. printf '] '
  87. end
  88.  
  89. function fish_prompt
  90. __slavic_color_echo $__slavic_color_purple (prompt_pwd)
  91. __slavic_git_status
  92.  
  93. echo
  94. __slavic_color_echo $__slavic_color_pink "⫸ "
  95. end
  96.  
Add Comment
Please, Sign In to add comment