Jelajahi Sumber

[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.
Eric Nielsen 6 tahun lalu
induk
melakukan
3b7eeda8f7
2 mengubah file dengan 24 tambahan dan 29 penghapusan
  1. 10 12
      modules/environment/README.md
  2. 14 17
      modules/environment/init.zsh

+ 10 - 12
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.

+ 14 - 17
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
-
-# 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
+# Prevent runing all background jobs at a lower priority.
+setopt NO_BG_NICE
 
-# 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" }