unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [ELPA] Add lin package
@ 2022-04-02  4:46 Protesilaos Stavrou
  0 siblings, 0 replies; only message in thread
From: Protesilaos Stavrou @ 2022-04-02  4:46 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 2400 bytes --]

Hello everyone,

This is a retry of an attempt I made a few months ago to add 'lin' to
elpa.git.[1] Please see the attached patch.  Quote from the manual on
what this is supposed to do:

    Lin is a stylistic enhancement for Emacs' built-in 'hl-line-mode'.  It
    remaps the 'hl-line' face (or equivalent) buffer-locally to a style that
    is optimal for major modes where line selection is the primary mode of
    interaction.

    The idea is that 'hl-line-mode' cannot work equally well for contexts
    with competing priorities: (i) line selection, or (ii) simple line
    highlight.  In the former case, the current line needs to be made
    prominent because it carries a specific meaning of some significance in
    the given context: the user has to select a line.  Whereas in the latter
    case, the primary mode of interaction does not revolve around the line
    highlight itself: it may be because the focus is on editing text or
    reading through the buffer's contents, so the current line highlight is
    more of a reminder of the point's location on the vertical axis.

    'lin-mode' enables 'hl-line-mode' in the current buffer and remaps
    the appropriate face to the 'lin-face'.  The 'lin-global-mode'
    follows the same principle, though it applies to all hooks specified
    in the user option 'lin-mode-hooks'.

Put concretely, I want hl-line-mode to use a subtle gray when I edit
text and a vivid blue colour when I select a line.

Now why this is a "retry"...  When I first developed lin, it was only
remapping the hl-line-face.  There was no minor mode setup and no
automatic activation of hl-line-mode.  I thus received feedback to turn
it into a patch for hl-line.el instead of distributing it as a package.
I tried but failed to make it good enough for inclusion.[2][3]

I have now made lin useful out-of-the-box: it is easy to enable and set
up for the desired modes.

What do you think?  Can this live as its own package on GNU ELPA or
should it still be written as a patch for hl-line.el?

[ I will prepare a new release later today. ]

All the best,
Protesilaos (or simply "Prot")

[1] <https://lists.gnu.org/archive/html/emacs-devel/2021-11/msg00442.html>
[2] <https://lists.gnu.org/archive/html/emacs-devel/2021-11/msg00819.html>
[3] <https://lists.gnu.org/archive/html/emacs-devel/2021-11/msg00966.html>

-- 
Protesilaos Stavrou
https://protesilaos.com

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-elpa-packages-lin-New-package.patch --]
[-- Type: text/x-patch, Size: 867 bytes --]

From a6c7646b28a3ebd61047a81ab99ff2dff8ec019d Mon Sep 17 00:00:00 2001
Message-Id: <a6c7646b28a3ebd61047a81ab99ff2dff8ec019d.1648874395.git.info@protesilaos.com>
From: Protesilaos Stavrou <info@protesilaos.com>
Date: Sat, 2 Apr 2022 07:39:41 +0300
Subject: [PATCH] * elpa-packages (lin): New package

---
 elpa-packages | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/elpa-packages b/elpa-packages
index b7d8cfa7f2..0626efe568 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -346,6 +346,10 @@
   :auto-sync t)
  ("let-alist"		:core "lisp/emacs-lisp/let-alist.el")
  ("lex"			:url nil)
+ ("lin"		:url "https://gitlab.com/protesilaos/lin"
+  :auto-sync t
+  :news "CHANGELOG.org"
+  :ignored-files ("COPYING" "doclicense.texi"))
  ("lmc"			:url nil)
  ("load-dir"		:url nil)
  ("load-relative"	:url "https://github.com/rocky/emacs-load-relative")
-- 
2.35.1


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2022-04-02  4:46 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-02  4:46 [ELPA] Add lin package Protesilaos Stavrou

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).