Skip to main content

cd to any path without escaping in xonsh shell: cd ~/[te] st

Project description

cd to any path without escaping in xonsh shell.
Replaces cd at the start of a line with a subprocess macro cd!

If you like the idea click ⭐ on the repo and stay tuned.

Installation

To install use pip:

xpip install xontrib-cd
# or: xpip install -U git+https://github.com/eugenesvk/xontrib-cd

This xontrib will get loaded automatically for interactive sessions; to stop this, set

$XONTRIBS_AUTOLOAD_DISABLED = {"cd", }

Usage

Use cd as usual, but without the fear of copying&pasting arbitrary paths (e.g. .../space separated/ or .../[bracketed]/)

xontrib load cd
cd ~/[Path] With Spaces	# equivalent to 'cd! ~/[Path] With Spaces'
cd C:/Program Files    	# equivalent to 'cd! C:/Program Files'
cd -P ~/SymlinkTo      	# follow symlinks, equivalent to 'cd -P! ~/SymlinkTo'

Set the following environment variables in your profile to enable extra options (disabled by default):

  • $XONTRIB_CD_ALTSYMLINKFLAG = True to pass -p, -f, or -s flags (in addition to -P) to follow symlinks
  • $XONTRIB_CD_ALTSYMLINKFUNC = True to use cdp, cdf, or cds (in addition to cd -P) to follow symlinks
  • $XONTRIB_CD_SYMLINKAlWAYSON = True to make cd always follow symlinks (always pass -P)

Known issues

To be discovered...

Credits

This package was created with xontrib cookiecutter template based on the idea of hooking into the command line input as implemented in xontrib-sh

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xontrib_cd-0.2.0.tar.gz (3.2 kB view hashes)

Uploaded Source

Built Distribution

xontrib_cd-0.2.0-py3-none-any.whl (3.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page