Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
O
oh-my-fish
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
oh-my-fish
Commits
209e93e2
Commit
209e93e2
authored
Apr 30, 2014
by
Bruno Pinto
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #136 from sbstnp/master
parents
ef379c32
782283dc
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
202 additions
and
0 deletions
+202
-0
themes/agnoster-mercurial/README.md
themes/agnoster-mercurial/README.md
+28
-0
themes/agnoster-mercurial/fish_prompt.fish
themes/agnoster-mercurial/fish_prompt.fish
+174
-0
No files found.
themes/agnoster-mercurial/README.md
0 → 100644
View file @
209e93e2
## agnoster
A ZSH theme optimized for people who use:
*
Solarized
*
Git
*
Mercurial
*
Unicode-compatible fonts and terminals (I use iTerm2 + Menlo)
For Mac users, I highly recommend iTerm 2 + Solarized Dark

#### Characteristics
*
If the previous command failed (✘)
*
User @ Hostname (if user is not DEFAULT_USER, which can then be set in your profile)
*
Git status
*
Mercurial status
*
Branch (⭠) or detached head (➦)
*
Current branch / SHA1 in detached head state
*
Dirty working directory (±, color change)
*
Working directory
*
Elevated (root) privileges (⚡)
Ported from https://gist.github.com/agnoster/3712874.
themes/agnoster-mercurial/fish_prompt.fish
0 → 100644
View file @
209e93e2
# name: Agnoster
# agnoster's Theme - https://gist.github.com/3712874
# A Powerline-inspired theme for FISH
#
# # README
#
# In order for this theme to render correctly, you will need a
# [Powerline-patched font](https://gist.github.com/1595572).
## Set this options in your config.fish (if you want to :])
# set -g theme_display_user yes
# set -g default_user your_normal_user
set -g current_bg NONE
set segment_separator \uE0B0
set right_segment_separator \uE0B0
# ===========================
# Helper methods
# ===========================
set -g __fish_git_prompt_showdirtystate 'yes'
set -g __fish_git_prompt_char_dirtystate '±'
set -g __fish_git_prompt_char_cleanstate ''
function parse_git_dirty
set -l submodule_syntax
set submodule_syntax "--ignore-submodules=dirty"
set git_dirty (command git status -s $submodule_syntax 2> /dev/null)
if [ -n "$git_dirty" ]
if [ $__fish_git_prompt_showdirtystate = "yes" ]
echo -n "$__fish_git_prompt_char_dirtystate"
end
else
if [ $__fish_git_prompt_showdirtystate = "yes" ]
echo -n "$__fish_git_prompt_char_cleanstate"
end
end
end
# ===========================
# Segments functions
# ===========================
function prompt_segment -d "Function to draw a segment"
set -l bg
set -l fg
if [ -n "$argv[1]" ]
set bg $argv[1]
else
set bg normal
end
if [ -n "$argv[2]" ]
set fg $argv[2]
else
set fg normal
end
if [ "$current_bg" != 'NONE' -a "$argv[1]" != "$current_bg" ]
set_color -b $bg
set_color $current_bg
echo -n "$segment_separator "
set_color -b $bg
set_color $fg
else
set_color -b $bg
set_color $fg
echo -n " "
end
set current_bg $argv[1]
if [ -n "$argv[3]" ]
echo -n -s $argv[3] " "
end
end
function prompt_finish -d "Close open segments"
if [ -n $current_bg ]
set_color -b normal
set_color $current_bg
echo -n "$segment_separator "
end
set -g current_bg NONE
end
# ===========================
# Theme components
# ===========================
function prompt_user -d "Display actual user if different from $default_user"
if [ "$theme_display_user" = "yes" ]
if [ "$USER" != "$default_user" -o -n "$SSH_CLIENT" ]
set USER_PROMPT (whoami)@(hostname)
prompt_segment black yellow $USER_PROMPT
end
end
end
function prompt_dir -d "Display the actual directory"
prompt_segment blue black (prompt_pwd)
end
function prompt_hg -d "Display mercurial state"
set -l branch
set -l state
if command hg id >/dev/null 2>&1
if command hg prompt >/dev/null 2>&1
set branch (command hg prompt "{branch}")
set state (command hg prompt "{status}")
set branch_symbol \uE0A0
if [ "$state" = "!" ]
prompt_segment red white "$branch_symbol $branch ±"
else if [ "$state" = "?" ]
prompt_segment yellow black "$branch_symbol $branch ±"
else
prompt_segment green black "$branch_symbol $branch"
end
end
end
end
function prompt_git -d "Display the actual git state"
set -l ref
set -l dirty
if command git rev-parse --is-inside-work-tree >/dev/null 2>&1
set dirty (parse_git_dirty)
set ref (command git symbolic-ref HEAD 2> /dev/null)
set ref (command git symbolic-ref HEAD 2> /dev/null)
if [ $status -gt 0 ]
set -l branch (command git show-ref --head -s --abbrev |head -n1 2> /dev/null)
set ref "➦ $branch "
end
set branch_symbol \uE0A0
set -l branch (echo $ref | sed "s-refs/heads/-$branch_symbol -")
if [ "$dirty" != "" ]
prompt_segment yellow black "$branch $dirty"
else
prompt_segment green black "$branch $dirty"
end
end
end
function prompt_status -d "the symbols for a non zero exit status, root and background jobs"
if [ $RETVAL -ne 0 ]
prompt_segment black red "✘"
end
# if superuser (uid == 0)
set -l uid (id -u $USER)
if [ $uid -eq 0 ]
prompt_segment black yellow "⚡"
end
# Jobs display
if [ (jobs -l | wc -l) -gt 0 ]
prompt_segment black cyan "⚙"
end
end
# ===========================
# Apply theme
# ===========================
function fish_prompt
set -g RETVAL $status
prompt_status
prompt_user
prompt_dir
prompt_hg
prompt_git
prompt_finish
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment