From d76bd709d0be62c0ee3122a9d732bade3d879843 Mon Sep 17 00:00:00 2001 From: Seth Underwood Date: Fri, 6 Jan 2023 21:32:27 -0500 Subject: [PATCH] lib/shopt: Allow CASE_SENSITIVE and HYPHEN_INSENSITIVE to work as documented Adjusted shopt.sh to use CASE_SENSITIVE and HYPHEN_INSENSITIVE variables to affect completion. Note: this changes the old default hyphen insensitive completion behavior. The user will need to set HYPHEN_INSENSITIVE="true" to have the old default behavior. --- lib/shopt.sh | 9 ++++++--- templates/bashrc.osh-template | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/shopt.sh b/lib/shopt.sh index 9e5f887..8fce108 100644 --- a/lib/shopt.sh +++ b/lib/shopt.sh @@ -43,10 +43,13 @@ if [[ ${OMB_CASE_SENSITIVE:-${CASE_SENSITIVE:-}} == true ]]; then else # By default, case sensitivity is disabled. bind "set completion-ignore-case on" -fi -# Treat hyphens and underscores as equivalent -bind "set completion-map-case on" + # Treat hyphens and underscores as equivalent + # CASE_SENSITIVE must be off + if [[ ${OMB_HYPHEN_INSENSITIVE:-${HYPHEN_INSENSITIVE:-false}} == true ]]; then + bind "set completion-map-case on" + fi +fi # Display matches for ambiguous patterns at first tab press bind "set show-all-if-ambiguous on" diff --git a/templates/bashrc.osh-template b/templates/bashrc.osh-template index 82be0d1..9f7c2e9 100644 --- a/templates/bashrc.osh-template +++ b/templates/bashrc.osh-template @@ -16,7 +16,7 @@ OSH_THEME="font" # Uncomment the following line to use hyphen-insensitive completion. Case # sensitive completion must be off. _ and - will be interchangeable. -# HYPHEN_INSENSITIVE="true" +# OMB_HYPHEN_INSENSITIVE="true" # Uncomment the following line to disable bi-weekly auto-update checks. # DISABLE_AUTO_UPDATE="true"