From: Bart Schaefer <schaefer@brasslantern.com>
To: zsh-workers@zsh.org
Subject: WARN_CREATE_GLOBAL and prompt themes
Date: Sun, 22 Nov 2015 10:13:21 -0800 [thread overview]
Message-ID: <151122101321.ZM10240@torch.brasslantern.com> (raw)
Maybe we also don't want to warn about zle_highlight ... but that would be
some kind of ugly special case, I think.
I got lazy with the adam prompts because they create about a dozen globals.
diff --git a/Functions/Prompts/prompt_adam1_setup b/Functions/Prompts/prompt_adam1_setup
index aca0e59..27a613c 100644
--- a/Functions/Prompts/prompt_adam1_setup
+++ b/Functions/Prompts/prompt_adam1_setup
@@ -18,6 +18,7 @@ EOF
}
prompt_adam1_setup () {
+ setopt localoptions nowarncreateglobal
prompt_adam1_color1=${1:-'blue'}
prompt_adam1_color2=${2:-'cyan'}
prompt_adam1_color3=${3:-'green'}
@@ -33,7 +34,7 @@ prompt_adam1_setup () {
}
prompt_adam1_precmd () {
- setopt noxtrace localoptions
+ setopt localoptions noxtrace nowarncreateglobal
local base_prompt_expanded_no_color base_prompt_etc
local prompt_length space_left
diff --git a/Functions/Prompts/prompt_adam2_setup b/Functions/Prompts/prompt_adam2_setup
index 14603b4..b944511 100644
--- a/Functions/Prompts/prompt_adam2_setup
+++ b/Functions/Prompts/prompt_adam2_setup
@@ -20,6 +20,7 @@ EOF
prompt_adam2_setup () {
# Some can't be local
+ setopt localoptions nowarncreateglobal
local prompt_gfx_tlc prompt_gfx_mlc prompt_gfx_blc
if [[ $1 == '8bit' ]]; then
@@ -73,7 +74,7 @@ prompt_adam2_setup () {
}
prompt_adam2_precmd() {
- setopt noxtrace localoptions extendedglob
+ setopt localoptions extendedglob noxtrace nowarncreateglobal
local prompt_line_1
prompt_adam2_choose_prompt
diff --git a/Functions/Prompts/prompt_bart_setup b/Functions/Prompts/prompt_bart_setup
index 22c0c03..cb032de 100644
--- a/Functions/Prompts/prompt_bart_setup
+++ b/Functions/Prompts/prompt_bart_setup
@@ -70,8 +70,8 @@ prompt_bart_help () {
print -nP '\n%E'
}
-integer PSCOL=1
-typeset PSCMD=
+integer -g PSCOL=1
+typeset -g PSCMD=
prompt_bart_preexec () {
setopt localoptions noxtrace noshwordsplit noksharrays unset
@@ -106,7 +106,6 @@ prompt_bart_precmd () {
psvar[8]='' # No padding until we compute it
psvar[9]=()
- typeset -g PSCOL
# Reset the truncation widths for upcoming computations
((PSCOL == 1)) || { PSCOL=1 ; prompt_bart_ps1 }
if [[ -o promptcr ]]
diff --git a/Functions/Prompts/prompt_clint_setup b/Functions/Prompts/prompt_clint_setup
index 822d390..876d304 100644
--- a/Functions/Prompts/prompt_clint_setup
+++ b/Functions/Prompts/prompt_clint_setup
@@ -38,12 +38,13 @@ prompt_clint_setup () {
[[ -n "$WINDOW" ]] && p_win="$pc['\(']%F{$pcc[4]}$WINDOW$pc['\)']"
p_userpwd="$pc['<']%F{$pcc[3]}%n@%m$p_win%F{$pcc[5]}:%F{$pcc[4]}%~$pc['>']"
- p_vcs="%(2v.%U%2v%u.)"
+ local p_vcs="%(2v.%U%2v%u.)"
p_shlvlhist="%fzsh%(2L./$SHLVL.) %B%h%b "
p_rc="%(?..[%?%1v] )"
p_end="%f%B%#%b "
+ typeset -ga zle_highlight
zle_highlight[(r)default:*]=default:$pcc[2]
prompt="$p_date$p_tty$p_plat$p_ver
diff --git a/Functions/Prompts/prompt_oliver_setup b/Functions/Prompts/prompt_oliver_setup
index 44d3f99..979411d 100644
--- a/Functions/Prompts/prompt_oliver_setup
+++ b/Functions/Prompts/prompt_oliver_setup
@@ -37,6 +37,8 @@ prompt_oliver_setup() {
PS1="$pcolr$user$host%~%"'$((COLUMNS-12))'"(l.$prompt_newline. )[%h%1(j.%%%j.)%0(?..:%?)]%# %b%f%k" RPS2='<%^'
PS2=''
+
+ typeset -ga zle_highlight
zle_highlight[(r)default:*]=default:$tcolr
}
diff --git a/Functions/Prompts/prompt_special_chars b/Functions/Prompts/prompt_special_chars
index a8da6c3..82a1f2d 100644
--- a/Functions/Prompts/prompt_special_chars
+++ b/Functions/Prompts/prompt_special_chars
@@ -19,6 +19,7 @@ if [[ ${LC_ALL:-${LC_CTYPE:-$LANG}} = *(UTF-8|utf8)* ]]; then
schars[261]=$'\xe2\x96\x92'
schars[260]=$'\xe2\x96\x91'
else
+ local code
for code in 300 304 332 333 371 372 262 261 260; do
eval "schars[$code]=\$'\\$code'"
done
diff --git a/Functions/Prompts/promptinit b/Functions/Prompts/promptinit
index edf2d02..5872489 100644
--- a/Functions/Prompts/promptinit
+++ b/Functions/Prompts/promptinit
@@ -160,7 +160,7 @@ Use prompt -h <theme> for help on specific themes.'
for hook in chpwd precmd preexec periodic zshaddhistory zshexit; do
add-zsh-hook -D "${hook}" "prompt_*_${hook}"
done
- set -A zle_highlight ${zle_highlight:#default:*}
+ typeset -ga zle_highlight=( ${zle_highlight:#default:*} )
(( ${#zle_highlight} )) || unset zle_highlight
prompt_$1_setup "$@[2,-1]" && prompt_theme=( "$@" )
reply other threads:[~2015-11-22 18:13 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=151122101321.ZM10240@torch.brasslantern.com \
--to=schaefer@brasslantern.com \
--cc=zsh-workers@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).