From 8e8eae355ad6f1eba684b803e9e1d0f9207dc23b Mon Sep 17 00:00:00 2001 From: mangeshrex <82205152+Mangeshrex@users.noreply.github.com> Date: Wed, 7 Jul 2021 12:32:34 +0530 Subject: [PATCH] Add files via upload Added the bashrc files which were needed for the nord theme --- bash-powerline.sh | 93 +++++++++++++++++++++++++++++++++++++++++++++++ bashrc | 20 ++++++++++ 2 files changed, 113 insertions(+) create mode 100644 bash-powerline.sh create mode 100644 bashrc diff --git a/bash-powerline.sh b/bash-powerline.sh new file mode 100644 index 0000000..6f07831 --- /dev/null +++ b/bash-powerline.sh @@ -0,0 +1,93 @@ +#!/usr/bin/env bash + +## Uncomment to disable git info +#POWERLINE_GIT=0 + +__powerline() { + # Colors + COLOR_RESET='\[\033[m\]' + COLOR_CWD=${COLOR_CWD:-'\[\033[0;34m\]'} # blue + COLOR_GIT=${COLOR_GIT:-'\[\033[0;36m\]'} # cyan + COLOR_SUCCESS=${COLOR_SUCCESS:-'\[\033[0;32m\]'} # green + COLOR_FAILURE=${COLOR_FAILURE:-'\[\033[0;31m\]'} # red + + # Symbols + SYMBOL_GIT_BRANCH=${SYMBOL_GIT_BRANCH:-⑂} + SYMBOL_GIT_MODIFIED=${SYMBOL_GIT_MODIFIED:-*} + SYMBOL_GIT_PUSH=${SYMBOL_GIT_PUSH:-↑} + SYMBOL_GIT_PULL=${SYMBOL_GIT_PULL:-↓} + + if [[ -z "$PS_SYMBOL" ]]; then + case "$(uname)" in + Darwin) PS_SYMBOL='';; + Linux) PS_SYMBOL='$';; + *) PS_SYMBOL='%';; + esac + fi + + __git_info() { + [[ $POWERLINE_GIT = 0 ]] && return # disabled + hash git 2>/dev/null || return # git not found + local git_eng="env LANG=C git" # force git output in English to make our work easier + + # get current branch name + local ref=$($git_eng symbolic-ref --short HEAD 2>/dev/null) + + if [[ -n "$ref" ]]; then + # prepend branch symbol + ref=$SYMBOL_GIT_BRANCH$ref + else + # get tag name or short unique hash + ref=$($git_eng describe --tags --always 2>/dev/null) + fi + + [[ -n "$ref" ]] || return # not a git repo + + local marks + + # scan first two lines of output from `git status` + while IFS= read -r line; do + if [[ $line =~ ^## ]]; then # header line + [[ $line =~ ahead\ ([0-9]+) ]] && marks+=" $SYMBOL_GIT_PUSH${BASH_REMATCH[1]}" + [[ $line =~ behind\ ([0-9]+) ]] && marks+=" $SYMBOL_GIT_PULL${BASH_REMATCH[1]}" + else # branch is modified if output contains more lines after the header line + marks="$SYMBOL_GIT_MODIFIED$marks" + break + fi + done < <($git_eng status --porcelain --branch 2>/dev/null) # note the space between the two < + + # print the git branch segment without a trailing newline + printf " $ref$marks" + } + + ps1() { + # Check the exit code of the previous command and display different + # colors in the prompt accordingly. + if [ $? -eq 0 ]; then + local symbol="$COLOR_SUCCESS $PS_SYMBOL $COLOR_RESET" + else + local symbol="$COLOR_FAILURE $PS_SYMBOL $COLOR_RESET" + fi + + local cwd="$COLOR_CWD\w$COLOR_RESET" + # Bash by default expands the content of PS1 unless promptvars is disabled. + # We must use another layer of reference to prevent expanding any user + # provided strings, which would cause security issues. + # POC: https://github.com/njhartwell/pw3nage + # Related fix in git-bash: https://github.com/git/git/blob/9d77b0405ce6b471cb5ce3a904368fc25e55643d/contrib/completion/git-prompt.sh#L324 + if shopt -q promptvars; then + __powerline_git_info="$(__git_info)" + local git="$COLOR_GIT\${__powerline_git_info}$COLOR_RESET" + else + # promptvars is disabled. Avoid creating unnecessary env var. + local git="$COLOR_GIT$(__git_info)$COLOR_RESET" + fi + + PS1="\e[1;31m󰊠 \e[0m $cwd$git$symbol" + } + + PROMPT_COMMAND="ps1${PROMPT_COMMAND:+; $PROMPT_COMMAND}" +} + +__powerline +unset __powerline diff --git a/bashrc b/bashrc new file mode 100644 index 0000000..11f49d6 --- /dev/null +++ b/bashrc @@ -0,0 +1,20 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='logo-ls ' +alias xw='xwallpaper --zoom' +alias orphan='pacman -Qtdq | pacman -Rns -' +source ~/.bash-powerline.sh + + +#PS1='\033\e[0;31m󰅂\033\e[0m\e[0;32m󰅂\e[0;34m󰅂\e[0m \e[1;36m󰉋 \e[0m \W ' +rxfetch + +if [ -f /etc/bash.command-not-found ]; then + . /etc/bash.command-not-found +fi +