Compare commits
1 Commits
zcurses/bu
...
3c0f62d4d8
| Author | SHA1 | Date | |
|---|---|---|---|
| 3c0f62d4d8 |
@@ -6,26 +6,20 @@
|
|||||||
- brew:
|
- brew:
|
||||||
- zsh
|
- zsh
|
||||||
- command:
|
- command:
|
||||||
- install: sudo chsh $USER -s `which zsh`
|
- sudo chsh $USER -s `which zsh`
|
||||||
remove: sudo chsh $USER -s `which bash`
|
|
||||||
- symlink:
|
- symlink:
|
||||||
- {src: zlogin, dst: ~/.zlogin}
|
- {src: zlogin, dst: ~/.zlogin}
|
||||||
- {src: zlogout, dst: ~/.zlogout}
|
- {src: zlogout, dst: ~/.zlogout}
|
||||||
- {src: zprofile, dst: ~/.zprofile}
|
- {src: zprofile, dst: ~/.zprofile}
|
||||||
- {src: zshenv, dst: ~/.zshenv}
|
- {src: zshenv, dst: ~/.zshenv}
|
||||||
- {src: zshrc, dst: ~/.zshrc}
|
- {src: zshrc, dst: ~/.zshrc}
|
||||||
- src: prompt_fresh_setup
|
-
|
||||||
|
src: prompt_fresh_setup
|
||||||
dst: ~/.local/share/zsh/site-functions/prompt_fresh_setup
|
dst: ~/.local/share/zsh/site-functions/prompt_fresh_setup
|
||||||
- src: build/_build-dir
|
|
||||||
dst: ~/.local/share/zsh/site-functions/_build-dir
|
|
||||||
- src: sandbox/_sandbox
|
|
||||||
dst: ~/.local/share/zsh/site-functions/_sandbox
|
|
||||||
- src: layout/_layout
|
|
||||||
dst: ~/.local/share/zsh/site-functions/_layout
|
|
||||||
- src: notes/_note
|
|
||||||
dst: ~/.local/share/zsh/site-functions/_note
|
|
||||||
- repo:
|
- repo:
|
||||||
- https://github.com/zsh-users/zsh-autosuggestions.git
|
- https://github.com/zsh-users/zsh-autosuggestions.git
|
||||||
- https://github.com/zsh-users/zsh-history-substring-search.git
|
- https://github.com/zsh-users/zsh-history-substring-search.git
|
||||||
- https://github.com/zdharma/fast-syntax-highlighting.git
|
- https://github.com/zsh-users/zsh-syntax-highlighting.git
|
||||||
|
- pip:
|
||||||
|
- --user pick
|
||||||
- message: zsh will be the default prompt after next login
|
- message: zsh will be the default prompt after next login
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
#compdef build-dir
|
|
||||||
|
|
||||||
_arguments \
|
|
||||||
'(-h --help)'{-h,--help}'[]' \
|
|
||||||
'--build[invoke a build after selection]' \
|
|
||||||
'1:directory:_files'
|
|
||||||
@@ -17,150 +17,55 @@ elif [ `uname` = Darwin ]; then
|
|||||||
alias debug='lldb --'
|
alias debug='lldb --'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Interactively choose a `~build` directory for `build` to build.
|
# Store the path to `build-dir.py`, using `${0:a:h}` does not work in a
|
||||||
|
# function because it will result in `pwd` not this scripts directory.
|
||||||
|
_build_dir_py=${0:a:h}/build-dir.py
|
||||||
|
|
||||||
|
# Prompt user to interactively choose a build directory for `build` to build.
|
||||||
|
# TODO: Support arguments:
|
||||||
|
# * [x] [-h,--help] - show this help message and exit
|
||||||
|
# * [x] [--build] - execute the build commend
|
||||||
|
# * [ ] <dir> - start in another directory, not `pwd`
|
||||||
build-dir() {
|
build-dir() {
|
||||||
local usage='usage: build-dir [-h] [--build] [<directory>]'
|
# Get a unique filename to store the chosen build directory in.
|
||||||
local -a help do_build
|
[ `uname` = Darwin ] && local file=`mktemp` || local file=`tempfile`
|
||||||
zparseopts -D h=help -help=help -build=do_build
|
# Prompt user to choose a build directory.
|
||||||
if [[ -n $help ]]; then
|
python $_build_dir_py $file;
|
||||||
cat << EOF
|
local error=$?
|
||||||
$usage
|
# If the file exists, read the build directory from it, then delete it.
|
||||||
|
[ -f $file ] && build_dir=$PWD/`cat $file`; rm $file
|
||||||
Find and select the current build directory interactively.
|
# If choosing a build directory failed, return that error.
|
||||||
|
[[ "$error" = "0" ]] || return $error
|
||||||
positional arguments:
|
# If `build.ninja` exists in alias `ninja`, return.
|
||||||
<directory> the build directory to select
|
[ -f $build_dir/build.ninja ] && \
|
||||||
|
local build="ninja -C $build_dir"
|
||||||
optional arguments:
|
# If `Makefile` exists in alias `make`, return.
|
||||||
-h, --help show this help message and exit
|
if [ -f $build_dir/Makefile ]; then
|
||||||
--build invoke a build after selection
|
[ `uname` = Darwin ] && \
|
||||||
EOF
|
local cpu_count=`sysctl -n hw.ncpu` ||
|
||||||
return
|
local cpu_count=`grep -c '^processor' /proc/cpuinfo`
|
||||||
|
local build="make -j $cpu_count -C $build_dir"
|
||||||
fi
|
fi
|
||||||
error() { echo "\e[31merror:\e[0m $1"; return 1 }
|
# If the build variable is not defined the command could not be determined.
|
||||||
local build_dir
|
if [ -z $build ]; then
|
||||||
if [[ ${#*} -gt 1 ]]; then
|
# TODO: Prompt user to choose a build command?
|
||||||
echo $usage
|
echo "could not determine build command"
|
||||||
error "unexpected position arguments: ${*[2,${#*}]}"
|
return 1
|
||||||
elif [[ ${#*} -eq 1 ]]; then
|
|
||||||
build_dir=${*[1]}
|
|
||||||
[[ ! -d $build_dir ]] && \
|
|
||||||
error "directory not found: $build_dir"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If <directory> was not set begin selection
|
|
||||||
if [[ -z $build_dir ]]; then
|
|
||||||
# Find build directories
|
|
||||||
local -a build_dirs
|
|
||||||
for entry in `ls -A`; do
|
|
||||||
[ -d $entry ] && [[ $entry =~ build* ]] && \
|
|
||||||
build_dirs+=${entry/\//}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Interactively select a build directory if more than 1 found
|
|
||||||
integer index=0
|
|
||||||
if [[ ${#build_dirs} -eq 0 ]]; then
|
|
||||||
error "no build directories found"
|
|
||||||
elif [[ ${#build_dirs} -gt 1 ]]; then
|
|
||||||
zmodload zsh/curses && {
|
|
||||||
# Get the size of the terminal
|
|
||||||
local size=`stty size`
|
|
||||||
integer height=${size% *}
|
|
||||||
integer width=${size#* }
|
|
||||||
|
|
||||||
# Create the window and hide the cursor
|
|
||||||
zcurses init
|
|
||||||
zcurses addwin build-dir $height $width 0 0
|
|
||||||
|
|
||||||
# Hide the cursor for zcurses, trap SIGINT to ensure cleanup in
|
|
||||||
# always-list occurs below
|
|
||||||
tput civis; trap 'return 130' INT
|
|
||||||
|
|
||||||
# Enter display loop
|
|
||||||
local key keypad
|
|
||||||
while (( 1 )); do
|
|
||||||
zcurses clear build-dir
|
|
||||||
|
|
||||||
# Add the prompt text
|
|
||||||
zcurses move build-dir 1 1
|
|
||||||
zcurses string build-dir 'Select a build directory:'
|
|
||||||
|
|
||||||
# Add the selections text
|
|
||||||
for (( i = 0; i < ${#build_dirs}; i++ )); do
|
|
||||||
integer line=$i+3
|
|
||||||
zcurses move build-dir $line 1
|
|
||||||
[[ $index -eq $i ]] &&
|
|
||||||
zcurses string build-dir "* " ||
|
|
||||||
zcurses string build-dir " "
|
|
||||||
zcurses string build-dir ${build_dirs[$i+1]}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Display the text the and wait for input
|
|
||||||
zcurses refresh build-dir
|
|
||||||
zcurses input build-dir key keypad
|
|
||||||
|
|
||||||
# Handle user input
|
|
||||||
case $key in
|
|
||||||
(UP|k|$'\C-P')
|
|
||||||
[[ $index -gt 0 ]] && index=$index-1 ;;
|
|
||||||
(DOWN|j|$'\C-N')
|
|
||||||
[[ $index -lt ${#build_dirs}-1 ]] && index=$index+1 ;;
|
|
||||||
(ENTER|$'\n')
|
|
||||||
break ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
} always {
|
|
||||||
# Restore the cursor and cleanup zcurses
|
|
||||||
tput cvvis; tput cnorm
|
|
||||||
zcurses delwin build-dir
|
|
||||||
zcurses end
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# On success setup the build directory for use
|
|
||||||
if [[ $? -eq 0 ]]; then
|
|
||||||
# Set the build directory from selection if empty
|
|
||||||
[[ -z $build_dir ]] && \
|
|
||||||
build_dir=${build_dirs[$index+1]}
|
|
||||||
|
|
||||||
# If `build.ninja` exists in alias `ninja`, return.
|
|
||||||
local build
|
|
||||||
[ -f $build_dir/build.ninja ] && \
|
|
||||||
build="ninja -C $build_dir"
|
|
||||||
|
|
||||||
# If `Makefile` exists in alias `make`, return.
|
|
||||||
if [ -f $build_dir/Makefile ]; then
|
|
||||||
[ `uname` = Darwin ] && \
|
|
||||||
local cpu_count=`sysctl -n hw.ncpu` ||
|
|
||||||
local cpu_count=`grep -c '^processor' /proc/cpuinfo`
|
|
||||||
build="make -j $cpu_count -C $build_dir"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If the build variable is not defined the command could not be determined
|
|
||||||
if [ -z $build ]; then
|
|
||||||
echo "\e[33mwarning:\e[0m build command detection failed: $build_dir"
|
|
||||||
# Prompt user to enter a build command
|
|
||||||
vared -p 'enter comand: ' build
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Redefine the `build` alias and update the `~build` hash directory
|
|
||||||
alias build="$build"
|
|
||||||
hash -d build=$build_dir
|
|
||||||
|
|
||||||
# If `--build` is specified then evaluate the command.
|
|
||||||
[[ -n $do_build ]] && eval build
|
|
||||||
fi
|
fi
|
||||||
|
# Redefine the new alias.
|
||||||
|
alias build="$build"
|
||||||
|
# If `--build` is specified then evaluate the command.
|
||||||
|
[[ "$1" = "--build" ]] && eval $build || true
|
||||||
}
|
}
|
||||||
|
|
||||||
# Build then run a target residing in `~build/bin`.
|
# Build then run a target residing in `$build_dir/bin`.
|
||||||
build-run() {
|
build-run() {
|
||||||
local target=$1; shift 1
|
local target=$1; shift 1
|
||||||
eval build $target && ~build/bin/$target $*
|
build $target && $build_dir/bin/$target $*
|
||||||
}
|
}
|
||||||
|
|
||||||
# Build then debug a target residing in `~build/bin`.
|
# Build then debug a target residing in `$build_dir/bin`.
|
||||||
build-debug() {
|
build-debug() {
|
||||||
local target=$1; shift 1
|
local target=$1; shift 1
|
||||||
eval build $target && debug ~build/bin/$target $*
|
build $target && debug $build_dir/bin/$target $*
|
||||||
}
|
}
|
||||||
|
|||||||
76
fresh.ini
76
fresh.ini
@@ -1,76 +0,0 @@
|
|||||||
; fresh fast-syntax-highlighting theme
|
|
||||||
|
|
||||||
[base]
|
|
||||||
default = none
|
|
||||||
unknown-token = red,bold
|
|
||||||
commandseparator = none
|
|
||||||
redirection = none
|
|
||||||
here-string-tri = yellow
|
|
||||||
here-string-word = bg:blue
|
|
||||||
exec-descriptor = yellow,bold
|
|
||||||
comment = black,bold
|
|
||||||
correct-subtle = none
|
|
||||||
incorrect-subtle = red
|
|
||||||
subtle-bg = bg:blue
|
|
||||||
secondary =
|
|
||||||
|
|
||||||
[command-point]
|
|
||||||
reserved-word = yellow
|
|
||||||
alias = green
|
|
||||||
suffix-alias = green
|
|
||||||
global-alias = bg:blue
|
|
||||||
builtin = green
|
|
||||||
function = green
|
|
||||||
command = green
|
|
||||||
precommand = green
|
|
||||||
hashed-command = green
|
|
||||||
|
|
||||||
[paths]
|
|
||||||
path = none
|
|
||||||
pathseparator = none
|
|
||||||
path-to-dir = none
|
|
||||||
globbing = blue,bold
|
|
||||||
|
|
||||||
[brackets]
|
|
||||||
paired-bracket = bg:blue
|
|
||||||
bracket-level-1 = green,bold
|
|
||||||
bracket-level-2 = yellow,bold
|
|
||||||
bracket-level-3 = cyan,bold
|
|
||||||
|
|
||||||
[arguments]
|
|
||||||
single-hyphen-option = cyan
|
|
||||||
double-hyphen-option = cyan
|
|
||||||
back-quoted-argument = none
|
|
||||||
single-quoted-argument = yellow
|
|
||||||
double-quoted-argument = yellow
|
|
||||||
dollar-quoted-argument = yellow
|
|
||||||
|
|
||||||
[in-string]
|
|
||||||
; backslash in $'...'
|
|
||||||
back-dollar-quoted-argument = cyan
|
|
||||||
; backslash or $... in "..."
|
|
||||||
back-or-dollar-double-quoted-argument = cyan
|
|
||||||
|
|
||||||
[other]
|
|
||||||
variable = 113
|
|
||||||
assign = none
|
|
||||||
assign-array-bracket = green
|
|
||||||
history-expansion = blue,bold
|
|
||||||
|
|
||||||
[math]
|
|
||||||
mathvar = blue,bold
|
|
||||||
mathnum = magenta
|
|
||||||
matherr = red
|
|
||||||
|
|
||||||
[for-loop]
|
|
||||||
forvar = none
|
|
||||||
fornum = magenta
|
|
||||||
; operator
|
|
||||||
foroper = yellow
|
|
||||||
; separator
|
|
||||||
forsep = yellow,bold
|
|
||||||
|
|
||||||
[case]
|
|
||||||
case-input = green
|
|
||||||
case-parentheses = yellow
|
|
||||||
case-condition = bg:blue
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
#compdef layout
|
|
||||||
|
|
||||||
__get_layouts() {
|
|
||||||
ls -1 ~/.config/tmux/layouts 2>/dev/null | \
|
|
||||||
while read -r layout; do echo $layout; done
|
|
||||||
}
|
|
||||||
|
|
||||||
__layouts() {
|
|
||||||
local -a layouts
|
|
||||||
layouts=(${(fo)"$(__get_layouts)"})
|
|
||||||
_describe 'layout' layouts
|
|
||||||
}
|
|
||||||
|
|
||||||
_arguments ':layout:__layouts'
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
layout() {
|
|
||||||
if [[ "$1" == "" ]]; then
|
|
||||||
echo "usage: layout <layout> [name]"
|
|
||||||
else
|
|
||||||
tmux source-file ~/.config/tmux/layouts/$1
|
|
||||||
if [[ "$2" != "" ]]; then
|
|
||||||
tmux rename-window $2
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
13
notes/_note
13
notes/_note
@@ -1,13 +0,0 @@
|
|||||||
#compdef note
|
|
||||||
|
|
||||||
__get_notes() {
|
|
||||||
ls -1 ~/Sync/Notes 2>/dev/null | while read -r note; do echo $note; done
|
|
||||||
}
|
|
||||||
|
|
||||||
__notes() {
|
|
||||||
local -a notes
|
|
||||||
notes=(${(fo)"$(__get_notes)"})
|
|
||||||
_describe 'notes' notes
|
|
||||||
}
|
|
||||||
|
|
||||||
_arguments ':notes:__notes'
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
# TODO: Support opening multiple notes in buffers or tabs
|
|
||||||
note() {
|
|
||||||
if [[ "$1" == "" ]]; then
|
|
||||||
echo "usage: note \"<title>\""
|
|
||||||
else
|
|
||||||
vim -c "Note $1"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
#compdef sandbox
|
|
||||||
|
|
||||||
__get_sandboxes() {
|
|
||||||
/bin/ls $SANDBOX_ROOT 2> /dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
__sandboxes() {
|
|
||||||
local -a sandboxes
|
|
||||||
sandboxes=(${(fo)"$(__get_sandboxes)"})
|
|
||||||
_describe 'in' sandboxes
|
|
||||||
}
|
|
||||||
|
|
||||||
_sandbox_cmds() {
|
|
||||||
local commands; commands=(
|
|
||||||
'create:Create a new sandbox'
|
|
||||||
'rename:Rename an existing sandbox'
|
|
||||||
'destroy:Destroy an existing sandbox'
|
|
||||||
'list:Show all existing sandboxes'
|
|
||||||
'enable:Enable an existing sandbox'
|
|
||||||
'disable:Disable the current sandbox'
|
|
||||||
)
|
|
||||||
_describe -t commands 'sandbox command' commands "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
_sandbox() {
|
|
||||||
local context curcontext="$curcontext" state line
|
|
||||||
typeset -A opt_args
|
|
||||||
|
|
||||||
_arguments -C \
|
|
||||||
'1: :_sandbox_cmds' \
|
|
||||||
'*::arg:->args'
|
|
||||||
|
|
||||||
case $state in
|
|
||||||
(args)
|
|
||||||
curcontext="${curcontext%:*:*}:sandbox-cmd-$words[1]:"
|
|
||||||
case $line[1] in
|
|
||||||
(create|list|disable)
|
|
||||||
;;
|
|
||||||
(enable|destroy)
|
|
||||||
_arguments -C '1:: :__sandboxes'
|
|
||||||
;;
|
|
||||||
(rename)
|
|
||||||
_arguments -C '1:: :__sandboxes'
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
_sandbox "$@"
|
|
||||||
@@ -1,103 +0,0 @@
|
|||||||
if [[ "" == $SANDBOX_ENV_IN_FILE ]]; then
|
|
||||||
export SANDBOX_ENV_IN_FILE=$AUTOENV_IN_FILE
|
|
||||||
fi
|
|
||||||
if [[ "" == $SANDBOX_ENV_OUT_FILE ]]; then
|
|
||||||
export SANDBOX_ENV_OUT_FILE=$AUTOENV_OUT_FILE
|
|
||||||
fi
|
|
||||||
if [[ "" == $SANDBOX_ROOT ]]; then
|
|
||||||
export SANDBOX_ROOT=$HOME/Sandbox
|
|
||||||
fi
|
|
||||||
|
|
||||||
sandbox() {
|
|
||||||
local usage="usage: sandbox {create,destroy,enable,disable} [name]"
|
|
||||||
|
|
||||||
if [[ "" == $1 ]]; then
|
|
||||||
echo $usage
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
case $1 in
|
|
||||||
create)
|
|
||||||
if [[ "" == $2 ]]; then
|
|
||||||
echo $usage
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
local sandbox=$SANDBOX_ROOT/$2
|
|
||||||
if [[ -d $sandbox ]]; then
|
|
||||||
echo "Sandbox '$2' already exists"
|
|
||||||
return 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p $sandbox &> /dev/null
|
|
||||||
begin=$PWD
|
|
||||||
cd $sandbox
|
|
||||||
|
|
||||||
echo "SANDBOX_HOME=\$(dirname -- "\$0:a")" >> $SANDBOX_ENV_IN_FILE
|
|
||||||
echo "SANDBOX_NAME=$2" >> $SANDBOX_ENV_IN_FILE
|
|
||||||
|
|
||||||
echo "unset SANDBOX_NAME" >> $SANDBOX_ENV_OUT_FILE
|
|
||||||
echo "unset SANDBOX_HOME" >> $SANDBOX_ENV_OUT_FILE
|
|
||||||
|
|
||||||
git init &> /dev/null
|
|
||||||
|
|
||||||
cd $begin
|
|
||||||
cd $sandbox
|
|
||||||
;;
|
|
||||||
rename)
|
|
||||||
if [[ "" == $2 || "" == $3 ]]; then
|
|
||||||
echo $usage
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
mv $SANDBOX_ROOT/$2 $SANDBOX_ROOT/$3
|
|
||||||
sed -i "" "s/$2/$3/g" $SANDBOX_ROOT/$3/.env
|
|
||||||
;;
|
|
||||||
destroy)
|
|
||||||
if [[ "" == $2 ]]; then
|
|
||||||
echo $usage
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
local sandbox=$SANDBOX_ROOT/$2
|
|
||||||
if [[ ! -d $sandbox ]]; then
|
|
||||||
echo "Sandbox '$2' does not exist"
|
|
||||||
return 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd -
|
|
||||||
if [[ "${SANDBOX_ROOT##$PWD}" = "${SANDBOX_ROOT}" ]]; then
|
|
||||||
cd $HOME
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -rf $sandbox
|
|
||||||
;;
|
|
||||||
list)
|
|
||||||
/bin/ls -1 $SANDBOX_ROOT
|
|
||||||
;;
|
|
||||||
enable)
|
|
||||||
if [[ "" == $2 ]]; then
|
|
||||||
echo $usage
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
local sandbox=$SANDBOX_ROOT/$2
|
|
||||||
if [[ ! -d $sandbox ]]; then
|
|
||||||
echo "Sandbox '$2' does not exist"
|
|
||||||
return 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
export SANDBOX_RETURN=$PWD
|
|
||||||
cd $sandbox
|
|
||||||
;;
|
|
||||||
disable)
|
|
||||||
if [[ -z $SANDBOX_RETURN ]]; then
|
|
||||||
echo "Sandbox is not currently active"
|
|
||||||
return 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd $SANDBOX_RETURN
|
|
||||||
unset $SANDBOX_RETURN
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
5
zshenv
5
zshenv
@@ -33,10 +33,5 @@ export LESS_TERMCAP_se=`printf "\e[0m"`
|
|||||||
export LESS_TERMCAP_us=`printf "\e[0;34m"`
|
export LESS_TERMCAP_us=`printf "\e[0;34m"`
|
||||||
export LESS_TERMCAP_ue=`printf "\e[0m"`
|
export LESS_TERMCAP_ue=`printf "\e[0m"`
|
||||||
|
|
||||||
# Force GoogleTest to output colors
|
|
||||||
export GTEST_COLOR=yes
|
|
||||||
# Allow completions for GoogleTest break on failure
|
|
||||||
export GTEST_BREAK_ON_FAILURE=0
|
|
||||||
|
|
||||||
# Disable virtualenv prompt
|
# Disable virtualenv prompt
|
||||||
VIRTUAL_ENV_DISABLE_PROMPT=1
|
VIRTUAL_ENV_DISABLE_PROMPT=1
|
||||||
|
|||||||
47
zshrc
47
zshrc
@@ -9,33 +9,14 @@ source-plugin() {
|
|||||||
echo "zsh plugin not found: $1"
|
echo "zsh plugin not found: $1"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Fish like automatic suggestions from command history
|
|
||||||
source-plugin zsh-autosuggestions
|
source-plugin zsh-autosuggestions
|
||||||
# Disable non end-of-line autosuggest accept widgets
|
|
||||||
ZSH_AUTOSUGGEST_ACCEPT_WIDGETS=(end-of-line vi-end-of-line)
|
|
||||||
|
|
||||||
# Search history with a command substring
|
|
||||||
source-plugin zsh-history-substring-search
|
source-plugin zsh-history-substring-search
|
||||||
|
source-plugin zsh-syntax-highlighting
|
||||||
# Command syntax highlighting
|
|
||||||
source-plugin fast-syntax-highlighting
|
|
||||||
fast-theme -q ~/.config/zsh/fresh.ini
|
|
||||||
|
|
||||||
# Automatically source .enter and .exit scripts on cd
|
|
||||||
source-plugin autoenv
|
source-plugin autoenv
|
||||||
|
|
||||||
# Build system helper commands
|
|
||||||
source-plugin build
|
source-plugin build
|
||||||
|
|
||||||
# Project sandboxing commands
|
# Disable non end-of-line autosuggest accept widgets
|
||||||
source-plugin sandbox
|
ZSH_AUTOSUGGEST_ACCEPT_WIDGETS=(end-of-line vi-end-of-line)
|
||||||
|
|
||||||
# Layout tmux window commands
|
|
||||||
source-plugin layout
|
|
||||||
|
|
||||||
# Note taking commands
|
|
||||||
source-plugin notes
|
|
||||||
|
|
||||||
# Remove duplicates from history
|
# Remove duplicates from history
|
||||||
setopt hist_ignore_all_dups
|
setopt hist_ignore_all_dups
|
||||||
@@ -85,9 +66,6 @@ bindkey -v
|
|||||||
# Enable yank, change, and delete whole line with 'Y', 'cc', and 'dd'
|
# Enable yank, change, and delete whole line with 'Y', 'cc', and 'dd'
|
||||||
bindkey -M vicmd 'Y' vi-yank-whole-line
|
bindkey -M vicmd 'Y' vi-yank-whole-line
|
||||||
|
|
||||||
# Edit the command line in vim
|
|
||||||
bindkey -M vicmd '^F' edit-command-line
|
|
||||||
|
|
||||||
# Enable undo with 'u' and redo with 'U'
|
# Enable undo with 'u' and redo with 'U'
|
||||||
bindkey -M vicmd 'u' undo
|
bindkey -M vicmd 'u' undo
|
||||||
bindkey -M vicmd 'U' redo
|
bindkey -M vicmd 'U' redo
|
||||||
@@ -155,9 +133,6 @@ if [[ ! -z "$cursor_block" && ! -z "$cursor_line" ]]; then
|
|||||||
zle -N zle-line-finish
|
zle -N zle-line-finish
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Load work related config
|
|
||||||
[ -f ~/.config/work/zshrc ] && source ~/.config/work/zshrc
|
|
||||||
|
|
||||||
# Remove duplicates from environment variables
|
# Remove duplicates from environment variables
|
||||||
typeset -U PATH
|
typeset -U PATH
|
||||||
typeset -U MANPATH
|
typeset -U MANPATH
|
||||||
@@ -177,7 +152,7 @@ fi
|
|||||||
# Aliases
|
# Aliases
|
||||||
alias grep='grep --color=always'
|
alias grep='grep --color=always'
|
||||||
which cmake &> /dev/null && \
|
which cmake &> /dev/null && \
|
||||||
alias cninja='cmake -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON'
|
alias cninja='cmake -GNinja -DCMAKE_EXPORT_COMPILE_COMMNADS=ON'
|
||||||
which ssh &> /dev/null && \
|
which ssh &> /dev/null && \
|
||||||
alias ssh='TERM=xterm-256color ssh'
|
alias ssh='TERM=xterm-256color ssh'
|
||||||
|
|
||||||
@@ -187,11 +162,10 @@ case `uname` in
|
|||||||
alias cls="printf '\ec'" || \
|
alias cls="printf '\ec'" || \
|
||||||
alias cls="clear && printf '\e[3J'"
|
alias cls="clear && printf '\e[3J'"
|
||||||
alias ls='ls -F --color=auto'
|
alias ls='ls -F --color=auto'
|
||||||
if which cgdb &> /dev/null; then
|
which cgdb &> /dev/null && \
|
||||||
alias debug='cgdb --args'
|
alias debug='cgdb --args' || \
|
||||||
elif which gdb &> /dev/null; then
|
which gdb &> /dev/null && \
|
||||||
alias debug='gdb --args'
|
alias debug='gdb --args'
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
Darwin)
|
Darwin)
|
||||||
alias cls="clear && printf '\e[3J'"
|
alias cls="clear && printf '\e[3J'"
|
||||||
@@ -200,3 +174,8 @@ case `uname` in
|
|||||||
alias debug='lldb --'
|
alias debug='lldb --'
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
if [ "$TMUX" != "" ]; then
|
||||||
|
alias sp='tmux split-window'
|
||||||
|
alias vs='tmux split-window -h'
|
||||||
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user