Skip to main content

Jump to used before directory by part of the path. Lightweight zero-dependency implementation of autojump or zoxide projects functionality.

Project description

Jump to used before directory by part of the path in xonsh shell.
Lightweight zero-dependency implementation of autojump or zoxide projects functionality.

If you like the idea click ⭐ on the repo and tweet.

Note

This xontrib is using xonsh sqlite history backend to get statistics by directories you're used to run commands.

Installation

To install use pip:

xpip install xontrib-jump-to-dir
# OR: xpip install -U git+https://github.com/anki-code/xontrib-jump-to-dir

Usage

Init:

# Check that you're using sqlite history in ~/.xonshrc
$XONSH_HISTORY_BACKEND = 'sqlite'
xontrib load jump_to_dir

Jump to directory by path:

mkdir -p /tmp/hello /tmp/world
cd /tmp/hello
echo 1
echo 2
echo 3
cd /tmp/world
echo 1
cd /

j           # Jump to most frequent directory i.e. `/tmp/hello/` because 3 `echo` commands were executed.
j wor       # Jump to directory with `*wor*` in path i.e. `/tmp/world/`.
j t he      # Jump to directory with `*t*he*` in path i.e. `/tmp/hello/`.

Jump to directory by command:

cd /tmp
echo 112233
cd /
jc 22       # Jump to the directory where `*22*` command executed i.e. `/tmp`.

Custom shortcut:

$XONTRIB_JUMP_TO_DIR_SHORTCUT = 'z'
xontrib load jump_to_dir
z tm            # Jump to previous directory with `*tm*` in path e.g. `/tmp/`
zc git commit   #Jump to previous directory where `*git*commit*` command executed e.g. `/git/`

How it works

The history database has the commands you run and the directory where you was. The xontrib sorts the directories from history database by count of executed commands and filter them by mask e.g. the j tm command will find the directories by mask *tm*. Then you jump into the existing directory with the highest number of executed commands or if you already there to the previous directory by statistics. So if you have no commands that were executed in /example directory please avoid expectation that you can jump to it by running j ex.

If you want to add fallback functionality to jump to any directory by partial path in case of zero result in history database (e.g. j o lo bi will jump to /opt/local/bin) feel free to create PR.

Environment variables

  • XONTRIB_JUMP_TO_DIR_SHORTCUT - shortcut string. Default j.
  • XONTRIB_JUMP_TO_DIR_WARNING - show warnings from xontrib. Default True.

Credits

This package was created with xontrib template.

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_jump_to_dir-0.2.1.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

xontrib_jump_to_dir-0.2.1-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file xontrib_jump_to_dir-0.2.1.tar.gz.

File metadata

  • Download URL: xontrib_jump_to_dir-0.2.1.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for xontrib_jump_to_dir-0.2.1.tar.gz
Algorithm Hash digest
SHA256 1e1ad6bf4e22e150e331d34a3accba2b5c0551c7e255cd34e7e2501f87228ade
MD5 1ad34bd28d317cd2da6ce8fc4240ff68
BLAKE2b-256 30a563ca2d932f3c12ef5dca014648e018a26b438e0d5dea2e8302a3d08bef71

See more details on using hashes here.

File details

Details for the file xontrib_jump_to_dir-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for xontrib_jump_to_dir-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ec828b0758295f4765e78677a4c17e7c175a9316829fd7b3993f467c9c252407
MD5 31baa51369a2339e25b38010d5be950a
BLAKE2b-256 757384b9eda3f45a38896eaa0c3d2fd5b6c58dbd9bdd70b860eed3663d39064d

See more details on using hashes here.

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