all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Colour Capital Letters
@ 2023-10-02  1:58 Heime
  2023-10-02 10:28 ` Philip Kaludercic
  2023-10-18 18:58 ` Marcin Borkowski
  0 siblings, 2 replies; 7+ messages in thread
From: Heime @ 2023-10-02  1:58 UTC (permalink / raw)
  To: Heime via Users list for the GNU Emacs text editor

I want to make a stand alone function that uses a different colour for capital letters 
in CamelCase names. Possibly taking code from glasses.el.

(defun color-camelcase-capital-letters ()
  "Color capital letters in CamelCase variables."
  (interactive)
  (highlight-regexp "\\(?:^\\|\\b\\)[[:upper:]][[:lower:]]*" 'hi-yellow))

What can I do ?



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Colour Capital Letters
  2023-10-02  1:58 Colour Capital Letters Heime
@ 2023-10-02 10:28 ` Philip Kaludercic
  2023-10-18 18:58 ` Marcin Borkowski
  1 sibling, 0 replies; 7+ messages in thread
From: Philip Kaludercic @ 2023-10-02 10:28 UTC (permalink / raw)
  To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor

Heime <heimeborgia@protonmail.com> writes:

> I want to make a stand alone function that uses a different colour for capital letters 
> in CamelCase names. Possibly taking code from glasses.el.
>
> (defun color-camelcase-capital-letters ()
>   "Color capital letters in CamelCase variables."
>   (interactive)
>   (highlight-regexp "\\(?:^\\|\\b\\)[[:upper:]][[:lower:]]*" 'hi-yellow))
                         ^
                         this part will only match a the beginning of a
                         line or an empty string at the beginning or the
                         end of a word, so if you want

                             CamelCase
                             ^    ^
                             here and here

                         to be highlighted, then that won't work.

A variation of your code might be this, that highlights just the
capital letters, using `highlight-regexp's optional SUBEXP argument:
                         
 (highlight-regexp (rx word-start (group upper) (+ alnum)) 'hi-yellow 1)

>
> What can I do ?



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Colour Capital Letters
  2023-10-02  1:58 Colour Capital Letters Heime
  2023-10-02 10:28 ` Philip Kaludercic
@ 2023-10-18 18:58 ` Marcin Borkowski
  2023-10-18 19:40   ` Heime
  1 sibling, 1 reply; 7+ messages in thread
From: Marcin Borkowski @ 2023-10-18 18:58 UTC (permalink / raw)
  To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor


On 2023-10-02, at 03:58, Heime <heimeborgia@protonmail.com> wrote:

> I want to make a stand alone function that uses a different colour for capital letters 
> in CamelCase names. Possibly taking code from glasses.el.
>
> (defun color-camelcase-capital-letters ()
>   "Color capital letters in CamelCase variables."
>   (interactive)
>   (highlight-regexp "\\(?:^\\|\\b\\)[[:upper:]][[:lower:]]*" 'hi-yellow))

Just saw this while looking through my email backlog.  This is a great
idea, but I think it can be made even better.  How about using two
colors so that subsequent /words/ in CamelCase identifiers are colored
differently?  I suspect this could be great for readibility!

> What can I do ?

Do you have any working code?  I might be tempted to try to write
something like this...

Best,

-- 
Marcin Borkowski
http://mbork.pl



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Colour Capital Letters
  2023-10-18 18:58 ` Marcin Borkowski
@ 2023-10-18 19:40   ` Heime
  2023-10-25 18:30     ` Marcin Borkowski
  0 siblings, 1 reply; 7+ messages in thread
From: Heime @ 2023-10-18 19:40 UTC (permalink / raw)
  To: Marcin Borkowski; +Cc: Heime via Users list for the GNU Emacs text editor






Sent with Proton Mail secure email.

------- Original Message -------
On Thursday, October 19th, 2023 at 6:58 AM, Marcin Borkowski <mbork@mbork.pl> wrote:


> On 2023-10-02, at 03:58, Heime heimeborgia@protonmail.com wrote:
> 
> > I want to make a stand alone function that uses a different colour for capital letters
> > in CamelCase names. Possibly taking code from glasses.el.
> > 
> > (defun color-camelcase-capital-letters ()
> > "Color capital letters in CamelCase variables."
> > (interactive)
> > (highlight-regexp "\\(?:^\\|\\b\\)[[:upper:]][[:lower:]]*" 'hi-yellow))
> 
> 
> Just saw this while looking through my email backlog. This is a great
> idea, but I think it can be made even better. How about using two
> colors so that subsequent /words/ in CamelCase identifiers are colored
> differently? I suspect this could be great for readibility!
> 
> > What can I do ?
> 
> 
> Do you have any working code? I might be tempted to try to write
> something like this...
 
Do not have a working one yet.  I wanted to start with something quite 
simple first.  But I was planning to get subsequent words colored differently.

The purpose was about readability, particularly for Latex where one cannot use 
underscore '_'.

> Best,
> 
> --
> Marcin Borkowski
> http://mbork.pl



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Colour Capital Letters
  2023-10-18 19:40   ` Heime
@ 2023-10-25 18:30     ` Marcin Borkowski
  2023-11-14 19:59       ` Marcin Borkowski
  0 siblings, 1 reply; 7+ messages in thread
From: Marcin Borkowski @ 2023-10-25 18:30 UTC (permalink / raw)
  To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor


On 2023-10-18, at 21:40, Heime <heimeborgia@protonmail.com> wrote:

> Sent with Proton Mail secure email.
>
> ------- Original Message -------
> On Thursday, October 19th, 2023 at 6:58 AM, Marcin Borkowski <mbork@mbork.pl> wrote:
>
>
>> On 2023-10-02, at 03:58, Heime heimeborgia@protonmail.com wrote:
>> 
>> > I want to make a stand alone function that uses a different colour for capital letters
>> > in CamelCase names. Possibly taking code from glasses.el.
>> > 
>> > (defun color-camelcase-capital-letters ()
>> > "Color capital letters in CamelCase variables."
>> > (interactive)
>> > (highlight-regexp "\\(?:^\\|\\b\\)[[:upper:]][[:lower:]]*" 'hi-yellow))
>> 
>> 
>> Just saw this while looking through my email backlog. This is a great
>> idea, but I think it can be made even better. How about using two
>> colors so that subsequent /words/ in CamelCase identifiers are colored
>> differently? I suspect this could be great for readibility!
>> 
>> > What can I do ?
>> 
>> 
>> Do you have any working code? I might be tempted to try to write
>> something like this...
>  
> Do not have a working one yet.  I wanted to start with something quite 
> simple first.  But I was planning to get subsequent words colored differently.
>
> The purpose was about readability, particularly for Latex where one cannot use 
> underscore '_'.

I looked at glasses.el, and it *already has* that feature!  Set
`glasses-separator' to an empty string and `glasses-face' to e.g. 'bold
(the symbol - name of te face).  Note: use customize-option.

If you really want to highlight every other subword, not just the
initial letters, check out this proof-of-concept implementation:
https://gitlab.com/-/snippets/3614958 .  I plan to blog about it on Nov
11.

Hth,

-- 
Marcin Borkowski
http://mbork.pl



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Colour Capital Letters
  2023-10-25 18:30     ` Marcin Borkowski
@ 2023-11-14 19:59       ` Marcin Borkowski
  2024-03-31  1:21         ` Heime
  0 siblings, 1 reply; 7+ messages in thread
From: Marcin Borkowski @ 2023-11-14 19:59 UTC (permalink / raw)
  To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor


On 2023-10-25, at 20:30, Marcin Borkowski <mbork@mbork.pl> wrote:

> I looked at glasses.el, and it *already has* that feature!  Set
> `glasses-separator' to an empty string and `glasses-face' to e.g. 'bold
> (the symbol - name of te face).  Note: use customize-option.
>
> If you really want to highlight every other subword, not just the
> initial letters, check out this proof-of-concept implementation:
> https://gitlab.com/-/snippets/3614958 .  I plan to blog about it on Nov
> 11.

And here is the blog post (slightly delayed, sorry for that):
https://mbork.pl/2023-11-13_Coloring_CamelCase

Best,

-- 
Marcin Borkowski
http://mbork.pl



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Colour Capital Letters
  2023-11-14 19:59       ` Marcin Borkowski
@ 2024-03-31  1:21         ` Heime
  0 siblings, 0 replies; 7+ messages in thread
From: Heime @ 2024-03-31  1:21 UTC (permalink / raw)
  To: Marcin Borkowski; +Cc: Heime via Users list for the GNU Emacs text editor

You are using spectacles-face with a single colour.  I would like to have available
8 different colours and be able to select the colour used.  What can be done ?


On Wednesday, November 15th, 2023 at 7:59 AM, Marcin Borkowski <mbork@mbork.pl> wrote:

> On 2023-10-25, at 20:30, Marcin Borkowski mbork@mbork.pl wrote:
> 
> > I looked at glasses.el, and it already has that feature! Set
> > `glasses-separator' to an empty string and` glasses-face' to e.g. 'bold
> > (the symbol - name of te face). Note: use customize-option.
> > 
> > If you really want to highlight every other subword, not just the
> > initial letters, check out this proof-of-concept implementation:
> > https://gitlab.com/-/snippets/3614958 . I plan to blog about it on Nov
> > 11.
> 
> 
> And here is the blog post (slightly delayed, sorry for that):
> https://mbork.pl/2023-11-13_Coloring_CamelCase
> 
> Best,
> 
> --
> Marcin Borkowski
> http://mbork.pl



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-03-31  1:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-02  1:58 Colour Capital Letters Heime
2023-10-02 10:28 ` Philip Kaludercic
2023-10-18 18:58 ` Marcin Borkowski
2023-10-18 19:40   ` Heime
2023-10-25 18:30     ` Marcin Borkowski
2023-11-14 19:59       ` Marcin Borkowski
2024-03-31  1:21         ` Heime

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.