From 3b7eeda8f78e554b8dcaf62346e837b1a675403e Mon Sep 17 00:00:00 2001 From: Eric Nielsen Date: Fri, 18 May 2018 13:52:24 -0500 Subject: [PATCH] [environment] Use setopt NO_FOO instead of unsetopt FOO As used in other modules. Also easier to document in the comments and README. Replace table by bulleted list so it's possible to use `|` in the text without breaking the Markdown rendering. --- modules/environment/README.md | 22 ++++++++++------------ modules/environment/init.zsh | 31 ++++++++++++++----------------- 2 files changed, 24 insertions(+), 29 deletions(-) diff --git a/modules/environment/README.md b/modules/environment/README.md index 6539e80..dd51a5d 100644 --- a/modules/environment/README.md +++ b/modules/environment/README.md @@ -1,21 +1,19 @@ -Environment +environment =========== -Sets generic Zsh built-in environment options. +Sets generic zsh built-in environment options. Also enables smart URL-pasting. This prevents the user from having to manually escape URLs. Uses `.zimrc` defined `${ztermtitle}` variable to set the terminal title, if defined. -ZSH Options +zsh options ----------- -| Option | Effect | -| ------ | ------ | -| AUTO_RESUME | Resume existing jobs before creating a new job | -| LONG_LIST_JOBS | Use the verbose list format by default | -| NOTIFY | Report job status immediately instead of waiting for new prompt | -| INTERACTIVE_COMMENTS | Recognize comments starting with `#` | -| BG_NICE | Disabled to prevent jobs being given a lower priority | -| HUP | Disabed to prevent SIGHUP to jobs on shell close | -| CHECK_JOBS | Disabled to prevent job report on shell close | + * `AUTO_RESUME` resumes an existing job before creating a new one. + * `INTERACTIVE_COMMENTS` allows comments starting with `#` in the shell. + * `LONG_LIST_JOBS` lists jobs in verbose format by default. + * `NOTIFY` reports job status immediately instead of waiting for the prompt. + * `NO_BG_NICE` prevents background jobs being given a lower priority. + * `NO_CHECK_JOBS` prevents status report of jobs on shell exit. + * `NO_HUP` prevents SIGHUP to jobs on shell exit. diff --git a/modules/environment/init.zsh b/modules/environment/init.zsh index 32e037e..31ff079 100644 --- a/modules/environment/init.zsh +++ b/modules/environment/init.zsh @@ -2,34 +2,31 @@ # generic options and environment settings # -# use smart URL pasting and escaping -autoload -Uz bracketed-paste-url-magic -zle -N bracketed-paste bracketed-paste-url-magic -autoload -Uz url-quote-magic -zle -N self-insert url-quote-magic +# Use smart URL pasting and escaping. +autoload -Uz bracketed-paste-url-magic && zle -N bracketed-paste bracketed-paste-url-magic +autoload -Uz url-quote-magic && zle -N self-insert url-quote-magic # Treat single word simple commands without redirection as candidates for resumption of an existing job. setopt AUTO_RESUME +# Allow comments starting with `#` even in interactive shells. +setopt INTERACTIVE_COMMENTS + # List jobs in the long format by default. setopt LONG_LIST_JOBS # Report the status of background jobs immediately, rather than waiting until just before printing a prompt. setopt NOTIFY -# Recognize comments starting with `#`. -setopt INTERACTIVE_COMMENTS +# Prevent runing all background jobs at a lower priority. +setopt NO_BG_NICE -# Run all background jobs at a lower priority. This option is set by default. -unsetopt BG_NICE - -# Send the HUP signal to running jobs when the shell exits. -unsetopt HUP - -# Report the status of background and suspended jobs before exiting a shell with job control; -# a second attempt to exit the shell will succeed. +# Prevent reporting the status of background and suspended jobs before exiting a shell with job control. # NO_CHECK_JOBS is best used only in combination with NO_HUP, else such jobs will be killed automatically. -unsetopt CHECK_JOBS +setopt NO_CHECK_JOBS + +# Prevent sending the HUP signal to running jobs when the shell exits. +setopt NO_HUP # Remove path separtor from WORDCHARS. WORDCHARS=${WORDCHARS//[\/]} @@ -45,7 +42,7 @@ fi # sets the window title and updates upon directory change # more work probably needs to be done here to support multiplexers -if (($+ztermtitle)); then +if (( ${+ztermtitle} )); then case ${TERM} in xterm*|*rxvt) precmd() { print -Pn "\e]0;${ztermtitle}\a" }