Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Command not found handler for non-searched commands?



On Sun, 29 Apr 2012, Benjamin R. Haskell wrote:

I use autocd quite a bit. And often the first thing I want to do when starting a new project is to create a directory and cd into it. I tried creating the following command_not_found_handler:


Okay.  Different tack, different problem:

preexec {
  __last_command=$1
  # ... etc.
}

trap '
  local dir= create=
  set -- ${=__last_command}
  (( $# == 1 )) || return 1
  [[ $1 == */* ]] || return 1
  dir=$1
  read -q "create?Create $dir [y/N]? " || return 1
  mkdir -p $dir || return 1
  cd $dir
' ZERR

Now $dir ends up containing '~/tmp/one-off-project', with the '~' unexpanded. Seeing as how the directory doesn't yet exist, I can't just glob it. Is there a function to do just named-directory expansion?

--
Best,
Ben



Messages sorted by: Reverse Date, Date, Thread, Author