Zsh magix
This commit is contained in:
parent
5c26df0641
commit
869c4b1228
5 changed files with 378 additions and 132 deletions
|
@ -10,10 +10,10 @@ map('n', '<leader>fg', '<cmd>Telescope live_grep<CR>', opts)
|
||||||
map('n', '<leader>fb', '<cmd>Telescope buffers<CR>', opts)
|
map('n', '<leader>fb', '<cmd>Telescope buffers<CR>', opts)
|
||||||
|
|
||||||
-- LSP
|
-- LSP
|
||||||
--map('n', '<leader>e', vim.diagnostic.open_float, opts)
|
map('n', '<leader>e', vim.diagnostic.open_float, opts)
|
||||||
--map('n', '[d', vim.diagnostic.goto_prev, opts)
|
map('n', '[d', vim.diagnostic.goto_prev, opts)
|
||||||
--map('n', ']d', vim.diagnostic.goto_next, opts)
|
map('n', ']d', vim.diagnostic.goto_next, opts)
|
||||||
--map('n', '<leader>q', vim.diagnostic.setloclist, opts)
|
map('n', '<leader>q', vim.diagnostic.setloclist, opts)
|
||||||
|
|
||||||
local on_attach = function(client, bufnr)
|
local on_attach = function(client, bufnr)
|
||||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
|
|
212
zsh/conf.d/dlv.zsh
Normal file
212
zsh/conf.d/dlv.zsh
Normal file
|
@ -0,0 +1,212 @@
|
||||||
|
#compdef dlv
|
||||||
|
compdef _dlv dlv
|
||||||
|
|
||||||
|
# zsh completion for dlv -*- shell-script -*-
|
||||||
|
|
||||||
|
__dlv_debug()
|
||||||
|
{
|
||||||
|
local file="$BASH_COMP_DEBUG_FILE"
|
||||||
|
if [[ -n ${file} ]]; then
|
||||||
|
echo "$*" >> "${file}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_dlv()
|
||||||
|
{
|
||||||
|
local shellCompDirectiveError=1
|
||||||
|
local shellCompDirectiveNoSpace=2
|
||||||
|
local shellCompDirectiveNoFileComp=4
|
||||||
|
local shellCompDirectiveFilterFileExt=8
|
||||||
|
local shellCompDirectiveFilterDirs=16
|
||||||
|
local shellCompDirectiveKeepOrder=32
|
||||||
|
|
||||||
|
local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder
|
||||||
|
local -a completions
|
||||||
|
|
||||||
|
__dlv_debug "\n========= starting completion logic =========="
|
||||||
|
__dlv_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}"
|
||||||
|
|
||||||
|
# The user could have moved the cursor backwards on the command-line.
|
||||||
|
# We need to trigger completion from the $CURRENT location, so we need
|
||||||
|
# to truncate the command-line ($words) up to the $CURRENT location.
|
||||||
|
# (We cannot use $CURSOR as its value does not work when a command is an alias.)
|
||||||
|
words=("${=words[1,CURRENT]}")
|
||||||
|
__dlv_debug "Truncated words[*]: ${words[*]},"
|
||||||
|
|
||||||
|
lastParam=${words[-1]}
|
||||||
|
lastChar=${lastParam[-1]}
|
||||||
|
__dlv_debug "lastParam: ${lastParam}, lastChar: ${lastChar}"
|
||||||
|
|
||||||
|
# For zsh, when completing a flag with an = (e.g., dlv -n=<TAB>)
|
||||||
|
# completions must be prefixed with the flag
|
||||||
|
setopt local_options BASH_REMATCH
|
||||||
|
if [[ "${lastParam}" =~ '-.*=' ]]; then
|
||||||
|
# We are dealing with a flag with an =
|
||||||
|
flagPrefix="-P ${BASH_REMATCH}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prepare the command to obtain completions
|
||||||
|
requestComp="${words[1]} __complete ${words[2,-1]}"
|
||||||
|
if [ "${lastChar}" = "" ]; then
|
||||||
|
# If the last parameter is complete (there is a space following it)
|
||||||
|
# We add an extra empty parameter so we can indicate this to the go completion code.
|
||||||
|
__dlv_debug "Adding extra empty parameter"
|
||||||
|
requestComp="${requestComp} \"\""
|
||||||
|
fi
|
||||||
|
|
||||||
|
__dlv_debug "About to call: eval ${requestComp}"
|
||||||
|
|
||||||
|
# Use eval to handle any environment variables and such
|
||||||
|
out=$(eval ${requestComp} 2>/dev/null)
|
||||||
|
__dlv_debug "completion output: ${out}"
|
||||||
|
|
||||||
|
# Extract the directive integer following a : from the last line
|
||||||
|
local lastLine
|
||||||
|
while IFS='\n' read -r line; do
|
||||||
|
lastLine=${line}
|
||||||
|
done < <(printf "%s\n" "${out[@]}")
|
||||||
|
__dlv_debug "last line: ${lastLine}"
|
||||||
|
|
||||||
|
if [ "${lastLine[1]}" = : ]; then
|
||||||
|
directive=${lastLine[2,-1]}
|
||||||
|
# Remove the directive including the : and the newline
|
||||||
|
local suffix
|
||||||
|
(( suffix=${#lastLine}+2))
|
||||||
|
out=${out[1,-$suffix]}
|
||||||
|
else
|
||||||
|
# There is no directive specified. Leave $out as is.
|
||||||
|
__dlv_debug "No directive found. Setting do default"
|
||||||
|
directive=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
__dlv_debug "directive: ${directive}"
|
||||||
|
__dlv_debug "completions: ${out}"
|
||||||
|
__dlv_debug "flagPrefix: ${flagPrefix}"
|
||||||
|
|
||||||
|
if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
|
||||||
|
__dlv_debug "Completion received error. Ignoring completions."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
local activeHelpMarker="_activeHelp_ "
|
||||||
|
local endIndex=${#activeHelpMarker}
|
||||||
|
local startIndex=$((${#activeHelpMarker}+1))
|
||||||
|
local hasActiveHelp=0
|
||||||
|
while IFS='\n' read -r comp; do
|
||||||
|
# Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker)
|
||||||
|
if [ "${comp[1,$endIndex]}" = "$activeHelpMarker" ];then
|
||||||
|
__dlv_debug "ActiveHelp found: $comp"
|
||||||
|
comp="${comp[$startIndex,-1]}"
|
||||||
|
if [ -n "$comp" ]; then
|
||||||
|
compadd -x "${comp}"
|
||||||
|
__dlv_debug "ActiveHelp will need delimiter"
|
||||||
|
hasActiveHelp=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$comp" ]; then
|
||||||
|
# If requested, completions are returned with a description.
|
||||||
|
# The description is preceded by a TAB character.
|
||||||
|
# For zsh's _describe, we need to use a : instead of a TAB.
|
||||||
|
# We first need to escape any : as part of the completion itself.
|
||||||
|
comp=${comp//:/\\:}
|
||||||
|
|
||||||
|
local tab="$(printf '\t')"
|
||||||
|
comp=${comp//$tab/:}
|
||||||
|
|
||||||
|
__dlv_debug "Adding completion: ${comp}"
|
||||||
|
completions+=${comp}
|
||||||
|
lastComp=$comp
|
||||||
|
fi
|
||||||
|
done < <(printf "%s\n" "${out[@]}")
|
||||||
|
|
||||||
|
# Add a delimiter after the activeHelp statements, but only if:
|
||||||
|
# - there are completions following the activeHelp statements, or
|
||||||
|
# - file completion will be performed (so there will be choices after the activeHelp)
|
||||||
|
if [ $hasActiveHelp -eq 1 ]; then
|
||||||
|
if [ ${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then
|
||||||
|
__dlv_debug "Adding activeHelp delimiter"
|
||||||
|
compadd -x "--"
|
||||||
|
hasActiveHelp=0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then
|
||||||
|
__dlv_debug "Activating nospace."
|
||||||
|
noSpace="-S ''"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then
|
||||||
|
__dlv_debug "Activating keep order."
|
||||||
|
keepOrder="-V"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then
|
||||||
|
# File extension filtering
|
||||||
|
local filteringCmd
|
||||||
|
filteringCmd='_files'
|
||||||
|
for filter in ${completions[@]}; do
|
||||||
|
if [ ${filter[1]} != '*' ]; then
|
||||||
|
# zsh requires a glob pattern to do file filtering
|
||||||
|
filter="\*.$filter"
|
||||||
|
fi
|
||||||
|
filteringCmd+=" -g $filter"
|
||||||
|
done
|
||||||
|
filteringCmd+=" ${flagPrefix}"
|
||||||
|
|
||||||
|
__dlv_debug "File filtering command: $filteringCmd"
|
||||||
|
_arguments '*:filename:'"$filteringCmd"
|
||||||
|
elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
|
||||||
|
# File completion for directories only
|
||||||
|
local subdir
|
||||||
|
subdir="${completions[1]}"
|
||||||
|
if [ -n "$subdir" ]; then
|
||||||
|
__dlv_debug "Listing directories in $subdir"
|
||||||
|
pushd "${subdir}" >/dev/null 2>&1
|
||||||
|
else
|
||||||
|
__dlv_debug "Listing directories in ."
|
||||||
|
fi
|
||||||
|
|
||||||
|
local result
|
||||||
|
_arguments '*:dirname:_files -/'" ${flagPrefix}"
|
||||||
|
result=$?
|
||||||
|
if [ -n "$subdir" ]; then
|
||||||
|
popd >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
return $result
|
||||||
|
else
|
||||||
|
__dlv_debug "Calling _describe"
|
||||||
|
if eval _describe $keepOrder "completions" completions $flagPrefix $noSpace; then
|
||||||
|
__dlv_debug "_describe found some completions"
|
||||||
|
|
||||||
|
# Return the success of having called _describe
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
__dlv_debug "_describe did not find completions."
|
||||||
|
__dlv_debug "Checking if we should do file completion."
|
||||||
|
if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then
|
||||||
|
__dlv_debug "deactivating file completion"
|
||||||
|
|
||||||
|
# We must return an error code here to let zsh know that there were no
|
||||||
|
# completions found by _describe; this is what will trigger other
|
||||||
|
# matching algorithms to attempt to find completions.
|
||||||
|
# For example zsh can match letters in the middle of words.
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
# Perform file completion
|
||||||
|
__dlv_debug "Activating file completion"
|
||||||
|
|
||||||
|
# We must return the result of this command, so it must be the
|
||||||
|
# last command, or else we must store its result to return it.
|
||||||
|
_arguments '*:filename:_files'" ${flagPrefix}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# don't run the completion function when being source-ed or eval-ed
|
||||||
|
if [ "$funcstack[1]" = "_dlv" ]; then
|
||||||
|
_dlv
|
||||||
|
fi
|
253
zsh/p10k.zsh
253
zsh/p10k.zsh
|
@ -1,10 +1,11 @@
|
||||||
# Generated by Powerlevel10k configuration wizard on 2024-02-01 at 23:16 MSK.
|
# Generated by Powerlevel10k configuration wizard on 2024-07-02 at 19:47 MSK.
|
||||||
# Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 26839.
|
# Based on romkatv/powerlevel10k/config/p10k-classic.zsh, checksum 57817.
|
||||||
# Wizard options: awesome-fontconfig + powerline, large icons, unicode, lean, 24h time,
|
# Wizard options: nerdfont-v3 + powerline, small icons, classic, unicode, dark,
|
||||||
# 1 line, compact, few icons, concise, transient_prompt, instant_prompt=verbose.
|
# 24h time, angled separators, sharp heads, flat tails, 1 line, compact, many icons,
|
||||||
|
# concise, transient_prompt, instant_prompt=verbose.
|
||||||
# Type `p10k configure` to generate another config.
|
# Type `p10k configure` to generate another config.
|
||||||
#
|
#
|
||||||
# Config for Powerlevel10k with lean prompt style. Type `p10k configure` to generate
|
# Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate
|
||||||
# your own config based on it.
|
# your own config based on it.
|
||||||
#
|
#
|
||||||
# Tip: Looking for a nice color? Here's a one-liner to print colormap.
|
# Tip: Looking for a nice color? Here's a one-liner to print colormap.
|
||||||
|
@ -30,10 +31,10 @@
|
||||||
|
|
||||||
# The list of segments shown on the left. Fill it with the most important segments.
|
# The list of segments shown on the left. Fill it with the most important segments.
|
||||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
|
||||||
# os_icon # os identifier
|
os_icon # os identifier
|
||||||
dir # current directory
|
dir # current directory
|
||||||
vcs # git status
|
vcs # git status
|
||||||
prompt_char # prompt symbol
|
# prompt_char # prompt symbol
|
||||||
)
|
)
|
||||||
|
|
||||||
# The list of segments shown on the right. Fill it with less important segments.
|
# The list of segments shown on the right. Fill it with less important segments.
|
||||||
|
@ -90,6 +91,7 @@
|
||||||
midnight_commander # midnight commander shell (https://midnight-commander.org/)
|
midnight_commander # midnight commander shell (https://midnight-commander.org/)
|
||||||
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
|
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
|
||||||
chezmoi_shell # chezmoi shell (https://www.chezmoi.io/)
|
chezmoi_shell # chezmoi shell (https://www.chezmoi.io/)
|
||||||
|
vi_mode # vi mode (you don't need this if you've enabled prompt_char)
|
||||||
# vpn_ip # virtual private network indicator
|
# vpn_ip # virtual private network indicator
|
||||||
# load # CPU load
|
# load # CPU load
|
||||||
# disk_usage # disk usage
|
# disk_usage # disk usage
|
||||||
|
@ -110,17 +112,10 @@
|
||||||
)
|
)
|
||||||
|
|
||||||
# Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you.
|
# Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you.
|
||||||
typeset -g POWERLEVEL9K_MODE=awesome-fontconfig
|
typeset -g POWERLEVEL9K_MODE=nerdfont-v3
|
||||||
# When set to `moderate`, some icons will have an extra space after them. This is meant to avoid
|
# When set to `moderate`, some icons will have an extra space after them. This is meant to avoid
|
||||||
# icon overlap when using non-monospace fonts. When set to `none`, spaces are not added.
|
# icon overlap when using non-monospace fonts. When set to `none`, spaces are not added.
|
||||||
typeset -g POWERLEVEL9K_ICON_PADDING=moderate
|
typeset -g POWERLEVEL9K_ICON_PADDING=none
|
||||||
|
|
||||||
# Basic style options that define the overall look of your prompt. You probably don't want to
|
|
||||||
# change them.
|
|
||||||
typeset -g POWERLEVEL9K_BACKGROUND= # transparent background
|
|
||||||
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE= # no surrounding whitespace
|
|
||||||
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' ' # separate segments with a space
|
|
||||||
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= # no end-of-line symbol
|
|
||||||
|
|
||||||
# When set to true, icons appear before content on both sides of the prompt. When set
|
# When set to true, icons appear before content on both sides of the prompt. When set
|
||||||
# to false, icons go after content. If empty or not set, icons go before content in the left
|
# to false, icons go after content. If empty or not set, icons go before content in the left
|
||||||
|
@ -133,59 +128,72 @@
|
||||||
# Or for a specific segment in specific state:
|
# Or for a specific segment in specific state:
|
||||||
#
|
#
|
||||||
# POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false
|
# POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false
|
||||||
typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT=true
|
typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT=
|
||||||
|
|
||||||
# Add an empty line before each prompt.
|
# Add an empty line before each prompt.
|
||||||
typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
|
typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
|
||||||
|
|
||||||
# Connect left prompt lines with these symbols.
|
# Connect left prompt lines with these symbols. You'll probably want to use the same color
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX=
|
# as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below.
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX=
|
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%240F╭─'
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX=
|
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%240F├─'
|
||||||
|
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%240F╰─'
|
||||||
# Connect right prompt lines with these symbols.
|
# Connect right prompt lines with these symbols.
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX=
|
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%240F─╮'
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX=
|
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%240F─┤'
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX=
|
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%240F─╯'
|
||||||
|
|
||||||
# The left end of left prompt.
|
# Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or
|
||||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=
|
# '─'. The last two make it easier to see the alignment between left and right prompt and to
|
||||||
# The right end of right prompt.
|
# separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
|
||||||
typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL=
|
# for more compact prompt if using this option.
|
||||||
|
|
||||||
# Ruler, a.k.a. the horizontal line before each prompt. If you set it to true, you'll
|
|
||||||
# probably want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false above and
|
|
||||||
# POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' below.
|
|
||||||
typeset -g POWERLEVEL9K_SHOW_RULER=false
|
|
||||||
typeset -g POWERLEVEL9K_RULER_CHAR='─' # reasonable alternative: '·'
|
|
||||||
typeset -g POWERLEVEL9K_RULER_FOREGROUND=242
|
|
||||||
|
|
||||||
# Filler between left and right prompt on the first prompt line. You can set it to '·' or '─'
|
|
||||||
# to make it easier to see the alignment between left and right prompt and to separate prompt
|
|
||||||
# from command output. It serves the same purpose as ruler (see above) without increasing
|
|
||||||
# the number of prompt lines. You'll probably want to set POWERLEVEL9K_SHOW_RULER=false
|
|
||||||
# if using this. You might also like POWERLEVEL9K_PROMPT_ADD_NEWLINE=false for more compact
|
|
||||||
# prompt.
|
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' '
|
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' '
|
||||||
|
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND=
|
||||||
|
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND=
|
||||||
if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then
|
if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then
|
||||||
# The color of the filler.
|
# The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=242
|
# ornaments defined above.
|
||||||
# Add a space between the end of left prompt and the filler.
|
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=240
|
||||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=' '
|
|
||||||
# Add a space between the filler and the start of right prompt.
|
|
||||||
typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL=' '
|
|
||||||
# Start filler from the edge of the screen if there are no left segments on the first line.
|
# Start filler from the edge of the screen if there are no left segments on the first line.
|
||||||
typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}'
|
typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}'
|
||||||
# End filler on the edge of the screen if there are no right segments on the first line.
|
# End filler on the edge of the screen if there are no right segments on the first line.
|
||||||
typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}'
|
typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Default background color.
|
||||||
|
typeset -g POWERLEVEL9K_BACKGROUND=236
|
||||||
|
|
||||||
|
# Separator between same-color segments on the left.
|
||||||
|
typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%244F\uE0B1'
|
||||||
|
# Separator between same-color segments on the right.
|
||||||
|
typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%244F\uE0B3'
|
||||||
|
# Separator between different-color segments on the left.
|
||||||
|
typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0'
|
||||||
|
# Separator between different-color segments on the right.
|
||||||
|
typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2'
|
||||||
|
# To remove a separator between two segments, add "_joined" to the second segment name.
|
||||||
|
# For example: POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(os_icon context_joined)
|
||||||
|
|
||||||
|
# The right end of left prompt.
|
||||||
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0'
|
||||||
|
# The left end of right prompt.
|
||||||
|
typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2'
|
||||||
|
# The left end of left prompt.
|
||||||
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=''
|
||||||
|
# The right end of right prompt.
|
||||||
|
typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL=''
|
||||||
|
# Left prompt terminator for lines without any segments.
|
||||||
|
typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=
|
||||||
|
|
||||||
#################################[ os_icon: os identifier ]##################################
|
#################################[ os_icon: os identifier ]##################################
|
||||||
# OS identifier color.
|
# OS identifier color.
|
||||||
typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=
|
typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=255
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐'
|
||||||
|
|
||||||
################################[ prompt_char: prompt symbol ]################################
|
################################[ prompt_char: prompt symbol ]################################
|
||||||
|
# Transparent background.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND=
|
||||||
# Green prompt symbol if the last command succeeded.
|
# Green prompt symbol if the last command succeeded.
|
||||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76
|
||||||
# Red prompt symbol if the last command failed.
|
# Red prompt symbol if the last command failed.
|
||||||
|
@ -200,9 +208,11 @@
|
||||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶'
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶'
|
||||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true
|
||||||
# No line terminator if prompt_char is the last segment.
|
# No line terminator if prompt_char is the last segment.
|
||||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=''
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=
|
||||||
# No line introducer if prompt_char is the first segment.
|
# No line introducer if prompt_char is the first segment.
|
||||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=
|
||||||
|
# No surrounding whitespace.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE=
|
||||||
|
|
||||||
##################################[ dir: current directory ]##################################
|
##################################[ dir: current directory ]##################################
|
||||||
# Default current directory color.
|
# Default current directory color.
|
||||||
|
@ -333,14 +343,14 @@
|
||||||
# parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls
|
# parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls
|
||||||
# back to POWERLEVEL9K_DIR_FOREGROUND.
|
# back to POWERLEVEL9K_DIR_FOREGROUND.
|
||||||
#
|
#
|
||||||
typeset -g POWERLEVEL9K_DIR_CLASSES=()
|
# typeset -g POWERLEVEL9K_DIR_CLASSES=()
|
||||||
|
|
||||||
# Custom prefix.
|
# Custom prefix.
|
||||||
# typeset -g POWERLEVEL9K_DIR_PREFIX='%fin '
|
# typeset -g POWERLEVEL9K_DIR_PREFIX='%246Fin '
|
||||||
|
|
||||||
#####################################[ vcs: git status ]######################################
|
#####################################[ vcs: git status ]######################################
|
||||||
# Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon.
|
# Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon.
|
||||||
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
|
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 '
|
||||||
|
|
||||||
# Untracked files icon. It's really a question mark, your font isn't broken.
|
# Untracked files icon. It's really a question mark, your font isn't broken.
|
||||||
# Change the value of this parameter to show a different icon.
|
# Change the value of this parameter to show a different icon.
|
||||||
|
@ -366,7 +376,7 @@
|
||||||
|
|
||||||
if (( $1 )); then
|
if (( $1 )); then
|
||||||
# Styling for up-to-date Git status.
|
# Styling for up-to-date Git status.
|
||||||
local meta='%f' # default foreground
|
local meta='%246F' # grey foreground
|
||||||
local clean='%76F' # green foreground
|
local clean='%76F' # green foreground
|
||||||
local modified='%178F' # yellow foreground
|
local modified='%178F' # yellow foreground
|
||||||
local untracked='%39F' # blue foreground
|
local untracked='%39F' # blue foreground
|
||||||
|
@ -486,13 +496,13 @@
|
||||||
typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76
|
typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76
|
||||||
typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244
|
typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION=
|
# typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
# Custom prefix.
|
# Custom prefix.
|
||||||
# typeset -g POWERLEVEL9K_VCS_PREFIX='%fon '
|
# typeset -g POWERLEVEL9K_VCS_PREFIX='%246Fon '
|
||||||
|
|
||||||
# Show status of repositories of these types. You can add svn and/or hg if you are
|
# Show status of repositories of these types. You can add svn and/or hg if you are
|
||||||
# using them. If you do, your prompt may become slow even when your current directory
|
# using them. If you do, your prompt may become slow even when your current directory
|
||||||
# isn't in an svn or hg repository.
|
# isn't in an svn or hg reposotiry.
|
||||||
typeset -g POWERLEVEL9K_VCS_BACKENDS=(git)
|
typeset -g POWERLEVEL9K_VCS_BACKENDS=(git)
|
||||||
|
|
||||||
# These settings are used for repositories other than Git or when gitstatusd fails and
|
# These settings are used for repositories other than Git or when gitstatusd fails and
|
||||||
|
@ -508,7 +518,7 @@
|
||||||
|
|
||||||
# Status on success. No content, just an icon. No need to show it if prompt_char is enabled as
|
# Status on success. No content, just an icon. No need to show it if prompt_char is enabled as
|
||||||
# it will signify success by turning green.
|
# it will signify success by turning green.
|
||||||
typeset -g POWERLEVEL9K_STATUS_OK=false
|
typeset -g POWERLEVEL9K_STATUS_OK=true
|
||||||
typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70
|
typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70
|
||||||
typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔'
|
typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔'
|
||||||
|
|
||||||
|
@ -520,7 +530,7 @@
|
||||||
|
|
||||||
# Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as
|
# Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as
|
||||||
# it will signify error by turning red.
|
# it will signify error by turning red.
|
||||||
typeset -g POWERLEVEL9K_STATUS_ERROR=false
|
typeset -g POWERLEVEL9K_STATUS_ERROR=true
|
||||||
typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160
|
typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160
|
||||||
typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘'
|
typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘'
|
||||||
|
|
||||||
|
@ -543,19 +553,19 @@
|
||||||
# Show this many fractional digits. Zero means round to seconds.
|
# Show this many fractional digits. Zero means round to seconds.
|
||||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
|
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
|
||||||
# Execution time color.
|
# Execution time color.
|
||||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=101
|
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=248
|
||||||
# Duration format: 1d 2h 3m 4s.
|
# Duration format: 1d 2h 3m 4s.
|
||||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s'
|
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s'
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION=
|
# typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
# Custom prefix.
|
# Custom prefix.
|
||||||
# typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%ftook '
|
# typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%246Ftook '
|
||||||
|
|
||||||
#######################[ background_jobs: presence of background jobs ]#######################
|
#######################[ background_jobs: presence of background jobs ]#######################
|
||||||
# Don't show the number of background jobs.
|
# Don't show the number of background jobs.
|
||||||
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false
|
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false
|
||||||
# Background jobs color.
|
# Background jobs color.
|
||||||
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=70
|
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=37
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
@ -653,7 +663,7 @@
|
||||||
# .NET Core version from asdf.
|
# .NET Core version from asdf.
|
||||||
typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134
|
typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134
|
||||||
# typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
# typeset -g POWERLEVEL9K_ASDF_DOTNET_SHOW_ON_UPGLOB='*.foo|*.bar'
|
# typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar'
|
||||||
|
|
||||||
# Flutter version from asdf.
|
# Flutter version from asdf.
|
||||||
typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38
|
typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38
|
||||||
|
@ -782,6 +792,23 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]###########
|
||||||
|
# Text and color for normal (a.k.a. command) vi mode.
|
||||||
|
typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL
|
||||||
|
typeset -g POWERLEVEL9K_VI_MODE_NORMAL_FOREGROUND=106
|
||||||
|
# Text and color for visual vi mode.
|
||||||
|
typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL
|
||||||
|
typeset -g POWERLEVEL9K_VI_MODE_VISUAL_FOREGROUND=68
|
||||||
|
# Text and color for overtype (a.k.a. overwrite and replace) vi mode.
|
||||||
|
typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE
|
||||||
|
typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_FOREGROUND=172
|
||||||
|
# Text and color for insert vi mode.
|
||||||
|
typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING=
|
||||||
|
typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66
|
||||||
|
|
||||||
|
# Custom icon.
|
||||||
|
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
######################################[ ram: free RAM ]#######################################
|
######################################[ ram: free RAM ]#######################################
|
||||||
# RAM color.
|
# RAM color.
|
||||||
typeset -g POWERLEVEL9K_RAM_FOREGROUND=66
|
typeset -g POWERLEVEL9K_RAM_FOREGROUND=66
|
||||||
|
@ -908,7 +935,7 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
# Custom prefix.
|
# Custom prefix.
|
||||||
# typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%fwith '
|
# typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%246Fwith '
|
||||||
|
|
||||||
###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]###
|
###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]###
|
||||||
# Python virtual environment color.
|
# Python virtual environment color.
|
||||||
|
@ -921,7 +948,7 @@
|
||||||
# Separate environment name from Python version only with a space.
|
# Separate environment name from Python version only with a space.
|
||||||
typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
|
typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='🐍'
|
# typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
#####################[ anaconda: conda environment (https://conda.io/) ]######################
|
#####################[ anaconda: conda environment (https://conda.io/) ]######################
|
||||||
# Anaconda environment color.
|
# Anaconda environment color.
|
||||||
|
@ -954,7 +981,7 @@
|
||||||
typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}'
|
typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}'
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='🐍'
|
# typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################
|
################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################
|
||||||
# Pyenv color.
|
# Pyenv color.
|
||||||
|
@ -980,7 +1007,7 @@
|
||||||
typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}'
|
typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}'
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='🐍'
|
# typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
################[ goenv: go environment (https://github.com/syndbg/goenv) ]################
|
################[ goenv: go environment (https://github.com/syndbg/goenv) ]################
|
||||||
# Goenv color.
|
# Goenv color.
|
||||||
|
@ -1215,6 +1242,45 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
################[ terraform: terraform workspace (https://www.terraform.io) ]#################
|
||||||
|
# Don't show terraform workspace if it's literally "default".
|
||||||
|
typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false
|
||||||
|
# POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element
|
||||||
|
# in each pair defines a pattern against which the current terraform workspace gets matched.
|
||||||
|
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
|
||||||
|
# that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters,
|
||||||
|
# you'll see this value in your prompt. The second element of each pair in
|
||||||
|
# POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The
|
||||||
|
# first match wins.
|
||||||
|
#
|
||||||
|
# For example, given these settings:
|
||||||
|
#
|
||||||
|
# typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
|
||||||
|
# '*prod*' PROD
|
||||||
|
# '*test*' TEST
|
||||||
|
# '*' OTHER)
|
||||||
|
#
|
||||||
|
# If your current terraform workspace is "project_test", its class is TEST because "project_test"
|
||||||
|
# doesn't match the pattern '*prod*' but does match '*test*'.
|
||||||
|
#
|
||||||
|
# You can define different colors, icons and content expansions for different classes:
|
||||||
|
#
|
||||||
|
# typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=28
|
||||||
|
# typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
# typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
|
||||||
|
typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
|
||||||
|
# '*prod*' PROD # These values are examples that are unlikely
|
||||||
|
# '*test*' TEST # to match your needs. Customize them as needed.
|
||||||
|
'*' OTHER)
|
||||||
|
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38
|
||||||
|
# typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
#############[ terraform_version: terraform version (https://www.terraform.io) ]##############
|
||||||
|
# Terraform version color.
|
||||||
|
typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38
|
||||||
|
# Custom icon.
|
||||||
|
# typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
|
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
|
||||||
# Show kubecontext only when the command you are typing invokes one of these tools.
|
# Show kubecontext only when the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show kubecontext.
|
# Tip: Remove the next line to always show kubecontext.
|
||||||
|
@ -1300,46 +1366,7 @@
|
||||||
POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}'
|
POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}'
|
||||||
|
|
||||||
# Custom prefix.
|
# Custom prefix.
|
||||||
# typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%fat '
|
# typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%246Fat '
|
||||||
|
|
||||||
################[ terraform: terraform workspace (https://www.terraform.io) ]#################
|
|
||||||
# Don't show terraform workspace if it's literally "default".
|
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false
|
|
||||||
# POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element
|
|
||||||
# in each pair defines a pattern against which the current terraform workspace gets matched.
|
|
||||||
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
|
|
||||||
# that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters,
|
|
||||||
# you'll see this value in your prompt. The second element of each pair in
|
|
||||||
# POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The
|
|
||||||
# first match wins.
|
|
||||||
#
|
|
||||||
# For example, given these settings:
|
|
||||||
#
|
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
|
|
||||||
# '*prod*' PROD
|
|
||||||
# '*test*' TEST
|
|
||||||
# '*' OTHER)
|
|
||||||
#
|
|
||||||
# If your current terraform workspace is "project_test", its class is TEST because "project_test"
|
|
||||||
# doesn't match the pattern '*prod*' but does match '*test*'.
|
|
||||||
#
|
|
||||||
# You can define different colors, icons and content expansions for different classes:
|
|
||||||
#
|
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=28
|
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
|
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
|
|
||||||
# '*prod*' PROD # These values are examples that are unlikely
|
|
||||||
# '*test*' TEST # to match your needs. Customize them as needed.
|
|
||||||
'*' OTHER)
|
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38
|
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
#############[ terraform_version: terraform version (https://www.terraform.io) ]##############
|
|
||||||
# Terraform version color.
|
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
||||||
# Show aws only when the command you are typing invokes one of these tools.
|
# Show aws only when the command you are typing invokes one of these tools.
|
||||||
|
@ -1529,7 +1556,7 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
# Custom prefix.
|
# Custom prefix.
|
||||||
# typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%fin '
|
# typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%246Fin '
|
||||||
|
|
||||||
###############################[ public_ip: public IP address ]###############################
|
###############################[ public_ip: public IP address ]###############################
|
||||||
# Public IP color.
|
# Public IP color.
|
||||||
|
@ -1568,7 +1595,7 @@
|
||||||
# P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt
|
# P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt
|
||||||
# P9K_IP_RX_RATE | receive rate (since last prompt)
|
# P9K_IP_RX_RATE | receive rate (since last prompt)
|
||||||
# P9K_IP_TX_RATE | send rate (since last prompt)
|
# P9K_IP_TX_RATE | send rate (since last prompt)
|
||||||
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='$P9K_IP_IP${P9K_IP_RX_RATE:+ %70F⇣$P9K_IP_RX_RATE}${P9K_IP_TX_RATE:+ %215F⇡$P9K_IP_TX_RATE}'
|
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70F⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215F⇡$P9K_IP_TX_RATE }%38F$P9K_IP_IP'
|
||||||
# Show information for the first network interface whose name matches this regular expression.
|
# Show information for the first network interface whose name matches this regular expression.
|
||||||
# Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces.
|
# Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces.
|
||||||
typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*'
|
typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*'
|
||||||
|
@ -1590,7 +1617,7 @@
|
||||||
# Show battery in yellow when it's discharging.
|
# Show battery in yellow when it's discharging.
|
||||||
typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178
|
typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178
|
||||||
# Battery pictograms going from low to high level of charge.
|
# Battery pictograms going from low to high level of charge.
|
||||||
typeset -g POWERLEVEL9K_BATTERY_STAGES=('%K{232}▁' '%K{232}▂' '%K{232}▃' '%K{232}▄' '%K{232}▅' '%K{232}▆' '%K{232}▇' '%K{232}█')
|
typeset -g POWERLEVEL9K_BATTERY_STAGES='\UF008E\UF007A\UF007B\UF007C\UF007D\UF007E\UF007F\UF0080\UF0081\UF0082\UF0079'
|
||||||
# Don't show the remaining time to charge/discharge.
|
# Don't show the remaining time to charge/discharge.
|
||||||
typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false
|
typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false
|
||||||
|
|
||||||
|
@ -1630,9 +1657,9 @@
|
||||||
# behavior where they contain the end times of their preceding commands.
|
# behavior where they contain the end times of their preceding commands.
|
||||||
typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
|
typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION=
|
# typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
# Custom prefix.
|
# Custom prefix.
|
||||||
# typeset -g POWERLEVEL9K_TIME_PREFIX='%fat '
|
# typeset -g POWERLEVEL9K_TIME_PREFIX='%246Fat '
|
||||||
|
|
||||||
# Example of a user-defined prompt segment. Function prompt_example will be called on every
|
# Example of a user-defined prompt segment. Function prompt_example will be called on every
|
||||||
# prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or
|
# prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or
|
||||||
|
|
35
zsh/zshrc
35
zsh/zshrc
|
@ -1,17 +1,8 @@
|
||||||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
|
||||||
# Initialization code that may require console input (password prompts, [y/n]
|
|
||||||
# confirmations, etc.) must go above this block; everything else may go below.
|
|
||||||
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||||
fi
|
fi
|
||||||
|
source ~/.config/zsh/p10k.zsh
|
||||||
# Exports
|
source ~/.config/zsh/p10k/powerlevel10k.zsh-theme
|
||||||
export PATH=$HOME/.local/bin:/usr/local/bin:$HOME/go/bin:$HOME/.emacs.d/bin:$PATH
|
|
||||||
export EDITOR="micro"
|
|
||||||
|
|
||||||
#export SSH_AUTH_SOCK=$HOME/.ssh/ssh-agent.socket
|
|
||||||
#ssh-add -l >/dev/null || alias ssh='ssh-add -l >/dev/null || SSH_AUTH_SOCK=$HOME/.ssh/ssh-agent.socket ssh-add -s /usr/lib/x86_64-linux-gnu/libykcs11.so && unalias ssh; ssh'
|
|
||||||
|
|
||||||
source ~/.config/zsh/antigen.zsh
|
source ~/.config/zsh/antigen.zsh
|
||||||
|
|
||||||
antigen bundle zsh-users/zsh-syntax-highlighting
|
antigen bundle zsh-users/zsh-syntax-highlighting
|
||||||
|
@ -21,6 +12,12 @@ antigen bundle zsh-users/zsh-completions
|
||||||
|
|
||||||
antigen apply
|
antigen apply
|
||||||
|
|
||||||
|
# Exports
|
||||||
|
|
||||||
|
export PATH=$HOME/.local/bin:/usr/local/bin:$HOME/go/bin:$PATH
|
||||||
|
export EDITOR="micro"
|
||||||
|
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock
|
||||||
|
|
||||||
# Aliases
|
# Aliases
|
||||||
alias ls="ls -F"
|
alias ls="ls -F"
|
||||||
alias l="ls"
|
alias l="ls"
|
||||||
|
@ -57,6 +54,16 @@ zstyle ':completion:*' rehash true # automatically
|
||||||
zstyle ':completion:*' accept-exact '*(N)'
|
zstyle ':completion:*' accept-exact '*(N)'
|
||||||
zstyle ':completion:*' use-cache on
|
zstyle ':completion:*' use-cache on
|
||||||
zstyle ':completion:*' cache-path ~/.zsh/cache
|
zstyle ':completion:*' cache-path ~/.zsh/cache
|
||||||
|
|
||||||
|
zstyle ':completion:*:processes' command 'ps -ax'
|
||||||
|
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;32'
|
||||||
|
zstyle ':completion:*:*:kill:*' menu yes select
|
||||||
|
zstyle ':completion:*:kill:*' force-list always
|
||||||
|
|
||||||
|
zstyle ':completion:*:processes-names' command 'ps -e -o comm='
|
||||||
|
zstyle ':completion:*:*:killall:*' menu yes select
|
||||||
|
zstyle ':completion:*:killall:*' force-list always
|
||||||
|
|
||||||
HISTFILE=~/.zsh_history
|
HISTFILE=~/.zsh_history
|
||||||
HISTSIZE=100000
|
HISTSIZE=100000
|
||||||
SAVEHIST=100000
|
SAVEHIST=100000
|
||||||
|
@ -66,6 +73,9 @@ WORDCHARS=${WORDCHARS//\/[&.;]} # Don't consider
|
||||||
|
|
||||||
autoload -U compinit colors zcalc
|
autoload -U compinit colors zcalc
|
||||||
compinit -d
|
compinit -d
|
||||||
|
|
||||||
|
source ~/.config/zsh/conf.d/*.zsh
|
||||||
|
|
||||||
colors
|
colors
|
||||||
|
|
||||||
# Color man pages
|
# Color man pages
|
||||||
|
@ -119,6 +129,3 @@ bindkey '^[[Z' undo # Shift+tab undo
|
||||||
|
|
||||||
# ctrl + space accept suggestion
|
# ctrl + space accept suggestion
|
||||||
bindkey '^ ' autosuggest-accept
|
bindkey '^ ' autosuggest-accept
|
||||||
|
|
||||||
source ~/.config/zsh/p10k.zsh
|
|
||||||
source ~/.config/zsh/p10k/powerlevel10k.zsh-theme
|
|
||||||
|
|
Loading…
Reference in a new issue