2022-03-18 17:50:20 -07:00
|
|
|
# Blake's ZSH configuration file
|
|
|
|
|
2023-06-16 03:48:36 -07:00
|
|
|
# Profiling (part 1) if needed (see line at bottom too)
|
|
|
|
# zmodload zsh/zprof
|
|
|
|
|
BIG UPDATE: shell: add profile, move calc and mkcd to files, move
shell-independent config (aliases, functions, env vars, options) to
.config/shell/shrc, make bashrc and zshrc use the same shrc, add TTY
detection for changing caps lock to escape in a TTY, add option for
skipping plugin loading, and maybe a few other things
If this goes well, I'll be tempted to call this version 1.0. Things
have been very stable for the last few months. Although, since it's the
first really big change in a while, that might make it version 2.0?
Should dotfiles have big version numbers at all? Probably not.
2022-04-08 13:36:29 -07:00
|
|
|
# Just in case
|
|
|
|
export SHELL_CONFIG_DIR="${SHELL_CONFIG_DIR:-"${XDG_CONFIG_HOME:-"$HOME/.config"}/shell"}"
|
2022-03-18 17:50:20 -07:00
|
|
|
|
BIG UPDATE: shell: add profile, move calc and mkcd to files, move
shell-independent config (aliases, functions, env vars, options) to
.config/shell/shrc, make bashrc and zshrc use the same shrc, add TTY
detection for changing caps lock to escape in a TTY, add option for
skipping plugin loading, and maybe a few other things
If this goes well, I'll be tempted to call this version 1.0. Things
have been very stable for the last few months. Although, since it's the
first really big change in a while, that might make it version 2.0?
Should dotfiles have big version numbers at all? Probably not.
2022-04-08 13:36:29 -07:00
|
|
|
# Source standard shell configuration
|
|
|
|
[ -f "$SHELL_CONFIG_DIR/shrc" ] && source "$SHELL_CONFIG_DIR/shrc"
|
2022-04-06 13:08:42 -07:00
|
|
|
|
2021-08-07 21:24:26 -07:00
|
|
|
### Plugins >>>
|
2022-04-06 13:08:42 -07:00
|
|
|
${SKIP_PLUGINS:-false} || {
|
2021-08-07 21:24:26 -07:00
|
|
|
# Load zinit >>>
|
|
|
|
{
|
|
|
|
# Install zinit if not installed
|
2021-12-07 15:17:17 -08:00
|
|
|
if [[ ! -f "$ZINIT_HOME_DIR/bin/zinit.zsh" ]]; then
|
2021-11-02 21:08:56 -07:00
|
|
|
print -P "%F{33}▓▒░ %F{220}Installing %F{33}DHARMA%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f"
|
2021-12-07 15:17:17 -08:00
|
|
|
command mkdir -p "$ZINIT_HOME_DIR" && command chmod g-rwX "$ZINIT_HOME_DIR"
|
|
|
|
command git clone https://github.com/zdharma-continuum/zinit "$ZINIT_HOME_DIR/bin" && \
|
2022-08-19 23:52:14 -07:00
|
|
|
print -P "%F{33}▓▒░ %F{34}Installation successful.%f%b\n\nPlease wait while plugins install." || \
|
2021-08-07 21:24:26 -07:00
|
|
|
print -P "%F{160}▓▒░ The clone has failed.%f%b"
|
2022-06-22 00:49:33 -07:00
|
|
|
elif [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
|
|
|
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
2021-08-07 21:24:26 -07:00
|
|
|
fi
|
|
|
|
|
2023-06-16 04:15:54 -07:00
|
|
|
# }}")}' ' $((r-2))"'}|)}'""}| f%nfda@#$%^!@#$h&&f.fd
|
2023-06-09 03:22:52 -07:00
|
|
|
# ^^^^ syntax highlighting fix
|
|
|
|
|
2021-08-07 21:24:26 -07:00
|
|
|
# Source zinit
|
2021-12-07 15:17:17 -08:00
|
|
|
source "$ZINIT_HOME_DIR/bin/zinit.zsh"
|
2021-08-07 21:24:26 -07:00
|
|
|
autoload -Uz _zinit
|
2024-10-06 01:50:12 -07:00
|
|
|
(( ${+_comps} )) && _comps[zinit]=_zinit # " <- syntax highlighting fix
|
2021-08-07 21:24:26 -07:00
|
|
|
|
|
|
|
# Load a few important annexes, without Turbo
|
|
|
|
# (this is currently required for annexes)
|
|
|
|
zinit light-mode for \
|
2021-11-02 21:08:56 -07:00
|
|
|
zdharma-continuum/z-a-rust \
|
|
|
|
zdharma-continuum/z-a-as-monitor \
|
|
|
|
zdharma-continuum/z-a-patch-dl \
|
|
|
|
zdharma-continuum/z-a-bin-gem-node
|
2021-08-07 21:24:26 -07:00
|
|
|
}
|
|
|
|
# <<<
|
2022-03-18 17:50:20 -07:00
|
|
|
# Load plugins >>>
|
|
|
|
# shellcheck disable=SC2262,SC2016
|
2021-08-07 21:24:26 -07:00
|
|
|
{
|
2021-12-16 14:37:51 -08:00
|
|
|
# set turbo mode and git clone depth for all plugins
|
2023-06-16 03:48:36 -07:00
|
|
|
alias zinit='ice wait"0" depth"1";zinit'
|
2021-11-02 21:08:56 -07:00
|
|
|
|
2022-03-18 17:50:20 -07:00
|
|
|
# Special history options
|
2023-06-09 03:22:52 -07:00
|
|
|
zinit snippet OMZL::history.zsh
|
2022-03-18 17:50:20 -07:00
|
|
|
# Some better completion options (waiting dots, etc)
|
2023-06-09 03:22:52 -07:00
|
|
|
zinit snippet OMZL::completion.zsh
|
2022-03-18 17:50:20 -07:00
|
|
|
# Terminal titling
|
2023-06-09 03:22:52 -07:00
|
|
|
zinit snippet OMZL::termsupport.zsh
|
2023-04-07 03:18:55 -07:00
|
|
|
# Required lib functions (specifically omz_urlencode)
|
2023-06-09 03:22:52 -07:00
|
|
|
zinit snippet OMZL::functions.zsh
|
2024-09-10 17:58:14 -07:00
|
|
|
# Compaudit
|
|
|
|
zinit snippet OMZL::compfix.zsh
|
2022-03-18 17:50:20 -07:00
|
|
|
|
2021-08-07 21:24:26 -07:00
|
|
|
|
|
|
|
# Quality of life
|
|
|
|
zinit load "zsh-users/zsh-autosuggestions"
|
2021-11-02 21:08:56 -07:00
|
|
|
zinit load "zdharma-continuum/fast-syntax-highlighting"
|
2025-01-25 23:33:35 -08:00
|
|
|
zinit load "softmoth/zsh-vim-mode"
|
2021-08-07 21:24:26 -07:00
|
|
|
zinit load "zsh-users/zsh-history-substring-search"
|
|
|
|
zinit load "zsh-users/zsh-completions"
|
2024-09-13 00:37:08 -07:00
|
|
|
zinit load "Tarrasch/zsh-bd"
|
2024-09-11 00:13:32 -07:00
|
|
|
if ! command -v zoxide &> /dev/null || ${SKIP_ZOXIDE:-false}; then
|
|
|
|
zinit load "agkozak/zsh-z"
|
|
|
|
fi
|
2021-08-07 21:24:26 -07:00
|
|
|
|
2022-10-18 02:55:22 -07:00
|
|
|
# Plugins for use with Nix
|
|
|
|
zinit load "chisui/zsh-nix-shell"
|
|
|
|
zinit load "spwhitt/nix-zsh-completions"
|
2023-06-09 03:22:52 -07:00
|
|
|
zinit snippet OMZP::direnv
|
2022-10-18 02:55:22 -07:00
|
|
|
|
2022-03-18 17:50:20 -07:00
|
|
|
## Theme
|
2021-09-15 00:55:59 -07:00
|
|
|
# terminal colors
|
2022-06-25 16:50:35 -07:00
|
|
|
[ -f "$SHELL_CONFIG_DIR/colors.sh" ] ||
|
|
|
|
zinit snippet 'https://github.com/chriskempson/base16-shell/blob/master/scripts/base16-onedark.sh'
|
2022-04-06 13:08:42 -07:00
|
|
|
|
2022-03-18 17:50:20 -07:00
|
|
|
# LS Colors
|
2021-09-06 17:55:39 -07:00
|
|
|
zinit ice atclone"dircolors -b ./src/dir_colors > colors.zsh" \
|
|
|
|
atpull'%atclone' pick"colors.zsh" nocompile'!' \
|
|
|
|
atload'zstyle ":completion:*" list-colors “${(s.:.)LS_COLORS}”'
|
|
|
|
zinit light arcticicestudio/nord-dircolors
|
2022-04-06 13:08:42 -07:00
|
|
|
|
2022-03-18 17:50:20 -07:00
|
|
|
# prompt
|
|
|
|
zinit load "romkatv/powerlevel10k"
|
2022-09-17 20:00:47 -07:00
|
|
|
"${SKIP_P10K_THEME:-false}" || careful_source "$P10K_CONFIG_LOCATION" \
|
|
|
|
"No p10k theme selected. Please use \`p10k configure\` to make one or select an existing one like this:
|
|
|
|
ln -s $SHELL_CONFIG_DIR/p10k/colorful-angular.p10k.zsh $SHELL_CONFIG_DIR/p10k/current
|
|
|
|
|
|
|
|
Set the SKIP_P10K_THEME environment variable to 'true' or make a configuration to disable this warning" $LINENO
|
2022-04-06 13:08:42 -07:00
|
|
|
|
2021-11-02 21:08:56 -07:00
|
|
|
|
2022-03-18 17:50:20 -07:00
|
|
|
# clear plugin options set at the start of this block
|
2021-11-02 21:08:56 -07:00
|
|
|
unalias zinit
|
2021-12-16 14:37:51 -08:00
|
|
|
|
2022-06-25 16:50:35 -07:00
|
|
|
# (safely) delete a bunch of aliases I don't use
|
|
|
|
unaliases() { for A in "$@";do alias "$A" > /dev/null && unalias "$A"; done; }
|
|
|
|
unaliases zi zpl zini zplg which-command run-help fsh-alias
|
|
|
|
unset -f unaliases
|
2021-08-07 21:24:26 -07:00
|
|
|
}
|
|
|
|
# <<<
|
|
|
|
}
|
|
|
|
# <<<
|
2022-04-06 13:08:42 -07:00
|
|
|
### ZSH-specific configuration >>>
|
2021-10-17 01:30:45 -07:00
|
|
|
# This section is (mostly) From manjaro's "manjaro-zsh-config" (/usr/share/zsh/manjaro-zsh-config)
|
2021-08-07 21:24:26 -07:00
|
|
|
|
|
|
|
[ -z "$HISTFILE" ] && HISTFILE="$HOME/.zsh_history"
|
|
|
|
|
2021-10-17 01:20:04 -07:00
|
|
|
## ZSH Options >>>
|
2021-08-07 21:24:26 -07:00
|
|
|
{
|
2024-06-19 00:52:49 -07:00
|
|
|
# setopt correct # Auto correct mistakes
|
|
|
|
setopt noextendedglob # Extended globbing. Allows using regular expressions with *
|
2021-11-01 10:58:48 -07:00
|
|
|
[ -z "$TERMUX_VERSION" ] &&
|
2022-04-06 13:08:42 -07:00
|
|
|
setopt nocaseglob # Case insensitive globbing (and fix for termux)
|
2021-08-07 21:24:26 -07:00
|
|
|
setopt rcexpandparam # Array expension with parameters
|
|
|
|
setopt checkjobs # Warn about running processes when exiting
|
|
|
|
setopt numericglobsort # Sort filenames numerically when it makes sense
|
|
|
|
setopt nobeep # Most important option
|
|
|
|
setopt appendhistory # Immediately append history instead of overwriting
|
|
|
|
setopt inc_append_history # save commands are added to the history immediately, otherwise only when shell exits.
|
|
|
|
setopt histfindnodups # If a new command is a duplicate, remove the older one
|
|
|
|
setopt histignorealldups # If a new command is a duplicate, remove the older one
|
|
|
|
setopt autocd # if only directory path is entered, cd there.
|
|
|
|
setopt interactive_comments # allow typing comments in line
|
2025-02-19 12:13:49 -08:00
|
|
|
setopt rm_star_silent # (don't) Ensure the user wants to execute 'rm *'
|
|
|
|
setopt no_rm_star_wait # (don't) Wait before accepting 'rm *' or 'rm /path/*'
|
2021-08-07 21:24:26 -07:00
|
|
|
setopt short_loops # allow things like 'if [ 1=1 ] { echo "okay"}' < https://zsh.sourceforge.io/Doc/Release/Shell-Grammar.html#Alternate-Forms-For-Complex-Commands
|
|
|
|
setopt pipe_fail # When a pipe fails, show the non-0 exit code for the exit code
|
2024-08-01 00:41:26 -07:00
|
|
|
|
|
|
|
disable -p '#' # Disable globbing the hash symbol
|
2021-08-07 21:24:26 -07:00
|
|
|
}
|
|
|
|
# <<<
|
|
|
|
## ZSH Completion Options >>>
|
|
|
|
{
|
|
|
|
# Mine
|
2023-05-06 22:37:41 -07:00
|
|
|
zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate
|
|
|
|
zstyle ':completion:*' completions 1
|
|
|
|
zstyle ':completion:*' expand prefix suffix
|
2024-01-17 00:47:54 -08:00
|
|
|
# zstyle ':completion:*' format 'Completing %d'
|
2023-05-06 22:37:41 -07:00
|
|
|
zstyle ':completion:*' glob 1
|
|
|
|
zstyle ':completion:*' group-name ''
|
|
|
|
zstyle ':completion:*' ignore-parents parent pwd ..
|
2024-01-17 00:47:54 -08:00
|
|
|
# zstyle ':completion:*' insert-unambiguous true
|
2023-05-06 22:37:41 -07:00
|
|
|
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
|
2024-01-17 00:47:54 -08:00
|
|
|
# zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
|
2023-05-06 22:37:41 -07:00
|
|
|
zstyle ':completion:*' list-suffixes true
|
2024-01-17 00:47:54 -08:00
|
|
|
# zstyle ':completion:*' matcher-list '' 'm:{[:lower:]}={[:upper:]}' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'r:|[._-]=** r:|=**'
|
2023-05-06 22:37:41 -07:00
|
|
|
zstyle ':completion:*' max-errors 1 not-numeric
|
2024-01-17 00:47:54 -08:00
|
|
|
# zstyle ':completion:*' menu select=0
|
|
|
|
# zstyle ':completion:*' original false
|
|
|
|
# zstyle ':completion:*' prompt 'Select a correction (%e)'
|
|
|
|
# zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
|
|
|
|
# zstyle ':completion:*' substitute 1
|
|
|
|
# zstyle ':completion:*' verbose true
|
2023-05-06 22:37:41 -07:00
|
|
|
zstyle :compinstall filename '/home/blake/.zshrc'
|
2021-08-07 21:24:26 -07:00
|
|
|
|
|
|
|
# Manjaro's
|
2024-01-17 00:47:54 -08:00
|
|
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # Case insensitive tab completion
|
|
|
|
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" # Colored completion (different colors for dirs/files/etc)
|
2021-11-06 19:48:31 -07:00
|
|
|
zstyle ':completion:*' rehash true # automatically find new executables in path
|
|
|
|
# Speed up completions
|
2021-08-07 21:24:26 -07:00
|
|
|
zstyle ':completion:*' accept-exact '*(N)'
|
|
|
|
zstyle ':completion:*' use-cache on
|
2022-03-18 17:50:20 -07:00
|
|
|
zstyle ':completion:*' cache-path "$ZSH_CACHE_DIR"
|
2021-08-07 21:24:26 -07:00
|
|
|
WORDCHARS=${WORDCHARS//\/[&.;]} # Don't consider certain characters part of the word
|
|
|
|
}
|
|
|
|
# <<<
|
2022-04-06 13:08:42 -07:00
|
|
|
## Keybinds >>>
|
2021-08-07 21:24:26 -07:00
|
|
|
bindkey -v # Enable Vi mode
|
|
|
|
bindkey '^[[7~' beginning-of-line # Home key
|
|
|
|
bindkey '^[[H' beginning-of-line # Home key
|
|
|
|
if [[ "${terminfo[khome]}" != "" ]]; then
|
|
|
|
bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line
|
|
|
|
fi
|
|
|
|
bindkey '^[[8~' end-of-line # End key
|
|
|
|
bindkey '^[[F' end-of-line # End key
|
|
|
|
if [[ "${terminfo[kend]}" != "" ]]; then
|
|
|
|
bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line
|
|
|
|
fi
|
|
|
|
bindkey '^[[2~' overwrite-mode # Insert key
|
|
|
|
bindkey '^[[3~' delete-char # Delete key
|
|
|
|
bindkey '^[[C' forward-char # Right key
|
|
|
|
bindkey '^[[D' backward-char # Left key
|
|
|
|
bindkey '^[[5~' history-beginning-search-backward # Page up key
|
|
|
|
bindkey '^[[6~' history-beginning-search-forward # Page down key
|
|
|
|
|
|
|
|
# Navigate words with ctrl+arrow keys
|
|
|
|
bindkey '^[Oc' forward-word #
|
|
|
|
bindkey '^[Od' backward-word #
|
|
|
|
bindkey '^[[1;5D' backward-word #
|
|
|
|
bindkey '^[[1;5C' forward-word #
|
2021-09-15 00:45:59 -07:00
|
|
|
# Delete words with ctrl+bksp/del
|
2021-08-07 21:24:26 -07:00
|
|
|
bindkey '^H' backward-kill-word # delete previous word with ctrl+backspace
|
|
|
|
bindkey '^[[3;5~' kill-word # delete next word with ctrl+delete
|
|
|
|
bindkey '^[[Z' undo # Shift+tab undo last action
|
|
|
|
|
|
|
|
# bind UP and DOWN arrow keys to history substring search
|
|
|
|
zmodload zsh/terminfo
|
2021-09-15 00:45:59 -07:00
|
|
|
# bindkey "$terminfo[kcuu1]" history-substring-search-up
|
|
|
|
# bindkey "$terminfo[kcud1]" history-substring-search-down
|
2021-08-07 21:24:26 -07:00
|
|
|
bindkey '^[[A' history-substring-search-up
|
|
|
|
bindkey '^[[B' history-substring-search-down
|
|
|
|
bindkey -M vicmd 'k' history-substring-search-up
|
|
|
|
bindkey -M vicmd 'j' history-substring-search-down
|
2024-09-10 17:58:14 -07:00
|
|
|
|
|
|
|
# Run compaudit and such, from OMZL::compfix.zsh
|
|
|
|
handle_completion_insecurities &|
|
2021-08-07 21:24:26 -07:00
|
|
|
# <<<
|
|
|
|
|
2021-08-12 01:25:33 -07:00
|
|
|
# Colors and compinit >>>
|
2021-08-07 21:24:26 -07:00
|
|
|
export LESS_TERMCAP_mb=$'\E[01;32m'
|
|
|
|
export LESS_TERMCAP_md=$'\E[01;32m'
|
|
|
|
export LESS_TERMCAP_me=$'\E[0m'
|
|
|
|
export LESS_TERMCAP_se=$'\E[0m'
|
|
|
|
export LESS_TERMCAP_so=$'\E[01;47;34m'
|
|
|
|
export LESS_TERMCAP_ue=$'\E[0m'
|
|
|
|
export LESS_TERMCAP_us=$'\E[01;36m'
|
|
|
|
export LESS=-R
|
2023-06-16 03:48:36 -07:00
|
|
|
autoload -Uz compinit colors zcalc
|
2023-06-16 03:58:09 -07:00
|
|
|
# only do full compinit once per day, use cached version usually
|
2024-09-10 17:58:14 -07:00
|
|
|
|
2021-08-12 01:25:33 -07:00
|
|
|
colors
|
2021-08-07 21:24:26 -07:00
|
|
|
# <<<
|
2021-10-17 01:20:04 -07:00
|
|
|
# auto save and load working dir (allow `cd -` on start) >>>
|
|
|
|
# Load the last working directory
|
|
|
|
load_working_dir() {
|
|
|
|
# load the directory (and do validation to make sure it's actually a directory)
|
|
|
|
if test -f "$WORKING_DIR_SAVE_FILE"; then
|
2022-03-18 17:50:20 -07:00
|
|
|
local PREVIOUS_WORKING_DIR
|
|
|
|
PREVIOUS_WORKING_DIR="$(cat "$WORKING_DIR_SAVE_FILE")"
|
2021-10-17 01:20:04 -07:00
|
|
|
if test -d "$(cat "$WORKING_DIR_SAVE_FILE")"; then
|
|
|
|
cd "$PREVIOUS_WORKING_DIR" || error $LINENO
|
|
|
|
else
|
2021-10-17 02:17:02 -07:00
|
|
|
echo "Invalid saved working directory ($PREVIOUS_WORKING_DIR)" > /dev/null
|
|
|
|
return 1
|
2021-10-17 01:20:04 -07:00
|
|
|
fi
|
|
|
|
else
|
2021-10-17 02:17:02 -07:00
|
|
|
echo "Invalid working directory save file ($WORKING_DIR_SAVE_FILE)" > /dev/null
|
|
|
|
return 1
|
2021-10-17 01:20:04 -07:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2024-10-21 02:07:15 -07:00
|
|
|
alias lwd=load_working_dir
|
|
|
|
|
2022-08-29 12:17:46 -07:00
|
|
|
SWD_INITIAL_WORKING_DIR="$(pwd)"
|
2021-10-17 01:20:04 -07:00
|
|
|
save_working_dir() {
|
2022-08-29 12:17:46 -07:00
|
|
|
if [ "$(pwd)" != "$SWD_INITIAL_WORKING_DIR" ]; then
|
2021-12-16 03:33:18 -08:00
|
|
|
pwd > "$WORKING_DIR_SAVE_FILE"
|
|
|
|
fi
|
2021-10-17 01:20:04 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
autoload -U add-zsh-hook
|
|
|
|
add-zsh-hook chpwd save_working_dir
|
|
|
|
|
2024-10-21 02:07:15 -07:00
|
|
|
# Don't load last working directory if it's a direnv location
|
|
|
|
skip_load=false
|
|
|
|
if [ -e "${XDG_DATA_HOME:-"$HOME/.local/share"}"/direnv/allow ]; then
|
|
|
|
# Avoid direnv slowing down previous working directory
|
|
|
|
working_path="$(cat "$WORKING_DIR_SAVE_FILE" 2> /dev/null || echo -n '/')"
|
|
|
|
if cat "${XDG_DATA_HOME:-"$HOME/.local/share"}"/direnv/allow/* |
|
|
|
|
grep -Po '^.*/' |
|
|
|
|
sed 's_/$__g' |
|
|
|
|
grep -qFf - <(echo "$working_path")
|
|
|
|
then
|
|
|
|
skip_load=true
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
# if we made it to the root directory, then we can assume it's alright to load
|
|
|
|
if [ "$skip_load" = false ]; then
|
|
|
|
# echo "Loading path"
|
|
|
|
# shellchek disable=SC2164
|
|
|
|
load_working_dir && cd - > /dev/null || true
|
|
|
|
else
|
2024-12-18 01:34:30 -08:00
|
|
|
echo "LWD: Skipped because of direnv"
|
2024-10-21 02:07:15 -07:00
|
|
|
fi
|
2021-11-21 19:53:47 -08:00
|
|
|
|
|
|
|
# Case insensitive globbing (fix for termux)
|
2022-12-20 21:28:32 -08:00
|
|
|
[ -n "$TERMUX_VERSION" ] && { setopt nocaseglob; zstyle ':completion:*' path-completion true; }
|
2021-11-01 10:58:48 -07:00
|
|
|
|
2021-10-16 18:27:49 -07:00
|
|
|
# <<<
|
2021-08-07 21:24:26 -07:00
|
|
|
# <<<
|
|
|
|
|
2024-09-17 23:14:59 -07:00
|
|
|
export LAUNCH_ZSH="${STAY_ZSH:-true}"
|
2024-09-16 11:50:19 -07:00
|
|
|
|
2022-03-18 17:50:20 -07:00
|
|
|
# Optionally source another zshrc
|
2022-04-06 13:08:42 -07:00
|
|
|
${SKIP_LOCAL_ZSHRC:-false} || careful_source "$SHELL_CONFIG_DIR/local/zshrc"
|
2021-09-16 02:24:30 -07:00
|
|
|
|
2023-06-16 03:48:36 -07:00
|
|
|
# Profiling part 2
|
|
|
|
# zprof
|
|
|
|
|
2022-04-06 13:08:42 -07:00
|
|
|
# vim:fdm=marker:fmr=>>>,<<<:et:ft=bash:sw=3:ts=3
|