aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
Commit message (Collapse)AuthorAgeFilesLines
* cdr: delete unwanted contexts with d prefix.Kaz Kylheku2024-03-141-1/+2
| | | | | | | * cdlog.sh (cdlog.recover): Support d prefix. We only mention it in the prompt if there are two or more contexts. * README.md: Documented.
* cd: support 1-9 argument, like mcd.Kaz Kylheku2024-03-141-2/+4
| | | | | | | | | * cdlog.sh (cdlog.chdir): Check for the directory argument being a value 1 to 9, and substitue the indicated cdlog_hist entry. * README.md: Document. Also correct reference to cdlog_fifo which should be cdlog_hist.
* pd: implement -f option.Kaz Kylheku2024-03-141-0/+3
| | | | | | | | | | | | Problem: when the cdlog contains a directory that cannot be entered, for instance due to not existing any more, we would like to delete it with "pd", but cannot. * cdlog.sh (cdlog.pop): Implement -f (force) option which will ignore the failing cd command and delete the entry anyway. Fix typo in header comment. * README.md: Mention -f in description of `pd` alias.
* Commands for listing and deleting cd aliases.Kaz Kylheku2024-03-071-0/+4
| | | | | | | | * cdlog.sh (cdlog.alias): Check against empty alias name. (cdlog.aliases, cdlog.unalias): New functions. (cdaliases, cdunalias): New aliases. * README.md: Documented.
* Allow unlimited internal history.Kaz Kylheku2024-02-251-12/+12
| | | | | | | | | | | | | | | | * cdlog.sh (cdlog_fifo): Renamed to cdlog_hist. * README.md: All references to FIFO replaced with "history". Claims that the FIFO is nine elements long are removed. (cdlog.update): Save the entire array, not relying on the nine $c1 through $c9 variables. (cdlog.init): Reinitialize by deleting the elements of the cdlog_hist array. (cdlog.recover): Print only up to 10 entries from the files. (cdlog.chdir): Remove array limits; let it grow. (cdlog.pop): Pop the entire array, not just nine entries. Unset the array entry rather than blanking it.
* Use global array for FIFO.Kaz Kylheku2024-02-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | | The $c1 to $c9 variables are now just derived items. * cdlog.sh (cdlog_fifo): New array variable. (cdlog.args): Now all this function does is copy from the array to the short variables. (cdlog.update): Now calls cdlog.args to copy ${cdlog_fifo[@]} to $c1 to $c9. (cdlog.init): Initialize dclog_fifo via ${d[]} alias, and call cdlog.args to also init the short variables. (cdlog.recover): Map from file directly into cdlog_fifo array, and call cdlog.update instead of cdlog.args. (cdlog.chdir, cdlog.rot, cdlog.pop): Local array d is alias for cdlog_fifo. Use cdlog.update instead of cdlog.args. (cdlog.mcd): Local array d is alias for cdlog_fifo. * README.md: Don't say that the FIFO is stored in variables c1 through c9 but in in the cdlog_fifo array. The variables are now for convenience only.
* Add tab completion for cd aliases.Kaz Kylheku2024-02-231-0/+6
| | | | | | | | | * README.md: Documented. * cdlog.sh (cdlog.complete): Completion function that completes on directories, including CDPATH, as well as cdlog's cd aliases. (toplevel): Register the completion function.
* New, LRU mode; better than removed autocs feature.Kaz Kylheku2024-02-231-0/+18
| | | | | | | | | * cdlog.sh (cdlog_lru): New Boolean configuration variable, blank/false by default. (cdlog.chdir): If cdlog_lru is true, perform the rotation through to the most recent occurrence of the new directory. * README.md: Documented.
* Revert "Implement autocs mode."Kaz Kylheku2024-02-231-10/+0
| | | | This reverts commit efcc4b981d2a10ac3b10522c596f8bf9ddff6ff9.
* New cd alias feature.Kaz Kylheku2024-02-231-0/+15
| | | | | | | | | * cdlog.sh (cdlog_alias): New global array. * README.md: Documented. (cdlog.chdir): Check for and expand alias. (cdlog.alias): New function. (cdalias): New alias.
* Implement autocs mode.Kaz Kylheku2024-02-221-0/+10
| | | | | | | | | | | * cdlog.sh (cdlog_autocs): New variable. (cdlog.chdir): Implement autocs logic, if enabled. (cdlog.mcd): Use Bash dynamic scoping to override the cdlog_autocs variable false; we don't want mcd to have swapping semantics regardless of autocs mode; the user must use the distinct command mcs. * README.md: Documented.
* Split off recovery from initialization.Kaz Kylheku2024-02-131-2/+7
| | | | | | | | | | | | | | Prompting the user on startup can be a nuisance. For instance, each time I make a new shell out of a text editor, I get the prompt. Let's just leave the user in a new context, and make it an explicit command to switch context. * cdlog.sh (cdlog.init): Remove logic for selecting a new context, leaving only the allocation of a new context. (cdlog.recover): New function, split off from cdlog.init. (cdr): New alias. * README.md: Documented.
* Implement multiple persisted sessions.Kaz Kylheku2024-02-081-5/+11
| | | | | | | | | | | * cdlog.sh (cdlog.update): Name of file is now in $cdlog_dirs. (cdlog.get_param): New function. (cdlog.init): Implement the LRU session selection and optional recovery. The variable $cdlog_dirs is established, pointing to the selected session file. (mainline): Run cdlog.init if $cdlog_dirs is empty. * README.md: Documented.
* Persist state in ~/.cdlog.dirs.Kaz Kylheku2024-02-081-0/+11
| | | | | | | | | | | | | | | | | * cdlog.sh (cdlog.nicks): Function removed. (cdlog.update): New function, performing task of cdlog.nicks as well as persistence to ~/.cdlog.dirs file. (cdlog.init): New function that initializes the c1-c9 variables. (mainline): Call cdlog.init. This is now done later in the file after the function definitions. (cdlog.args, cdlog.chdir): Call cdlog.update instead of cdlog.nicks. This is also how the variables $x to $w will be set the first time when recovering state, because cdlog.init calls cdlog.args to install the FIFO, and cdlog.args will call cdlog.update. * README.md: Documented.
* pd: support optional argument about which entry to pop.Kaz Kylheku2024-02-031-3/+5
| | | | | | | * cdlog.sh (cdlog.pop): Rewritten to take argument 1-9, and iterate from there. * README.md: Documented.
* cll command to list all nine.Kaz Kylheku2024-02-011-1/+2
| | | | | | | | * cdlog.sh (cdlog): Take -l option to print all nine directories in the FIFO. (cll): New alias, for cdlog -l. * README.md: Documented.
* New: mcd, mcs: menu-based cd and cs.Kaz Kylheku2024-01-251-0/+6
| | | | | | | * cdlog.sh (cdlog.mcd): New function. (mcd, mcs): New aliases. * README.md: Documented.
* Add cl alias for cdlog.Kaz Kylheku2024-01-231-2/+2
|
* README update.Kaz Kylheku2024-01-191-2/+5
|
* Generalize swap to rotate.Kaz Kylheku2024-01-191-1/+5
| | | | | | | | * cdlog.sh (cdlog.swap): Function removed. (cdlog.rot): New function. (cs): Alias now points to cdlog.rot. * README.md: Updated.
* cs takes argument; swapping behavior removed from cd.Kaz Kylheku2024-01-191-16/+5
| | | | | | | | * cdlog.sh (cdlog.chdir): No specifial behavior when $PWD equals $c1. (cdlog.swap): Swapping behavior implemented here now, with optional numeric argument to swap with entries other than first.
* README: mention exporting advantage.Kaz Kylheku2024-01-181-0/+4
|
* README: add section listing advantages.Kaz Kylheku2024-01-181-0/+27
|
* Add README.md.Kaz Kylheku2024-01-181-0/+52