Change Log of pulsar (pulsar.el)
The newest release is at the top. For further details, please consult the manual: https://protesilaos.com/emacs/pulsar.
Version 0.3.0 on 2022-04-08
- Changed the source repository from GitLab to SourceHut: https://git.sr.ht/~protesilaos/pulsar. Use the mailing list to start a discussion, report a bug, send a patch, etc.: https://lists.sr.ht/~protesilaos/pulsar. The GitLab URL will serve as a mirror from now on (a GitHub mirror is still available and will remain that way).
- Refined how Pulsar behaves in the case of the last line. Basically, when the last line cannot be highlighted we want to pulse the one right above. Thanks to JD Smith for fine-tuning this behaviour in merge request 1 over at the GitLab mirror: https://gitlab.com/protesilaos/pulsar/-/merge_requests/1 (exempt from the requirement to assign copyright to the Free Software Foundation as it is below the threshold).
- Ensured that the Pulsar effect are limited to the current window when the buffer is displayed in multiple windows. This avoids the common problem of simultaneous highlights in multiple locations, which confuse rather than inform the user of where the point is. Thanks to Aymeric Agon-Rambosson for the contribution in merge request 2 over at the GitLab mirror: https://gitlab.com/protesilaos/pulsar/-/merge_requests/2. Aymeric has assigned copyright to the Free Software Foundation.
- Wrote a buffer-local and a global minor mode that sets up Pulsar.
This supersedes the old design which had a built-in assumption that
the "pulse line" effect should always be global. Now the user has
more flexibility. They may also disable Pulsar on demand. Note that
pulsar still only triggers its effect for entries in the user option
pulsar-pulse-functions
. Thanks to Rudolf Adamkovič for the feedback in issue 9 over at the GitLab mirror: https://gitlab.com/protesilaos/pulsar/-/issues/9. - Implement the
pulsar-highlight-dwim
command. It is like thepulsar-highlight-line
except it also understands regions, be they regular or rectangular. Thanks to Mark Barton for the feedback in issue 13 over at the GitLab mirror: https://gitlab.com/protesilaos/pulsar/-/issues/13. - Clarified some technical points in various doc strings and the manual,
such as what is the
pulsar-delay
and thepulsar-iterations
. Thanks to Rudolf Adamkovič for the feedback in issue 12 over at the GitLab mirror: https://gitlab.com/protesilaos/pulsar/-/issues/12.
Version 0.2.0 on 2022-03-16
- Fixed an inconsistency that was present when Emacs was running in a server-client model where the highlight would never pulse but instead remain fixed in place until another command was invoked. By default, the pulse effect should now work for that use-case. Thanks to Mark Barton, Petter Storvik, and user kb for their feedback in issue 1: https://gitlab.com/protesilaos/pulsar/-/issues/1.
- Implemented the
pulsar-highlight-line
command and abstracted the relevant code. Unlikepulsar-pulse-line
, it never pulses the current line. Instead it keeps the highlight in place until another command is invoked. Thanks to Mark Barton for proposing this in issue 1. - Introduced the user option
pulsar-pulse
which determines whether pulsar should use a pulse effect (notwithstanding the aforementioned new command). When its value is non-nil (the default) pulsing takes place. Thanks to Petter Storvik for suggesting this approach in issue 1. - Added the user option
pulsar-iterations
which controls how smooth or abrupt the pulse effect is. This complements the existing variablepulsar-delay
. Both apply only whenpulsar-pulse
is non-nil. - Wrote the
pulsar-generic
face and made it the default value of thepulsar-face
user option. This is consistent with the original design of a theme-agnostic presentation, though now it ensures that the:extend
attribute is used to stretch the highlight to the edge of the window (without it and depending on the theme, the highlight would only reach the last character on the line). - Updated the manual to reflect those changes.
Version 0.1.0 on 2022-03-14
Initial release of the package. Please read the manual.
The core idea for this package was implemented in the prot-pulse.el
file that is part of my dotfiles (now deprecated). I was using it at
least since December 2020.