Skip to content

Latest commit

 

History

History
929 lines (465 loc) · 48.3 KB

CHANGELOG.md

File metadata and controls

929 lines (465 loc) · 48.3 KB

6.0.0 (2024-11-12)

⚠️ Has breaking changes. If you do advanced configuration, read the migration guide and/or read about pinning v5.x.

https://zsh-abbr.olets.dev/ is now the v6 docs. The v5 docs are available at https://v5.zsh-abbr.olets.dev/.

See also the v6.0.0 beta releases' release notes, below.

Bug Fixes

  • cursor: do not treat markers as patterns [#140] (4449f42)

6.0.0-beta.2 (2024-10-31)

Bug Fixes

  • reminders: fix [#154]

6.0.0-beta.1 (2024-10-29)

Drop deprecated things; introduce history, prefixes, and reminders.

5.8.3 (2024-10-08)

Bug Fixes

  • sync user: 'mv': do not follow aliases or custom functions [#149] (58e0896)

Features

  • github: 'accepted feature request' issue template (4a5b1c9)
  • publish-release workflow: pin mislav/bump-homebrew-formula-action at v3.1 (07a02be)

Tests

Increase coverage, including some breaking tests related to #118.

5.8.2 (2024-07-29)

Cleans up a Git conflict resolution mistake.

5.8.1 (2024-07-29)

Features

  • abbr-expand-and-space: deprecation warning points to abbr-expand-and-insert (752e9fc)
  • internal fns: prep for making internal only (805a236)

5.8.0 (2024-05-23)

Bug Fixes

  • abbr-expand-and-accept: redefine accept-line, for auto zsh-autosuggestions support [#91] (04b9b83)

Features

  • abbr-expand-and-accept: respect user-defined accept-line widget (3bac1fc)
  • init: do not choke if user sources zshrc in interactive shell (f59b7aa)

5.7.1 (2024-05-18)

  • completions: correct version number (fa4ca0e)

5.7.0 (2024-05-17)

Features

  • changelog: script (e3235c9)
  • tmpdir: new internal var instead of mutating user config var (d42a692)

5.6.0 (2024-05-16)

Bug Fixes

Features

  • ABBR_TMPDIR: distinct paths for un/privileged users [#54] (b740b01)
  • ABBR_TMPDIR: support configurations without trailing slash. Thanks to @ealap (7103519)

5.5.0 (2024-05-16)

⚠️ Yanked ⚠️

5.4.1 (2024-03-08)

Bug Fixes

  • abbr-expand-and-space: available to zle while deprecated (bb4ac60)

5.4.0 (2024-03-08)

Features

Cursor placement! With thanks to @burneyy (see #63)

  • abbr-expand widget: support placing cursor [#110] (6c688e0)
    • If ABBR_SET_EXPANSION_CURSOR (default 0) is non-zero, the expansion's first instance of ABBR_EXPANSION_CURSOR_MARKER (default $ABBR_CURSOR_MARKER (see below)) will be replaced with the cursor
  • abbr-expand-and-insert:
    • replaces deprecated abbr-expand-and-space (36667ce)
    • support checking buffer for cursor stops (52c9d3a)
      • If ABBR_SET_LINE_CURSOR (default 0) is non-zero and the cursor wasn't placed during expansion, the buffer's first instance of ABBR_LINE_CURSOR_MARKER (default %) will be replaced with the cursor

5.3.0 (2024-01-02)

Features

With this release, running tests requires zsh-test-runner v2.x

  • jobs: use zsh epoch time instead of date command [#106] (f3dcaf5)
  • tests: support current shell and subshell (070e903)
  • tests: temp file is deleted (7c02ea5)
  • tests: temp file is deleted (7c02ea5)

5.2.0 (2023-10-19)

Adds command completion and deprecates access to some internal functions.

Bug Fixes

  • precmd: no noise output (eaec694)

Features

Completions

  • completions: add for abbr commands [#104] (e67b3e1)
  • completions: import-git-aliases suggests files [#104] (74dfcc6)

Deprecations

  • _abbr:util_deprecated: deprecate (431ea27)
  • add, erase: do not export abbreviations_set variable (c25eb0b)
  • initialization: deprecate exported fns, use local instead... (d941318)
  • precmd: deprecate (e341f87)

Other

  • warn deprecation: replacement is optional (f2a33e6)

5.1.0 (2023-05-26)

Features

5.0.1 (2023-03-19)

Bug Fixes

  • expand: quotation marks are preserved (2cb3613)
  • Corrected false-negative tests

Features

  • expand: support multi-word string (70663b1)
  • Test suite runs multiple file, logs file names

5.0.0 (2023-02-23)

Has breaking changes. See the migration guide.

  • 🆕 Support for multi-word abbreviations
  • 🆕 New documentation site
  • 🆕 abbr git command!
  • 📄 Default ABBR_USER_ABBREVIATIONS_FILE is now ${XDG_CONFIG_HOME:-$HOME/.config}/zsh-abbr/user-abbreviations (but if you have a file in the legacy path ${XDG_CONFIG_HOME:-$HOME/.config}/zsh/abbreviations, that will be used instead)
  • ⚠️ zsh-syntax-highlighting users have to update their snippets
  • ⚠️ All features deprecated in the latest v4.x are dropped
  • License's ethics requirements are now Hippocratic License v3 (was HL v2.1)

For details see v5.0.0.beta-x release notes below.

5.0.0.beta-8 (2023-02-20)

Features

From 4.9.3:

  • actions: publishing releases automatically bumps homebrew (a87679d)
  • bench: add configs (4277de1)

5.0.0.beta-7 (2023-02-10)

Bug Fixes

From v4.9.2:

  • binaries: delete file missed in 347f2fa [#73] (627490b)

From v4.9.1:

  • man: correct version and release date (a6ae1c9)

5.0.0.beta-6 (2023-01-05)

Features

  • user file: default is now /zsh-abbr/user-abbreviations (aa3e42f)

5.0.0.beta-5 (2022-12-23)

Features

From v4.9:

5.0.0.beta-4 (2022-12-23)

Bug Fixes

From v4.8.4:

  • expand and accept: check for zsh-autosuggestion widget (8c84b54)

5.0.0.beta-3 (2022-12-16)

Bug Fixes

From v4.8.3:

  • expand-and-accept: accepting clears zsh-autosuggestions' suggestions [#67] (a994077)

Features

From v4.8.3:

  • expand-and-accept: use zsh-autosuggestions' recommendation for how to clear suggestions (a994077)

5.0.0.beta-2 (2022-11-19)

Features

From v4.8.2:

5.0.0.beta-1 (2022-11-06)

Notably the first release of multi-word abbreviations and the move of the documentation out of the README and into a dedicated site.

Features

  • multi-word abbreviations! Thanks to @henrebotha for discussion in #32
  • contributors: use all-contributors (32da6fb)
  • erase,add: remove some possibly unnecessary quoting (02b84b5)
  • expand: try all substrings from longest to shortest (4d8ea0f)
  • git: support new subcommand (364a4b0), (ceeca77)
  • import-git-aliases: create only one type (9979861)
  • license:
    • Hippocratic License v3 is released. Apply it in place of v2.1 clause (584be08)
    • add Sky's Edge-inspired stipulations (1c4c501)
  • widgets: drop support for deprecated names (6aedbe9)

4.9.5 (2023-02-24)

Updates in support of v5.0.0's release

4.9.4 (2023-02-21)

Update release date

4.9.3 (2023-02-21)

Features

  • actions: publishing releases automatically bumps homebrew (a87679d)
  • bench: add configs (4277de1)

4.9.2 (2023-02-10)

Bug Fixes

  • binaries: delete file missed in 347f2fa [#73] (627490b)

4.9 (2022-12-28)

Features

4.8.4 (2022-12-23)

Bug Fixes

  • expand and accept: check for zsh-autosuggestion widget (53a8b06)

4.8.3 (2022-12-16)

Bug Fixes

  • expand-and-accept: accepting clears zsh-autosuggestions' suggestions [#67] (752cef8)

Features

  • expand-and-accept: use zsh-autosuggestions' recommendation for how to clear suggestions (c71302d)

4.8.2 (2022-11-19)

Features

4.8.1 (2022-11-10)

Features

  • widgets: deprecate functions which were not dropped in v4.1.0... (8a01f32)

4.8.0 (2022-09-08)

Features

  • user abbreviation file: respect XDG_CONFIG_HOME if defined (unless there's already an abbreviations file in the old default location), with @qubidt (5d59cd0, 2df61f9)

4.7.1 (2022-01-03)

Copyright update

4.7.0 (2021-12-30)

Breaking

  • widgets: drop support for functions deprecated in 4.1.0 (4166395)

Features

  • init: no unnecessary NO_COLOR checks (da5205a)

4.6.0 (2021-09-24)

  • --version shows the correct version number again.

Features

4.5.0 (2021-09-14)

In this version abbr -v gives zsh-abbr version 4.4.0

Bug Fixes

  • temp files: account for possibility of garbage cleaning [#42] (38ffea2)

Features

  • color: more reliable respect for NO_COLOR (4706cf4)

4.4.0 (2021-08-1)

Features

  • add: use --quieter to silence 'command expands' logs, idea from @knu in #38 (8c02d9a)

Bug Fixes

  • help: show manpage regardless of installation method (55c4c29)

Other

The README now includes instructions for importing macOS substitutions, by @mortenscheel (99af045)

4.3.0 (2021-03-28)

Features

  • tests: use zsh-test-runner (ztr) (da2b0b9)

4.2.1 (2021-02-28)

Features

  • echo: always use builtin (093269a)
  • tests: new harness + support skipping (b884a9f)
  • rm: Make sure "rm" is run as command and not as alias, by @hojerst (d275169)

4.2.0 (2020-12-13)

Features

  • add: logs always include type and scope (70ee858)
  • import-git-aliases: respect multiline Git aliases (#30 / PR #31) by @henrebotha (5deee28)
  • import-git-aliases: support specifying config file path (31fca3f)

v4.1.2 (2020-11-02)

Bug Fixes

  • expand and accept: autosuggestions not required [#28] (7cdc57a)

v4.1.1 (2020-10-27)

Bug Fixes

v4.1.0 (2020-10-24)

Friendlier widget names, and syntax highlighting snippets for zsh-syntax-highlighting.

Features

  • deprecations: reinstate support for warnings + add example forms (73c4626)
  • widgets: rename widgets, deprecate old names, add precmd (35a2c15)
  • precmd: add precmd logging (35a2c15)

v4.0.2 (2020-09-14)

Bug Fixes

  • init: all initialization happens in function [#22] (8bbaa84)

Features

  • abbr_job_pop: use command 'rm' (15e383b)

v4.0.1 (2020-08-23)

abbr e -g <existing global abbreviation> finished with the log message "regular user abbreviation". No longer! And polishes up tests.

Bug Fixes

  • fix,refactor(logs): correct type and scope (a5a4171)

v4.0.0 (2020-07-26)

Bug Fixes

  • dry run: message appended to log (4dd118f)

Features

  • abbreviations arrays: prefix var names with ABBR_ (fef023b)
  • color: do not load module if NO_COLOR is set (25264ae)
  • export aliases: drop support for output path arg (35b9274)
  • list, list-abbreviations: swap; list is default (39fd84d)
  • quiet: does not silence dry run message (0a4d5b6)
  • subcommands: drop support and messages for deprecateds (f1b0ce7)
  • temp files: new global var ABBR_TMPDIR (2fa0e88)
  • temp files: no longer clean up v<3.2 temp files (f15ab53)
  • variables, functions: drop support for 'zsh_' prefix... (7557ef4)

v.3.3.4 (2020-07-26)

Deprecates ABBR_USER_PATH in favor of ABBR_USER_ABBREVIATIONS_FILE.

v3.3.3 (2020-06-14)

Fix a session abbreviations bug, support NO_COLOR, and polish deprecation warnings.

Bug Fixes

  • session abbreviations: do not unintentionally clear (113ffc6)

Features

  • config: deprecate ABBR_DEFAULT_BINDINGS 'true'/'false' (use 0/1) (5f25f1c)
  • debugging: deprecate ZSH_-prefixed var name (2b5de18)
  • deprecation: post-init warnings for non-init config vars (69d73b8)
  • deprecation message: use warning color (fd53852)
  • output: support NO_COLOR (see https://no-color.org/) (54f16db)

v3.3.2 (2020-06-06)

Save some keystrokes! -- and - prefixes in actions are deprecated. Just say add, clear-session, erase, expand, export-aliases, help, import-aliases, import-fish, import-git-aliases, list, list-abbreviations, list-commands, rename, and version, or their single letter short forms (--help and --version are not deprecated, for findability; -L is not deprecated to match zsh's alias -L).

Advanced users no longer need to source zshrc after directly (ie not via the abbr CLI) editing the user abbreviations file to prevent against the possibility of losing data when subsequently running abbr actions in an open session. Details in the README.

Also a fix for Oh-My-Zsh users, and protection against the possibility that builtins have been redefined by aliases and that zsh emulation has been set to another shell.

Bug Fixes

  • omz: plugin file is executable (e2f6632)

Features

  • abbr: argument can be a supported parameter's name... (47cfb6a)
  • add: dry run, command overwriting, and log messages play nice (9a17c8b)
  • add: wrap 'command', using builtin (042e68d)
  • autoload: support opting out with env var (9658a67)
  • commands: deprecate dash prefixes (3f75f57)
  • data: manual changes are taken into account... (00abe87)
  • echo: wrap builtin (c4ee8e2)
  • emulation: emulate zsh in all functions (f644f1a)
  • error: do not push the help command (379ae70)
  • import aliases: wrap alias command (cbb9bb5)
  • list-commands: deprecate --show, s (fd58b39)
  • loading: always reload user file (3776076)
  • warnings: do not cause an error exit code (f8b02be)

v3.3.1 (2020-05-12)

Fixed a Linux error, caught a regression.

Bug Fixes

Features

  • add: do not check for command name conflicts during init (153b2e3)

v3.3.0 (2020-05-09)

Prettier output. Suppress output with --quiet. Don't add an abbreviation if it would interfere with an existing command. Add it anyway with --force.

Features

  • add: support forcing add over system command (57eb4a8)
  • add: warn if a command exists (0311ecf)
  • dry run: helper message more visible (cce33fc)
  • import aliases: respect type (c000975)
  • import git aliases: warning gives key not full key+value (cbe4074)
  • quiet, exit status: output to stdout or stderr with quiet option (e671a87)

v3.2.3 (2020-04-23)

Bug Fixes

  • import git aliases: preserve quotation marks (aa62bd2)

3.2.2 (2020-04-18)

Bug Fixes

  • import aliases: support multi-word aliases and a variety of quote levels, with @allisio #15

3.2.1 (2020-04-18)

Features

  • ls: wrap command to not follow potential alias #13 (a5d7c1d)

3.2 (2020-04-07)

Key changes:

  • Significantly faster initialization, significantly faster time per add
  • Linux-friendly paths (with help from @AlwinW. Thanks!)
  • More informative error messages
  • Git alias import works again
  • Two abbreviations are created for each Git alias, abbr <alias> and abbr -g g<alias>
  • The user abbreviation file is kept alphabetized
  • Anything in the user abbreviation file other than abbr commands is ignored and, after the first syncing action, sanitized away
  • Erase does not insist that you pass the correct scope and type flags
  • Under the hood updates to use more idiomatic zsh

Bug Fixes

  • git aliases: one alias per array element (72b0bd7)
  • git aliases: proper quoting (44432b2)
  • import aliases: point to correct command (2fe9cbf)
  • initialization: correct file name (d1e29eb)
  • job: typo missing '/' in '/tmp/zsh-abbr-jobs' (e83f54c)
  • job stack: play nice with bad options (c84a1bf)
  • quotation marks: unsetting assoc array element requires quotes... (22336be)
  • temp files: directory path plays nice with macos and linux (814d121)
  • tests: test file is removed after tests run (77b0753)

Features

  • add, job stack: error messages are more informative (3611d33)
  • alias, list, sync user: alphabetize, case-insensitively (459923c)
  • debugging: support debug messages (add63cb)
  • dry run: support env variable (a7df1d7)
  • erase: guess unspecified type + scope; list if multiple matches (1976228)
  • erase, rename: support dry run (c18a57d)
  • export aliases: use list utility to support all quotation levels (ababcfd)
  • fish: no longer any need to warn about quotation marks (a2878ea)
  • git aliases: add unprefixed command aliases (4a7ab7e)
  • git aliases: skip function aliases (2733d6b)
  • importing: no help instructions when skipping an existing (b4e406c)
  • init: at no point are the user temp files missing... (4603f5d)
  • init: only run abbr commands in user file code... (93f2024)
  • init: remove deprecated temp files (af1e348)
  • init, performance: check to see if file exists before deleting (6cc58d3)
  • job pop: don't add variable to session unnecessarily (c3af3d7)
  • job stack: better error message (a3980df)
  • job stack: ignore session-scope activity (9cd9616)
  • job stack: prevent possibility of collision between sessions (099145a)
  • job stack: surface the current job's identity (3257867)
  • job stack, performance: max one stack item per session (f50df95)
  • list: reinstate option to list abbreviations without expansions (99a16e2)
  • rename, add: error includes type and scope (cdf22c0)

3.1.2 (2020-03-22)

Features

  • manpage: brew users get manpage, rest get text copy (ed35f49)
  • quotes: quotation marks are preserved [#10] (5a3b905)

v3.1.1 (2020-03-07)

Bug Fixes

  • export aliases: respect the abbreviation's type (69fb7a3)

Features

  • CONTRIBUTING: new file for GitHub friendliness (6d04986)

v3.1.0 (2020-03-07)

Look like zsh's alias not fish's abbr

Changes

  • list commands: rename from show (45b9a69)
  • rename: shorthand is now capital -R and update tests (c0cdce2)

Bug Fixes

  • show: listed session abbreviation commands include -S (57f98ea)

Features

  • list commands: support listing globals only (7418fac)
  • list commands: support listing regulars only (a5cab16)
  • list commands: support listing users only (9544e98)
  • list definitions: with no arguments, behaves like zsh alias (6c1a7a8)

v3.0.2 (2020-03-07)

Bug Fixes

  • expand and accept: respect trailing whitespace (f027565)
  • expansion: no false positive expansions after (( (2b53f6a)

v3.0.1 (2020-03-07)

Bug Fixes

  • init: prevent collision with other initializing sessions [#8] (f02fe24)

v3.0.0 (2020-03-01)

Parity with zsh alias's behavior: syntax is abbreviation=word instead of fish abbr-like abbreviation word. Distinguish between command-position abbreviations and global abbreviations. User abbreviations file is now at ${HOME}/.config/zsh/abbreviations. Check the README documentation for --import-fish to move from fish abbr and zsh-abbr<\v3 to zsh-abbr v3.

  • erase, rename: support global expansions (bab6341)
  • expansion: shell grammar word splitting determines current word (a3c00f5)
  • global abbreviations: distinct from command abbreviations (cd58e0d)
  • import aliases: rename from populate (2d4153a)
  • import git aliases: rename from git populate (2f8e7bf)
  • init,add,erase,rename: use abbr=expansion syntax (455dc75)
  • scope: shorthand for --session is now -S (cf2f3b8)
  • user file: no '-a -U' (ecb367e)
  • user file, exported variables: style(env functions, env variables): more consistent naming (2f52f9f)

Features

  • abbreviation, expansion: can be just a hyphen (be1a0c9)
  • dry run: support for add, import, and rename (59cbdee)
  • import fish: new option + documentation (6d674bb)
  • list: sections are divided with a newline (055e378)
  • storage: globals are at top of file (79a920b)
  • sync: use latest user globals (44b8281)
  • tests: add basic test suite (af08727)

v2.1.3 (2020-02-26)

Features

  • expansion: refresh and style autosuggestions after space (73fc250)

v2.1.2 (2020-02-24)

Bug Fixes

  • expansion: only clear autosuggestions if they are supported [#6] (21e35b6)

Features

  • expansion: highlighting call is not necessary... (5d1fde0)

v2.1.1 (2020-02-22)

Bug Fixes

Features

  • code of conduct: add Contributor Covenant (87333c5)
  • contributing: add guidelines (33b5fcd)

v2.1.0 (2020-02-03)

Under the hood polish; cut down on what is made available to the session; and

Noteworthy changes

  • aliases: flag changed to --output-aliases (shorthand -o) from --create-aliases (-c) (6b922c2)
  • clear globals: flag changed to --clear-globals (shorthand -c) from --erase-all-globals (-E) (bf90f87)
  • storage: universals file is a list of 'abbr -a' commands (2e191d1)

Bug Fixes

  • scope: only a single scope flag is allowed (7114a1b)
  • scope: no internal variables or functions bleed (4358c2b)

Features

  • add: support explicit end of options with -- (1085a29)
  • options: no error on hyphen (a25c7da)
  • rename: suggest changing scope if abbreviation exists in the other scope but not in the specified one (0473fb7)
  • word: delimit by '&&', '|', ';', and whitespace (44b3740)
  • zinit: verified installation documentation (7890320)

v2.0.0 (2020-01-19)

Breaking changes

  • universals: change variable name (7ee831b)

Bug Fixes

  • expansion widget: abbreviations can end in n or t (16feffe)

Features

  • erase-all-globals: new option (f7b1bee)
  • version: new option (206f521)
  • universals: change default path (c7ba374)

v1.2.0 (2020-01-12)

Bug Fixes

  • erase: universal abbreviations can be erased (1d67c8c)
  • expansion: when expanding with spacebar, append a space (e5b4696)
  • git-populate: synax error (e78eb2b)
  • rename: correct syntax for removing an abbreviation (f99834a)
  • synching: correct paths (6cc7e0c, aa80f5d)

Features

  • arguments: support long options (9386436)
  • bindings: add variable for opting out of defaults (7edd67e)
  • create-aliases: new option (35ace71)
  • expansion: plays nice with zsh-autosuggestions (e19a0a1)
  • expansion: support expand-on-enter (has suggestions bug) (f8356be)
  • expansion: support zsh-syntax-highlighting (cff6dc0)
  • rename: error if old doesn't exist or new already exists (a030670)

v1.1.0 (2019-01-26)

Bug fixes and

Features

  • git-populate: new option (28ea419)
  • populate: option to create abbreviations from aliases (fbbf9a6)

v1.0.0 (2019-01-26)

Feature parity with fish's abbr