# Custom highlighting scheme

**URL:** <https://racket.discourse.group/t/custom-highlighting-scheme/2887>\
**Category:** General\
**Created:** [April 26, 2024, 5:10am UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887 "2024-04-26T05:10:03Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [April 26, 2024, 5:10am UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/1 "2024-04-26T05:10:03Z")

</div>

Reposted with permission: a student here at Cal Poly wasn't overwhelmingly happy with the default color schemes, came up with this one instead:

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/d/ddc1c7831a82ea8256374b41a07b1bb03897f848.png)

Here's the source:

```scheme
edit->preferences->color->

Background tab
  Background = #1F2C33

Racket tab
  Symbol = #F48CB9
  Keyword = #ABABF9, Bold
  Comment = #F4C994
  String = #7AD37A, Italic
  Text = #33AD33
  Constant = #8BD38B
  Keyword = #F7F093
  Parenthesis = #4FD5AE
  Error = #FE0000
  Other = #FEFEFE

HtDP Languages tab
  Tests Covered = #B8FD9E
  Tests Didn't Cover =
    Foreground Color = #FE0000
    Background Color = #000000

REPL tab
  Values = #7A51E1
  Errors = #FE6565
  Output = #F28AB7

```

Nice!

---

<div class="post-metadata">

**Author:** ![shhyou](https://avatars.discourse-cdn.com/v4/letter/s/ccd318/32.png) [@shhyou](https://racket.discourse.group/u/shhyou)\
**Post date:** [April 26, 2024, 5:00pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/2 "2024-04-26T17:00:59Z")

</div>

fyi, color themes can be turned into installable artifacts like the `info.rkt`s in [https://pkgd.racket-lang.org/pkgn/search?tags=colorscheme](https://pkgd.racket-lang.org/pkgn/search?tags=colorscheme)

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [April 28, 2024, 9:43pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/3 "2024-04-28T21:43:24Z")

</div>

Yep, I figured there was a way to do this, many thanks! I'll share this information with the poster.

---

<div class="post-metadata">

**Author:** ![bakgatviooldoos](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/bakgatviooldoos/32/1381_2.png) [@bakgatviooldoos](https://racket.discourse.group/u/bakgatviooldoos)\
**Post date:** [October 4, 2024, 1:17pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/4 "2024-10-04T13:17:18Z")

</div>

I love being able to customize the color scheme of `DrRacket`.

I am partial to the `Dracula` scheme which can be installed from the packages list, with some slight modifications, because I really like the dracula-orange and dracula-green, which do not feature very heavily in the scheme by default:

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/5/587367afbff45f7bcc38d732d44cc33e4a0491b5.png)

As you can see, below, this makes artefacts like splicing operators stand out, nicely, and when I am using `at-exp` mode, the orange is delightful--almost reminds me of those gorgeous monochrome CRT screens with the orange or green hues.

![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/b/b6a572184ae99d286d9d63a4d3860358b3472959.png)

---

<div class="post-metadata">

**Author:** ![bakgatviooldoos](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/bakgatviooldoos/32/1381_2.png) [@bakgatviooldoos](https://racket.discourse.group/u/bakgatviooldoos)\
**Post date:** [November 6, 2024, 9:35pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/5 "2024-11-06T21:35:20Z")

</div>

Underlining comments isn't half bad. I kind of like it:

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/a/a93a412ac2e0e8ef352c58a78119b4cf1c39798a.png)

---

<div class="post-metadata">

**Author:** ![damien\_mattei](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/damien_mattei/32/2706_2.png) [@damien\_mattei](https://racket.discourse.group/u/damien_mattei)\
**Post date:** [November 9, 2024, 11:27am UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/6 "2024-11-09T11:27:55Z")

</div>

> [@bakgatviooldoos](#):
>
> reminds me of those gorgeous monochrome CRT screens with the orange or green hues.

me too, it reminds me the time of those lovely Apple ][ amber monitors 🤩 :

 ![](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/d/d998fbf5b264f9b7f94ae87da3acb3192ecaeaff.jpeg)  
but i rarely use Racket editor directly,only for a few lines of code, i prefer Emacs or the Mac OS version of VI with the Torte color set.  
In emacs it is easy to configure a custom color set ,at least for having a less aggressive background than white color, not amber but light yellow in background.(see screenshot)

I also want to use gvim , a graphical version of Vi for linux but gvim unfortunately does not display well the subscript character i use and some greek letters, for example: ηₛ and ᐁ ,they display as ? char so i can not use gvim for editing all my codes under linux.(See the screenshot below) I'am searching the solution? if someone who use gvim knows. But it works with vim in terminal (but vi in terminal is not enough modern to be used). See my dual monitor screenshot , i display Emacs top with ηₛ and ᐁ displaying well, gvim below with bad character display and vi in terminal (top right) where character are ok.  
Too bad it does not works in gvim because i likes the available colors set and scheme mode, i tried a lot of police/font selection without finding one good for subscript and all the greek letters.

 ![emacs-vi-gvim](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/4/4ebccf1f7879bcf279dc24f650eef5b80df92260.png)

---

<div class="post-metadata">

**Author:** ![bakgatviooldoos](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/bakgatviooldoos/32/1381_2.png) [@bakgatviooldoos](https://racket.discourse.group/u/bakgatviooldoos)\
**Post date:** [November 9, 2024, 12:31pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/7 "2024-11-09T12:31:23Z")

</div>

> [@damien\_mattei](#):
>
> ![](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/d/d998fbf5b264f9b7f94ae87da3acb3192ecaeaff.jpeg)

That's sick, man! Almost thought it was a screenshot of Fallout 😅

I really like your setup, thanks for sharing this. Makes me miss our first home computer.

I have not found a nice monospace font which displays subscripts and special symbols the way I would like, either. Quite a fan of `terminus` but it suffers from this problem.

I have resigned to using `JetBrains Mono` of late. Not perfect, but mostly complete.

Arranging text inside of parentheses is awesome and all, but it's a crying shame I can't press "Run" on my sheet of paper. I know `jupyter` is a thing: I don't yet see the matrix when writing `TeX`, though. Just imagine...

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/5/5d11f0b6e6a9afe62ddd408b38a88b00137e5504.png)

---

<div class="post-metadata">

**Author:** ![hendrikboom3](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/hendrikboom3/32/2748_2.png) [@hendrikboom3](https://racket.discourse.group/u/hendrikboom3)\
**Post date:** [November 9, 2024, 5:44pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/8 "2024-11-09T17:44:09Z")

</div>

I wonder why all the monochrome home computer CRTs back then were green or amber,  
whereas monochrome televisions were white on dark.

-- hendrik

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [November 9, 2024, 6:42pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/9 "2024-11-09T18:42:48Z")

</div>

> [@hendrikboom3](#):
>
> I wonder why all the monochrome home computer CRTs back then were green or amber,  
> whereas monochrome televisions were white on dark.

I can make guesses like

- B&W brighter for fairly small devices intended to be viewed from a distance.
- b&w film was familiar to audiences at the introduction of television.
- coloured phosphors were more expensive to produce
- coloured phosphors were marketed and sold but were not as popular as b&w

…but these are all guesses.

I believe that before colour film processes became widespread some B&W films were coloured manually.

This would be a great question for a film historian or specialist librarian - I bet the answer is fascinating.

S.

---

<div class="post-metadata">

**Author:** ![soegaard](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/soegaard/32/19_2.png) [@soegaard](https://racket.discourse.group/u/soegaard)\
**Post date:** [November 9, 2024, 7:03pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/10 "2024-11-09T19:03:02Z")

</div>

Hendrik:

> I wonder why all the monochrome home computer CRTs back then were green or amber,  
> whereas monochrome televisions were white on dark.

ChatGPT has a plausible explanation.

> The green (P1) and amber (P3) phosphors used in computer CRTs had qualities that made them ideal for text readability. Green phosphor, in particular, had a high level of persistence, meaning the image lingered longer on the screen, reducing flicker and eye strain. Amber screens, introduced later, were seen as less harsh than green, which helped reduce fatigue during prolonged use.

---

<div class="post-metadata">

**Author:** ![bakgatviooldoos](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/bakgatviooldoos/32/1381_2.png) [@bakgatviooldoos](https://racket.discourse.group/u/bakgatviooldoos)\
**Post date:** [November 9, 2024, 7:21pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/11 "2024-11-09T19:21:31Z")

</div>

> [@spdegabrielle](#):
>
> This would be a great question for a film historian or specialist librarian - I bet the answer is fascinating.

> [@soegaard](#):
>
> ChatGPT has a plausible explanation.

**LIBRARIANS:**

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/2/291a189c65a57fcd2e2116db36414639aae3d62e.jpeg)

😅

[Checks out](https://retrocomputing.stackexchange.com/questions/683/why-are-a-lot-of-monochrome-computer-monitors-green), though.

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [November 9, 2024, 7:54pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/12 "2024-11-09T19:54:15Z")

</div>

> [@hendrikboom3](#):
>
> monochrome televisions were white on dark.

I was interested in the second bit. I thought everyone knew green and orange were for eyestrain.

I do wonder why most night mode modes are white on black, not green or orange on black…is it because I assumed wrong and most people don’t know that green or orange reduce eyestrain?

 ![night mode in discourse](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/a/a269a9cfe7d96795d22c8d91d8a30444e0a12710.png)

---

<div class="post-metadata">

**Author:** ![bakgatviooldoos](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/bakgatviooldoos/32/1381_2.png) [@bakgatviooldoos](https://racket.discourse.group/u/bakgatviooldoos)\
**Post date:** [November 9, 2024, 8:11pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/13 "2024-11-09T20:11:31Z")

</div>

Yes, I see my reading comprehension is about as nuanced as a brick 🧱.

I guess, these days, I use the color temperature settings on my `[device here]` to adjust for the time of day, e.g., so it does not matter as much.

But, thinking about it, there is probably an interesting interplay between _transmitting_ television signals, and _projecting_ film in a theater.

I vaguely remember learning about the [Nipkow disk](https://en.wikipedia.org/wiki/Nipkow_disk) at some point. I forget **mechanical** televisions were a thing.

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [November 9, 2024, 11:36pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/14 "2024-11-09T23:36:51Z")

</div>

> [@shhyou](#):
>
> fyi, color themes can be turned into installable artifacts like the `info.rkt`s in [https://pkgd.racket-lang.org/pkgn/search?tags=colorscheme](https://pkgd.racket-lang.org/pkgn/search?tags=colorscheme)

There is also the Quickscript **colorscheme2package** by Andre Alves Garcia

It can be installed as part of the `quickscript-competition-2020` package: In DrRacket, in `File>Package manager>Source`, and enter `quickscript-competition-2020`. or with `raco pkg install quickscript-competition-2020`, then click `Scripts>Manage scripts>Reload menu`

You can also get it directly from [https://github.com/Quickscript-Competiton/July2020entries/blob/master/scripts/colorscheme2package.rkt](https://github.com/Quickscript-Competiton/July2020entries/blob/master/scripts/colorscheme2package.rkt)

My colour scheme is pretty terrible:

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/8/821338626d80504e2801db084100ebfc97faa9f5.jpeg)

```scheme
#lang info

(define deps '("base"))

(define framework:color-schemes
'(#hash(
(name . "My Color Scheme")
(white-on-black-base? . #f)
(colors
.
((framework:basic-canvas-background #(0 0 0))
 (framework:default-text-color #(255 177 0))
 (framework:disabled-background-color #(190 190 190))
 (framework:failed-search-background-color #(255 192 203))
 (framework:line-numbers #(0 0 0))
 (framework:line-numbers-current-line-number-background #(34 139 34))
 (framework:line-numbers-current-line-number-foreground #(255 255 255))
 (framework:line-numbers-when-word-wrapping #(169 169 169))
 (framework:misspelled-text-color #(255 0 0))
 (framework:paren-match-color #(0 0 0))
 (framework:program-contour-current-location-bar #(173 216 230))
 (framework:warning-background-color #(255 255 0))

(framework:syntax-color:scheme:comment #(96 255 31) )
 (framework:syntax-color:scheme:constant #(255 255 38) )
 (framework:syntax-color:scheme:error #(255 0 0) )
 (framework:syntax-color:scheme:hash-colon-keyword #(255 200 170) )
 (framework:syntax-color:scheme:keyword #(255 187 0) bold )
 (framework:syntax-color:scheme:other #(255 255 255) )
 (framework:syntax-color:scheme:parenthesis #(220 157 117) )
 (framework:syntax-color:scheme:string #(147 255 109) )
 (framework:syntax-color:scheme:symbol #(240 195 28) bold )
 (framework:syntax-color:scheme:text #(41 220 38) )
)))))

```

PS: More Quickscripts at [https://github.com/racket/racket/wiki/Quickscript-Scripts-for-DrRacket](https://github.com/racket/racket/wiki/Quickscript-Scripts-for-DrRacket)  
My favourite is _Open terminal here_: [https://github.com/Metaxal/quickscript-extra/blob/master/scripts/open-terminal.rkt](https://github.com/Metaxal/quickscript-extra/blob/master/scripts/open-terminal.rkt)

---

<div class="post-metadata">

**Author:** ![damien\_mattei](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/damien_mattei/32/2706_2.png) [@damien\_mattei](https://racket.discourse.group/u/damien_mattei)\
**Post date:** [November 10, 2024, 1:24am UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/15 "2024-11-10T01:24:29Z")

</div>

but Racket have already good color scheme like the one in screenshot that could be selected in Preferences:

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/4/4bdc5a5f00f423c7816751600486298515d18ede.jpeg)

and it support all the greek char and subscript.

about gvim i installed the JetBrains mono on my system but the linux version of gvim does not take it in account.

With MacOS all is perfect about fonts in MacVIM but not in Emacs (i cannot have the subscript chars) and with linux it is exactly the opposite...

---

<div class="post-metadata">

**Author:** ![Gambiteer](https://avatars.discourse-cdn.com/v4/letter/g/779978/32.png) [@Gambiteer](https://racket.discourse.group/u/Gambiteer)\
**Post date:** [November 10, 2024, 3:37pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/16 "2024-11-10T15:37:02Z")

</div>

> [@hendrikboom3](#):
>
> I wonder why all the monochrome home computer CRTs back then were green or amber,  
> whereas monochrome televisions were white on dark.

When I started sitting in front of a computer monitor 6+ hours a day, I had a green on black monitor. Soon I realized that after long periods in front of the monitor, the white chalk on the blackboard in my office looked pink.

I didn't think that was so good, so I got an amber on black monitor---the problem went away.

---

<div class="post-metadata">

**Author:** ![damien\_mattei](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/damien_mattei/32/2706_2.png) [@damien\_mattei](https://racket.discourse.group/u/damien_mattei)\
**Post date:** [November 11, 2024, 3:18pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/17 "2024-11-11T15:18:38Z")

</div>

if i try to spent many hours at home in front of a screen, our cat, at some point will jump on the desktop and try to walk on the keyboard to have his plate of kibbles filled again 😂 forcing me to leave the computer.

being more serious and with or without cat this can help:

 ![](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/f/f01adb2bc5a7ea5268889d0662e663ac1d50d168.jpeg)

---

<div class="post-metadata">

**Author:** ![benknoble](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/benknoble/32/16_2.png) [@benknoble](https://racket.discourse.group/u/benknoble)\
**Post date:** [November 11, 2024, 4:11pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/18 "2024-11-11T16:11:53Z")

</div>

With `guifont=VictorMono-Regular:h12,SourceCodePro-Regular:h12,Menlo-Regular:h12`, I can make "ηₛ and ᐁ" appear in MacVim. They also appear in terminal Vim (my terminal uses Victor Mono also). Perhaps your Linux text-rendering stack has some issue? I can't say.

---

<div class="post-metadata">

**Author:** ![damien\_mattei](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/damien_mattei/32/2706_2.png) [@damien\_mattei](https://racket.discourse.group/u/damien_mattei)\
**Post date:** [November 11, 2024, 6:05pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/19 "2024-11-11T18:05:04Z")

</div>

> [@benknoble](#):
>
> Perhaps your Linux text-rendering stack has some issue? I can't say.

With such a modern desktop environment like the [CDE : Common Desktop Environment](https://en.wikipedia.org/wiki/Common_Desktop_Environment) that i use it would be surprising 😂

more seriously i had the same problem with Gnome and the Ubuntu system has been just installed last summer, but after your message i decided to dive in reinstalling vi , because also i believed there was some snap issue preventing vi to access all the fonts and i do not know the real cause but i can not load any font name you give or others. I try even to recompile vim from source but cannot find the source code of gvim ,in last i deinstalled vim and reinstalled it approximatively like that:

```scheme
sudo apt remove vim-gui-common
sudo apt install vim-gtk3

```

and now the interface is a bit different and all works perfectly ,  
i think some program had installed an old or different version of gvim 😲 .

it is now good for ηₛ and ᐁ in many fonts,monospace,JetBrains,.... as the screenshot show it:

 ![gvim](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/a/a824c5a0a1bdd16ce3631e539a559d21e31f9254.jpeg)

and even with CDE. 😅

---

<div class="post-metadata">

**Author:** ![bakgatviooldoos](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/bakgatviooldoos/32/1381_2.png) [@bakgatviooldoos](https://racket.discourse.group/u/bakgatviooldoos)\
**Post date:** [November 6, 2025, 11:08pm UTC](https://racket.discourse.group/t/custom-highlighting-scheme/2887/20 "2025-11-06T23:08:11Z")

</div>

Another font I've been trying the last couple of days is [`Myna`](https://github.com/sayyadirfanali/Myna). I was unconvinced at first because of the flowery curves, but it has grown on me so far.

Font smoothing kind of ruins it on my PC, but it looks pretty good without it.

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/a/a2b243b8d95e26efde7a4ab509403a4ec407c5a2.png)

[Next page](https://racket.discourse.group/t/custom-highlighting-scheme/2887.md?page=2)
