0.7.0 (2024-10-13)
- commands: commands with multiple buffers (5d1a7b4)
- edit: make edit commands available only in compatible modes (e28afb9)
- dinghy: allow customizing max cmd len (5bc5184)
- dinghy: better/customizable max env len (24f380c)
- env: allow setting empty var (fc13de6)
0.6.2 (2024-08-24)
- command: bind setup function when capturing recompile (83983dc)
- command: check variables with buffer set (e2a5e81)
- environment: share common environment for specific commands (2e4f26c)
0.6.1 (2024-07-13)
- command: add setup function to reserve buffers (a17a304)
- submarine: adapt to new compile signature (ebb52c7)
0.6.0 (2024-06-29)
- cmd: variable that governs prompting (09aea92)
- command: ship-mate-store-history (3accc94)
- environment: allow setting environment per command (f47f514)
- logging: add and bind ship-mate-show-logs (5ded9b5)
- logging: add logging (ad97d64)
- command: don't overwrite meta data when marking (06acee7)
- command: don't record if command is nil (b5ec1da)
- command: require this-command to be non-nil (7a2b86f)
- command: update history during recompile in ship-mate buffers (733f06f)
- fuzzy: actually return the top matches (dddb648)
- fuzzy: don't match single period (aebcf38)
- logging: return map, not binding (b85a8cb)
- command: allow editing history before storage (437160b)
- command: always use update-history (ab4e641)
- command: disallow select and rerun outside of projects (d1a3c3d)
- command: prompt on first run (44d400b)
- command: replace ship-mate--last-command (65ae963)
- command: ship-mate-command--{record=>record-last-command} (d414539)
- fuzzy: give penalty for initial incongruence (e2658b9)
- history: don't prompt for replacing (2fbedf4)
- rerun-command: select command if there is no prev command (2e9678a)
0.5.0 (2024-03-10)
- command: ship-mate-rerun-command (40f2690)
- command: don't capture recompile outside of projects (3834882)
- command: use custom var and set it to 2 (0c34933)
- fuzzy: allow full match when capturing (37b748a)
- submarine: close any ship-mate buffer (acf2a94)
- submarine: use available bindings (9695d78)
0.4.2 (2024-02-07)
- buffers: use project-buffers by default (dce7919)
- environment: use regex to validate assignments (328fe86)
- fuzzy: check ring length not size before replacing (fddc098)
- fuzzy: don't consider exact matches (f0851f3)
- fuzzy: ask before replacing match (a1acdfc)
- ship-mate-dinghy: factor out into own module (0c98501)
- ship-mate-edit: factor out in-buffer editing (32d6199)
- submarine: factor out into own module (d2ecf09)
0.4.1 (2024-01-28)
- submarine: get window for all frames when hiding (8f475e9)
- bindings: harmonize bindings (2889e29)
- ci: add semantic-release (7590684)
- lighter: capitalize names in lighter menu (7d2e319)
- submarine: complete buffer to recompile (46af9fe)
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Buffer completion now offers only the current project's buffers unless the command using it was called with a prefix argument.
- Command
ship-mate-show-results
to pop to a buffer. Bound tos
in subcommands map. - Minor modes now include their map in their docstrings.
- Calling
ship-mate-show-hidden
signals an error if there is no hidden buffer. - It is now possible to have multiple hidden compilations running at the same time.
- Command
ship-mate-hide-visible
to hide a visible compilation. - Commands created with
ship-mate-create-command
now attempt to bind using any letter that is part of the symbol name. If this fails, a warning is displayed and no binding takes place.
- Buffer completion now uses
read-buffer
. - Buffer completion now signals an error if there is no eligible buffer.
- History replacement now only happens if the history is full.
- All commands (including subcommands) are now bound in
ship-mate-command-map
.
- Variable
ship-mate-subcommand-map
.
recompile
is no longer captured in other modes derived fromcompilation-mode
.ship-mate-command--fuzzy-match
no longer matches empty strings, whitespace or--
.
- Command
ship-mate-hide
bound toC-c C-q
inship-mate-dinghy-mode
. It hides a running compilation like other hidden compilations. - The currently run command is now shown in the header in
ship-mate-dinghy-mode
.
- Function that variable
ship-mate-command-fuzzy-match-function
should now return a plist on match, returning match, count and index. This is used duringship-mate-command--update-history
to replace a matched entry if the match count is higher that two. - Bindings in
ship-mate-dinghy-mode-map
now adhere to Key Binding Conventions (only binding to keys allocated for minor modes).
- Additional commands are now bound to
ship-mate-subcommand-map
which is bound tox
inship-mate-command-map
. This is now the only letter bound. The key used can be customized usingship-mate-subcommands-key
.
ship-mate-select-command
now passes the prefix argument to the command.- Calling
ship-mate-hidden-recompile
directly or indirectly quits windows displaying aship-mate
buffer.
- Calling
ship-mate-edit-environment
from outside aship-mate
buffer now completesship-mate
buffers in the project to edit their environment. - Calling
ship-mate-command
with numeric prefix 5 now prompts the user to edit the environment in the minibuffer. The prefix value can be customized throughship-mate-edit-environment-prefix
. ship-mate-hidden-recompile
now prompts after customizableship-mate-prompt-for-hidden-buffer
which is now set to 2 (seconds).- Command
ship-mate-edit-history
to edit the history. - A lighter that provides the
ship-mate-command-map
as a menu. - Calling
ship-mate-command
with numeric prefix 3 now runs the command the same wayship-mate-hidden-recompile
does. The prefix value can be customized usingship-mate-hidden-compilation-prefix
. - If a hidden compilation fails, the exit status is shown in the prompt.
- Hidden compilations can be surfaced by
ship-mate-show-hidden
or by clicking the mode line.
- Calling
ship-mate-hidden-recompile
when the previous command wasn't aship-mate-command
no longer recompiles. - Prompting is now the default for hidden compilation (see above).
- The history size can be customize using
ship-mate-command-history-size
. - The function used to fuzzy-match commands against histories can now
be customized using
ship-mate-command-fuzzy-match-function
. - The generator used to generate a buffer-name function can now be
customized using
ship-mate-command-buffer-name-function-generator
. - Minor-mode
ship-mate-dinghy-mode
is enabled in allcompilation
buffers created byship-mate
unlessship-mate-dinghy-enable
isnil
. It displays the currentcompilation-environment
and bindsship-mate-edit-environment
as well asship-mate-command-next-buffer
andship-mate-command-prev-buffer
. - Command
ship-mate-refresh-history
to either reset to defaults to clear a command's history (in the project). - Command
ship-mate-hidden-recompile
, bound inship-mate-command-map
tor
. It will callrecompile
but only show the compilation buffer once the process has finished. User may setship-mate-prompt-for-hidden-buffer
if they should be prompted first.
- Empty lines are filtered out by
ship-mate-environment--listify
which means callingship-mate-environment-apply
with an empty buffer also works. recompile
is now advised to instead callship-mate-command
when a match happens unless the current buffer is a compilation buffer already.
- Variable
ship-mate-environment
that can be set to prefillcompilation-environment
. - Compilation buffers are now named using the current project.
- Command
ship-mate-edit-environment
. It will open a buffer with thecompilation-environment
of the current compilation buffer and allows the user to freely edit and apply it.
- Prefix for environment editing is now
environment
, no longerenv
. - Prefixes have been harmonized, meaning there are no more plain
ship-mate-
functions.
Initial release of the package that was spliced out of my own configuration.