cdhist


Namecdhist JSON
Version 4.0 PyPI version JSON
download
home_pageNone
SummaryProgram to provide a Linux cd history directory stack
upload_time2024-11-02 22:53:13
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseGPLv3
keywords bash zsh cd fzf git worktree
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## Linux Directory History
[![PyPi](https://img.shields.io/pypi/v/cdhist)](https://pypi.org/project/cdhist/)
[![AUR](https://img.shields.io/aur/version/cdhist)](https://aur.archlinux.org/packages/cdhist/)

[cdhist](http://github.com/bulletmark/cdhist) is a utility which
provides a Linux shell **cd history** directory stack. A shell `cd`
wrapper function calls cdhist to intercept your typed `cd` command and
maintain an ordered stack of all directories you have previously visited
which can be listed and quickly navigated to.

[cdhist](http://github.com/bulletmark/cdhist) can also be used with the
[Command Line Fuzzy Finder](https://github.com/junegunn/fzf) `fzf` to
fuzzy search and select on previously visited directories, and can be
used to easily `cd` between [`git worktree`](https://git-scm.com/docs/git-worktree)
directories. See the sections below about [FZF
Integration](#fzf-integration) and [Git Worktree
Integration](#git-worktree-integration).

The latest version and documentation is available at
http://github.com/bulletmark/cdhist.

## Example Usage

Use the `cd` command to change directory as normal:

```sh
$ cd /tmp
$ cd /etc
$ cd /usr/share/doc
$ cd /boot/loader
$ cd ~/etc
$ cd
```

At any point you can use the `cd --` command to list all your previously
visited directories and be prompted for one to select and `cd` to:

```
$ cd --
  6 ...
  5 /tmp
  4 /etc
  3 /usr/share/doc
  2 /boot/loader
  1 ~/etc
  0 ~
Select index [or <enter> to quit]: 3
$ pwd
/usr/share/doc
```

That's it! The above is all you really need to know. Instead of having
to type the directory name you merely enter it's index. The directories
are displayed most recently visited last, without duplicates. Index 0 is
the current directory, index 1 is the previous, index 2 is the second
previous, up to a user configurable number (default 50). Other available
commands and options are:

List the current stack and its indices (without prompting):

```sh
$ cd -l
```

Change immediately to directory corresponding to stack index 4:

```sh
$ cd -4
```

Search back through stack for directory containing "string" and `cd`
there:

```sh
$ cd -/string
```

Note, you can also type `string` at the `cd --` prompt to search.

Show help/usage:

```sh
$ cd -h
```

## Installation

Arch users can install [cdhist from the
AUR](https://aur.archlinux.org/packages/cdhist/) and skip to the next
section.

Python 3.8 or later is required. Note [cdhist is on
PyPI](https://pypi.org/project/cdhist/) so just ensure that
[`pipx`](https://pypa.github.io/pipx/) is installed then type the
following:

```
$ pipx install cdhist
```

To upgrade:

```
$ pipx upgrade cdhist
```

## Setup

A user who wants to use the cdhist facility should add the following
lines to their `~/.bashrc` or `~/.zshrc` file (after where your PATH is
set up so that the command `cdhist` can be found). This creates the `cd`
wrapper command in your interactive shell session as a tiny function.
Note you can [customize the command name](#alternative-command-name) if
you want.

```sh
if type cdhist &>/dev/null; then
    . <(cdhist -i)
fi
```

Then log out and back in again.

## FZF Integration

The popular [Command Line Fuzzy Finder](https://github.com/junegunn/fzf)
`fzf` can easily be integrated with cdhist to provide fuzzy search
navigation over your directory history. Set the following in your
environment to have `fzf` search the directories recorded by cdhist:

```sh
export FZF_ALT_C_COMMAND="cat $HOME/.cd_history"
```

You also should make a small change to the way you source the `fzf`
key-bindings and completions into your shell to ensure that the `cd`
command is not aliased to `builtin cd` and instead invokes the `cdhist`
command.

E.g. for `bash`, in your `~/.bashrc`, instead of `eval "$(fzf --bash)"`
as suggested by the [`fzf` documentation](
https://github.com/junegunn/fzf?tab=readme-ov-file#setting-up-shell-integration),
use:

```sh
eval "$(fzf --bash | sed 's/builtin cd/cd/g')"
```

E.g. for `zsh`, in your `~/.zshrc`, instead of `source <(fzf --zsh)`
as suggested by the [`fzf` documentation](
https://github.com/junegunn/fzf?tab=readme-ov-file#setting-up-shell-integration),
use:

```sh
source <(fzf --zsh | sed 's/builtin cd/cd/g')
```

After doing this (and reloading your shell session), you can use the
`fzf` key binding `<ALT+C>` to have `fzf` list all your previous
directories and fuzzy match on them for selection as you type. `fzf` can
also provide fancy [directory
previews](https://github.com/junegunn/fzf/wiki/Configuring-shell-key-bindings#preview-1)
using `tree`, etc. Of course the cdhist native command `cd --` and
other cdhist commands described above are still available, in addition
to the `fzf` key binding.

### Pruning Non-Existent Directories
If you prefer that directories that do not exist are excluded from `fzf`
and your `cd` history (i.e. exclude directories that have been deleted
since they were last visited), then you can define the `fzf` command as:

```sh
export FZF_ALT_C_COMMAND="cdhist -p && cat $HOME/.cd_history"
```

An alternative is to always exclude non-existent directories from your
cd history by setting the `--prune-always` as a [default
option](#default-options).

## Alternative Command Name

Some people may prefer not to alias their system `cd` command to this
utility and just use an alternative unique command name. To do this,
simply add your desired command name as an extra argument to the
`cdhist` command in your shell initialization code. E.g, to use the
command name `xd` rather than `cd`, use the following in
your `~/.bashrc` or `~/.zshrc` file:

```sh
if type cdhist &>/dev/null; then
    . <(cdhist -i xd)
fi
```

Then log out/in, and then just type `xd /tmp` to change dir, `xd --` to see
and select directories, etc.

## GIT Worktree Integration

[cdhist](http://github.com/bulletmark/cdhist) can be used to easily `cd`
between [git worktree](https://git-scm.com/docs/git-worktree)
directories. You use the `cd -g` command to list all your worktrees and
be prompted for one to select, and then you will be switched to the
associated directory, and it will be added to your `cd` history.

```sh
# Current directory:
$ pwd
/home/mark/src/myprog

# List worktrees using standard git command:
$ git worktree list
/home/mark/src/myprog       f76b8e0 [main]
/home/mark/src/development  9796714 [development]
/home/mark/src/milestone1   bc921b8 [milestone1]
/home/mark/src/test         e6d965a [test]

# Alternately, use cdhist to list worktrees and choose one to navigate to:
$ cd -g
  3 ~/src/development 9796714 [development]
  2 ~/src/milestone1  bc921b8 [milestone1]
  1 ~/src/test        e6d965a [test]
  0 ~/src/myprog      f76b8e0 [main]
Select index [or <enter> to quit]: 2

$ pwd
/home/mark/src/milestone1

# Or, use cdhist to navigate to worktree dir for given branch name or
# commit:
$ cd -g main
$ pwd
/home/mark/src/myprog

```

Instead of having to type the full git repository directory name you
merely are prompted with a list and enter it's index. Or just directly
enter the branch name (or commit hash). The directories are displayed in
the same order as the output of the `git worktree list` command, except
that the git directory corresponding to the current working directory is
shown first (index 0) consistent with how the current directory is shown
at index 0 for normal cd history and thus conveniently showing you which
git worktree you are currently in which `git worktree list`
unfortunately does not show.

In you enter text instead of an index, you only need to enter as much of
the branch name, or commit hash, as needed to be unique. Note that `cd
-g` nicely presents paths based from your HOME directory with a tilde
(`~`) unlike the longer full path displayed by `git worktree list`
(although you can change that with the `-u/--no-user` option, likely set
as a [default option](#default-options)).

### Relative Git Worktree Directories

The `git worktree list` command displays absolute directory paths, and
cdhist does also by default, but many users prefer them displayed
as relative paths. The Git worktree command does not provide this but
you can enable it in cdhist by adding the `-r/--relative` option, e.g:

```sh
$ cd -gr
  3 ../development 9796714 [development]
  2 ../milestone1  bc921b8 [milestone1]
  1 ../test        e6d965a [test]
  0 .              f76b8e0 [main]
Select index [or <enter> to quit]:
```

Most likely you will want to set this as your default so do that by
adding `--relative` as a [default option](#default-options).

### Git Worktree Functionality Alone

Some users may want the git worktree functionality provided by cdhist
but are not interested in the standard `cd` history functionality, or
alternately, want to use a completely separate command for the git
worktree functionality. To do this, simply add your desired command name
and the git option as an extra argument to the `cdhist` command in your
shell initialization code. E.g, to use the command name `wt` for git
worktree functionality (only), add the following in your
`~/.bashrc` or `~/.zshrc` file:

```sh
if type cdhist &>/dev/null; then
    . <(cdhist -i "wt -g")
fi
```

Then log out/in, and then just type `wt` to list the git worktrees and
be prompted to select the directory etc. Of course, you can define this
`wt` command in parallel to using cdhist for your `cd` command if
you want.

## Default Options

You can set default cdhist options by adding options in your shell
initialization code, e.g:

```sh
if type cdhist &>/dev/null; then
    . <(cdhist -i "cd -arm 200")
fi
```

The above sets `-a (--purge-always)`, `-r (--git-relative)`, and `-m
(--size) 200` options as defaults for your `cd` command. Best to use the
short option names to keep the imported shell function definition
concise.

Note you can create one alias for your `cd` command, and another alias
for your git worktree command (e.g. `wt`), and both can have different
cdhist options.

The following options are sensible candidates to set as default options:
`-a/--purge-always`, `-r/--git-relative`, `-u/--no-user`, `-m/--size`.

Note if you set `-r/--git-relative` or `-u/--no-user` options as default
then options `-R/--no-git-relative` and `-U/--user` exist to allow you
to temporarily override those defaults via the command line.

## Command Line Usage

Type `cdhist -h` to view the usage summary:

```
usage: cdhist [-i] [-h] [-p] [-a] [-g] [-r] [-R] [-u] [-U] [-l] [-m SIZE]
                   [-n NUM_LINES] [-L] [-P] [-V]
                   [directory]

A Linux shell directory stack "cd history" function.

positional arguments:
  directory             directory (or branch for git worktree) to cd to, or
                        "--" to list history and prompt, or "-n" for n'th
                        entry in list or "-/<string>" to match for "string" in
                        dir

options:
  -i, --init            output shell initialization code. Optionally specify
                        alternative command name as argument, default="cd"
  -h, --help            show help/usage
  -p, --purge           just purge non-existent directories from history
  -a, --purge-always    always purge non-existent directories every write
  -g, --git             show git worktree directories instead
  -r, --git-relative    show relative git worktree paths instead of absolute
  -R, --no-git-relative
                        do not show relative git worktree paths (default)
  -u, --no-user         do not substitute "~" for home directory
  -U, --user            do substitute "~" for home directory (default)
  -l, --list            just list directory history
  -m SIZE, --size SIZE  maximum size of directory history (default=50)
  -n NUM_LINES, --num-lines NUM_LINES
                        limit output to specified number of lines
  -L, --follow-links    follow symbolic links (default=true)
  -P, --follow-physical
                        follow links to physical directory
  -V, --version         just output cdhist version
```

## Limitations

Regular `cd`, e.g. as provided by the bash builtin, offers some esoteric
command line options such as `-e` and `-@`, and shell options such as
`autocd`, `cdspell`, `cdable_vars`. These rarely used options are not
supported by cdhist.

## License

Copyright (C) 2010 Mark Blakeney. This program is distributed under the
terms of the GNU General Public License.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or any later
version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License at <http://www.gnu.org/licenses/> for more details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cdhist",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "bash, zsh, cd, fzf, git, worktree",
    "author": null,
    "author_email": "Mark Blakeney <mark.blakeney@bullet-systems.net>",
    "download_url": "https://files.pythonhosted.org/packages/25/15/870e372580a68000ea1fa0969553c91c9e68ca9b96ad9f7d0eb3f913db79/cdhist-4.0.tar.gz",
    "platform": null,
    "description": "## Linux Directory History\n[![PyPi](https://img.shields.io/pypi/v/cdhist)](https://pypi.org/project/cdhist/)\n[![AUR](https://img.shields.io/aur/version/cdhist)](https://aur.archlinux.org/packages/cdhist/)\n\n[cdhist](http://github.com/bulletmark/cdhist) is a utility which\nprovides a Linux shell **cd history** directory stack. A shell `cd`\nwrapper function calls cdhist to intercept your typed `cd` command and\nmaintain an ordered stack of all directories you have previously visited\nwhich can be listed and quickly navigated to.\n\n[cdhist](http://github.com/bulletmark/cdhist) can also be used with the\n[Command Line Fuzzy Finder](https://github.com/junegunn/fzf) `fzf` to\nfuzzy search and select on previously visited directories, and can be\nused to easily `cd` between [`git worktree`](https://git-scm.com/docs/git-worktree)\ndirectories. See the sections below about [FZF\nIntegration](#fzf-integration) and [Git Worktree\nIntegration](#git-worktree-integration).\n\nThe latest version and documentation is available at\nhttp://github.com/bulletmark/cdhist.\n\n## Example Usage\n\nUse the `cd` command to change directory as normal:\n\n```sh\n$ cd /tmp\n$ cd /etc\n$ cd /usr/share/doc\n$ cd /boot/loader\n$ cd ~/etc\n$ cd\n```\n\nAt any point you can use the `cd --` command to list all your previously\nvisited directories and be prompted for one to select and `cd` to:\n\n```\n$ cd --\n  6 ...\n  5 /tmp\n  4 /etc\n  3 /usr/share/doc\n  2 /boot/loader\n  1 ~/etc\n  0 ~\nSelect index [or <enter> to quit]: 3\n$ pwd\n/usr/share/doc\n```\n\nThat's it! The above is all you really need to know. Instead of having\nto type the directory name you merely enter it's index. The directories\nare displayed most recently visited last, without duplicates. Index 0 is\nthe current directory, index 1 is the previous, index 2 is the second\nprevious, up to a user configurable number (default 50). Other available\ncommands and options are:\n\nList the current stack and its indices (without prompting):\n\n```sh\n$ cd -l\n```\n\nChange immediately to directory corresponding to stack index 4:\n\n```sh\n$ cd -4\n```\n\nSearch back through stack for directory containing \"string\" and `cd`\nthere:\n\n```sh\n$ cd -/string\n```\n\nNote, you can also type `string` at the `cd --` prompt to search.\n\nShow help/usage:\n\n```sh\n$ cd -h\n```\n\n## Installation\n\nArch users can install [cdhist from the\nAUR](https://aur.archlinux.org/packages/cdhist/) and skip to the next\nsection.\n\nPython 3.8 or later is required. Note [cdhist is on\nPyPI](https://pypi.org/project/cdhist/) so just ensure that\n[`pipx`](https://pypa.github.io/pipx/) is installed then type the\nfollowing:\n\n```\n$ pipx install cdhist\n```\n\nTo upgrade:\n\n```\n$ pipx upgrade cdhist\n```\n\n## Setup\n\nA user who wants to use the cdhist facility should add the following\nlines to their `~/.bashrc` or `~/.zshrc` file (after where your PATH is\nset up so that the command `cdhist` can be found). This creates the `cd`\nwrapper command in your interactive shell session as a tiny function.\nNote you can [customize the command name](#alternative-command-name) if\nyou want.\n\n```sh\nif type cdhist &>/dev/null; then\n    . <(cdhist -i)\nfi\n```\n\nThen log out and back in again.\n\n## FZF Integration\n\nThe popular [Command Line Fuzzy Finder](https://github.com/junegunn/fzf)\n`fzf` can easily be integrated with cdhist to provide fuzzy search\nnavigation over your directory history. Set the following in your\nenvironment to have `fzf` search the directories recorded by cdhist:\n\n```sh\nexport FZF_ALT_C_COMMAND=\"cat $HOME/.cd_history\"\n```\n\nYou also should make a small change to the way you source the `fzf`\nkey-bindings and completions into your shell to ensure that the `cd`\ncommand is not aliased to `builtin cd` and instead invokes the `cdhist`\ncommand.\n\nE.g. for `bash`, in your `~/.bashrc`, instead of `eval \"$(fzf --bash)\"`\nas suggested by the [`fzf` documentation](\nhttps://github.com/junegunn/fzf?tab=readme-ov-file#setting-up-shell-integration),\nuse:\n\n```sh\neval \"$(fzf --bash | sed 's/builtin cd/cd/g')\"\n```\n\nE.g. for `zsh`, in your `~/.zshrc`, instead of `source <(fzf --zsh)`\nas suggested by the [`fzf` documentation](\nhttps://github.com/junegunn/fzf?tab=readme-ov-file#setting-up-shell-integration),\nuse:\n\n```sh\nsource <(fzf --zsh | sed 's/builtin cd/cd/g')\n```\n\nAfter doing this (and reloading your shell session), you can use the\n`fzf` key binding `<ALT+C>` to have `fzf` list all your previous\ndirectories and fuzzy match on them for selection as you type. `fzf` can\nalso provide fancy [directory\npreviews](https://github.com/junegunn/fzf/wiki/Configuring-shell-key-bindings#preview-1)\nusing `tree`, etc. Of course the cdhist native command `cd --` and\nother cdhist commands described above are still available, in addition\nto the `fzf` key binding.\n\n### Pruning Non-Existent Directories\nIf you prefer that directories that do not exist are excluded from `fzf`\nand your `cd` history (i.e. exclude directories that have been deleted\nsince they were last visited), then you can define the `fzf` command as:\n\n```sh\nexport FZF_ALT_C_COMMAND=\"cdhist -p && cat $HOME/.cd_history\"\n```\n\nAn alternative is to always exclude non-existent directories from your\ncd history by setting the `--prune-always` as a [default\noption](#default-options).\n\n## Alternative Command Name\n\nSome people may prefer not to alias their system `cd` command to this\nutility and just use an alternative unique command name. To do this,\nsimply add your desired command name as an extra argument to the\n`cdhist` command in your shell initialization code. E.g, to use the\ncommand name `xd` rather than `cd`, use the following in\nyour `~/.bashrc` or `~/.zshrc` file:\n\n```sh\nif type cdhist &>/dev/null; then\n    . <(cdhist -i xd)\nfi\n```\n\nThen log out/in, and then just type `xd /tmp` to change dir, `xd --` to see\nand select directories, etc.\n\n## GIT Worktree Integration\n\n[cdhist](http://github.com/bulletmark/cdhist) can be used to easily `cd`\nbetween [git worktree](https://git-scm.com/docs/git-worktree)\ndirectories. You use the `cd -g` command to list all your worktrees and\nbe prompted for one to select, and then you will be switched to the\nassociated directory, and it will be added to your `cd` history.\n\n```sh\n# Current directory:\n$ pwd\n/home/mark/src/myprog\n\n# List worktrees using standard git command:\n$ git worktree list\n/home/mark/src/myprog       f76b8e0 [main]\n/home/mark/src/development  9796714 [development]\n/home/mark/src/milestone1   bc921b8 [milestone1]\n/home/mark/src/test         e6d965a [test]\n\n# Alternately, use cdhist to list worktrees and choose one to navigate to:\n$ cd -g\n  3 ~/src/development 9796714 [development]\n  2 ~/src/milestone1  bc921b8 [milestone1]\n  1 ~/src/test        e6d965a [test]\n  0 ~/src/myprog      f76b8e0 [main]\nSelect index [or <enter> to quit]: 2\n\n$ pwd\n/home/mark/src/milestone1\n\n# Or, use cdhist to navigate to worktree dir for given branch name or\n# commit:\n$ cd -g main\n$ pwd\n/home/mark/src/myprog\n\n```\n\nInstead of having to type the full git repository directory name you\nmerely are prompted with a list and enter it's index. Or just directly\nenter the branch name (or commit hash). The directories are displayed in\nthe same order as the output of the `git worktree list` command, except\nthat the git directory corresponding to the current working directory is\nshown first (index 0) consistent with how the current directory is shown\nat index 0 for normal cd history and thus conveniently showing you which\ngit worktree you are currently in which `git worktree list`\nunfortunately does not show.\n\nIn you enter text instead of an index, you only need to enter as much of\nthe branch name, or commit hash, as needed to be unique. Note that `cd\n-g` nicely presents paths based from your HOME directory with a tilde\n(`~`) unlike the longer full path displayed by `git worktree list`\n(although you can change that with the `-u/--no-user` option, likely set\nas a [default option](#default-options)).\n\n### Relative Git Worktree Directories\n\nThe `git worktree list` command displays absolute directory paths, and\ncdhist does also by default, but many users prefer them displayed\nas relative paths. The Git worktree command does not provide this but\nyou can enable it in cdhist by adding the `-r/--relative` option, e.g:\n\n```sh\n$ cd -gr\n  3 ../development 9796714 [development]\n  2 ../milestone1  bc921b8 [milestone1]\n  1 ../test        e6d965a [test]\n  0 .              f76b8e0 [main]\nSelect index [or <enter> to quit]:\n```\n\nMost likely you will want to set this as your default so do that by\nadding `--relative` as a [default option](#default-options).\n\n### Git Worktree Functionality Alone\n\nSome users may want the git worktree functionality provided by cdhist\nbut are not interested in the standard `cd` history functionality, or\nalternately, want to use a completely separate command for the git\nworktree functionality. To do this, simply add your desired command name\nand the git option as an extra argument to the `cdhist` command in your\nshell initialization code. E.g, to use the command name `wt` for git\nworktree functionality (only), add the following in your\n`~/.bashrc` or `~/.zshrc` file:\n\n```sh\nif type cdhist &>/dev/null; then\n    . <(cdhist -i \"wt -g\")\nfi\n```\n\nThen log out/in, and then just type `wt` to list the git worktrees and\nbe prompted to select the directory etc. Of course, you can define this\n`wt` command in parallel to using cdhist for your `cd` command if\nyou want.\n\n## Default Options\n\nYou can set default cdhist options by adding options in your shell\ninitialization code, e.g:\n\n```sh\nif type cdhist &>/dev/null; then\n    . <(cdhist -i \"cd -arm 200\")\nfi\n```\n\nThe above sets `-a (--purge-always)`, `-r (--git-relative)`, and `-m\n(--size) 200` options as defaults for your `cd` command. Best to use the\nshort option names to keep the imported shell function definition\nconcise.\n\nNote you can create one alias for your `cd` command, and another alias\nfor your git worktree command (e.g. `wt`), and both can have different\ncdhist options.\n\nThe following options are sensible candidates to set as default options:\n`-a/--purge-always`, `-r/--git-relative`, `-u/--no-user`, `-m/--size`.\n\nNote if you set `-r/--git-relative` or `-u/--no-user` options as default\nthen options `-R/--no-git-relative` and `-U/--user` exist to allow you\nto temporarily override those defaults via the command line.\n\n## Command Line Usage\n\nType `cdhist -h` to view the usage summary:\n\n```\nusage: cdhist [-i] [-h] [-p] [-a] [-g] [-r] [-R] [-u] [-U] [-l] [-m SIZE]\n                   [-n NUM_LINES] [-L] [-P] [-V]\n                   [directory]\n\nA Linux shell directory stack \"cd history\" function.\n\npositional arguments:\n  directory             directory (or branch for git worktree) to cd to, or\n                        \"--\" to list history and prompt, or \"-n\" for n'th\n                        entry in list or \"-/<string>\" to match for \"string\" in\n                        dir\n\noptions:\n  -i, --init            output shell initialization code. Optionally specify\n                        alternative command name as argument, default=\"cd\"\n  -h, --help            show help/usage\n  -p, --purge           just purge non-existent directories from history\n  -a, --purge-always    always purge non-existent directories every write\n  -g, --git             show git worktree directories instead\n  -r, --git-relative    show relative git worktree paths instead of absolute\n  -R, --no-git-relative\n                        do not show relative git worktree paths (default)\n  -u, --no-user         do not substitute \"~\" for home directory\n  -U, --user            do substitute \"~\" for home directory (default)\n  -l, --list            just list directory history\n  -m SIZE, --size SIZE  maximum size of directory history (default=50)\n  -n NUM_LINES, --num-lines NUM_LINES\n                        limit output to specified number of lines\n  -L, --follow-links    follow symbolic links (default=true)\n  -P, --follow-physical\n                        follow links to physical directory\n  -V, --version         just output cdhist version\n```\n\n## Limitations\n\nRegular `cd`, e.g. as provided by the bash builtin, offers some esoteric\ncommand line options such as `-e` and `-@`, and shell options such as\n`autocd`, `cdspell`, `cdable_vars`. These rarely used options are not\nsupported by cdhist.\n\n## License\n\nCopyright (C) 2010 Mark Blakeney. This program is distributed under the\nterms of the GNU General Public License.\nThis program is free software: you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation, either version 3 of the License, or any later\nversion.\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License at <http://www.gnu.org/licenses/> for more details.\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "Program to provide a Linux cd history directory stack",
    "version": "4.0",
    "project_urls": {
        "Homepage": "https://github.com/bulletmark/cdhist"
    },
    "split_keywords": [
        "bash",
        " zsh",
        " cd",
        " fzf",
        " git",
        " worktree"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8754e0f8126accf491edfb32ab77f7e2bd6c1cbcf543b8bd445688a624e32d91",
                "md5": "60276e6e116a9b9d80cf01eb0dd01ea7",
                "sha256": "9c72f708b289804765c1ed4af8012d1e85fe6bbc2352b1b42968a51f90310630"
            },
            "downloads": -1,
            "filename": "cdhist-4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "60276e6e116a9b9d80cf01eb0dd01ea7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 12398,
            "upload_time": "2024-11-02T22:53:11",
            "upload_time_iso_8601": "2024-11-02T22:53:11.933890Z",
            "url": "https://files.pythonhosted.org/packages/87/54/e0f8126accf491edfb32ab77f7e2bd6c1cbcf543b8bd445688a624e32d91/cdhist-4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2515870e372580a68000ea1fa0969553c91c9e68ca9b96ad9f7d0eb3f913db79",
                "md5": "22b39b8f0712bf92901b3603cc248bbe",
                "sha256": "55458aba921a79154e365858cb9b1c048bb1a8b50334d6fff2c73384917ee8bb"
            },
            "downloads": -1,
            "filename": "cdhist-4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "22b39b8f0712bf92901b3603cc248bbe",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 16110,
            "upload_time": "2024-11-02T22:53:13",
            "upload_time_iso_8601": "2024-11-02T22:53:13.814347Z",
            "url": "https://files.pythonhosted.org/packages/25/15/870e372580a68000ea1fa0969553c91c9e68ca9b96ad9f7d0eb3f913db79/cdhist-4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-02 22:53:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bulletmark",
    "github_project": "cdhist",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "cdhist"
}
        
Elapsed time: 1.26063s