You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/colours.md
+65-12Lines changed: 65 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -372,6 +372,7 @@ If the search is being limited by a selection, that selection needs to be a less
372
372
373
373
Word matches are much less important than search terms, but still need to be legible. I found that an alpha of `#09` ensures the matches are still legible, while ensuring they are less important than search terms. All in all, it is still possible to read comments in the editor area even when fully highlighted, if only barely. (*Note: Variable-access symbol highlights, from initial observation, appear to be implemented by extensions, which are not possible to change.*)
374
374
375
+
> -`editor.symbolHighlightBackground`
375
376
> -`editor.wordHighlightBackground`
376
377
> -`editor.wordHighlightStrongBackground`
377
378
> -`editor.wordHighlightTextBackground`
@@ -385,6 +386,23 @@ The above also applies to the background colour of the line on which the current
385
386
386
387
> -`editor.rangeHighlightBackground`
387
388
389
+
### Linked Editing
390
+
391
+
Linked editing is an experimental feature of VSCode that allows an opening and closing tag to be edited together. It is not always enabled, therefore it needs to be obvious when it is about to happen. Since it is common that linked editing happens with HTML tags, it will use the same colour as them, that being the variable colour but transparent. An alpha of `#16` seems to work well, being obvious but not garish.
392
+
393
+
> -`editor.linkedEditingBackground`
394
+
395
+
### Input Validation
396
+
397
+
Input validation messages appear under the search box when using the Search view. They are also broken into error, warning and info messages, but their background colours cannot be identical to the problem colours due to being too bright, so they are mixed 2:7 with the sidebar background (except the info background, which is just the input background). The borders are instead mixed 5:2, so they blend in with the focus border colour.
398
+
399
+
> -`inputValidation.errorBackground`
400
+
> -`inputValidation.errorBorder`
401
+
> -`inputValidation.warningBackground`
402
+
> -`inputValidation.warningBorder`
403
+
> -`inputValidation.infoBackground`
404
+
> -`inputValidation.infoBorder`
405
+
388
406
### Extensions
389
407
390
408
#### Star Count
@@ -504,6 +522,12 @@ Modified settings show a vertical bar on their left side. While this can be simi
504
522
505
523
> -`settings.modifiedItemIndicator`
506
524
525
+
### Line Highlight
526
+
527
+
The line on which the cursor is located is highlighted if there is no active selection. This stacks with word highlighting. The default of the background being fully transparent is fine as is. As for the border, the word highlight background colour was too hard to see, so the search highlight background colour is used instead. `editor.inactiveLineHighlightBorder` does not exist.
528
+
529
+
> -`editor.lineHighlightBorder`
530
+
507
531
### Text Selection
508
532
509
533
Selecting text is distracting if the selection background is any colour other than white. With this in mind, a perfect transparency must be achieved, so that selecting text is not distracting while still being fully visible.
@@ -556,7 +580,9 @@ As an aside, the difference viewer displays a diagonal pattern in areas where a
556
580
557
581
> -`diffEditor.diagonalFill`
558
582
559
-
### Merge Conflicts
583
+
### Merging
584
+
585
+
#### Conflicts
560
586
561
587
Unlike difference indicators, merge conflicts are more complicated and require a more nuanced approach. The colour scheme here uses the theme's accent colour for current changes, and the colour with the exact opposite hue for the incoming changes. Transparencies were chosen to ensure that the code is still visible over the top of these colours, no matter their hue.
562
588
@@ -565,6 +591,12 @@ Unlike difference indicators, merge conflicts are more complicated and require a
565
591
> -`merge.incomingContentBackground`
566
592
> -`merge.incomingHeaderBackground`
567
593
594
+
### Folded Regions
595
+
596
+
Folded regions reduce the amount of text that is visible, and are indicated by a small '⋯' symbol. There is also the option for a background colour, but it is distracting, so it is made transparent.
597
+
598
+
> -`editor.foldBackground`
599
+
568
600
### Scroll Bar
569
601
570
602
Due to the very faint colours in use by various selection components in this theme, the scrollbar needs to be able to show these while still remaining visible. The alphas for the below three states (seen in order) were chosen carefully to maintain a visual distinction between each state while remaining dark and still showing what is behind them.
@@ -592,6 +624,10 @@ One option is to use a mix between the function colour and the normal status bar
592
624
593
625
> -`statusBar.debuggingBackground`
594
626
627
+
When remote coding, the bottom-left of the status bar is a separate colour. It feels natural for this to be blue, like the status bar normally is in other themes, specifically `terminal.ansiBlue`, which feels like a good colour to represent the internet. A 4:10 mix of it and the normal status bar colour was chosen.
628
+
629
+
> -`statusBarItem.remoteBackground`
630
+
595
631
### Border
596
632
597
633
The chosen background colour needs a border to distinguish it from the sidebar. For that reason, I am using the same border colour as the tabs in the sidebar, as that colour is distinguished from all side panels and the editor area.
@@ -611,17 +647,23 @@ The status bar foreground is a 5:1 mix of the editor text and the background col
611
647
> -`statusBarItem.hoverForeground`
612
648
> -`statusBar.noFolderForeground`
613
649
614
-
For debugging, this dark colour is no longer appropriate, and so the editor text colour is used as-is.
650
+
For debugging and remote coding, this dark colour is no longer appropriate, and so the editor text colour is used as-is, both when hovering and not.
615
651
616
652
> -`statusBar.debuggingForeground`
653
+
> -`statusBar.remoteForeground`
654
+
> -`statusBar.remoteHoverForeground`
617
655
618
656
## Debugging
619
657
620
658
### Breakpoints
621
659
622
-
Breakpoints appear on the editor gutter in a half-transparent state when hovering, and fully opaque when active. They use the error colour, as it is red enough to indicate a stop while light enough to be visible when hovering.
660
+
Breakpoints appear on the editor gutter in a half-transparent state when hovering, and fully opaque when active.
623
661
624
-
> -`debugIcon.breakpointForeground`
662
+
> -`debugIcon.breakpointForeground` - Error colour (red enough to indicate a stop while light enough to be visible when hovering)
663
+
> -`debugIcon.breakpointDisabledForeground` - 4:5 mix of comment semantic colour and editor gutter background colour
> -`debugIcon.breakpointUnverifiedForeground` - 3:1 mix of error colour and editor gutter background colour
625
667
626
668
### Toolbar
627
669
@@ -806,16 +848,19 @@ As for the info colour, info messages tend to be very annoying, so rather than g
806
848
> -`editorInfo.foreground`
807
849
> -`errorLens.infoForeground`
808
850
809
-
### Input Validation
851
+
### Inlay Hints
810
852
811
-
Input validation messages appear under the search box when using the Search view. They are also broken into error, warning and info messages, but their background colours cannot be identical to the problem colours due to being too bright, so they are mixed 2:7 with the sidebar background (except the info background, which is just the input background). The borders are instead mixed 5:2, so they blend in with the focus border colour.
853
+
Inlay hints are what appears in the absence of code when working with common languages and extensions, such as [basedpyright](https://marketplace.visualstudio.com/items?itemName=detachhead.basedpyright) with Python. In this extension in particular, it is most common to see attribute hints (e.g., `name=`) and type hints (e.g., `: str`). All of the below are mixed with the editor background colour after the fact.
812
854
813
-
> -`inputValidation.errorBackground`
814
-
> -`inputValidation.errorBorder`
815
-
> -`inputValidation.warningBackground`
816
-
> -`inputValidation.warningBorder`
817
-
> -`inputValidation.infoBackground`
818
-
> -`inputValidation.infoBorder`
855
+
> -`editorInlayHint.foreground` - 1:2 mix of `editorInlayHint.parameterForeground` and `editorInlayHint.typeForeground` (before they're mixed with editor background), then 3:4 mix
856
+
> -`editorInlayHint.parameterForeground` - Variable colour, then 1:2 mix
857
+
> -`editorInlayHint.typeForeground` - Type colour, then 1:1 mix
858
+
859
+
### Code Lens
860
+
861
+
Code Lens text appears above method names, most commonly in .NET projects. Because it creates gaps in the code and its font family and size are indeterminate, it is imperative that it blends in with comments, but even with the comment colour it is still too bright. Therefore, a 5:2 mix of the comment colour and the editor background colour is used.
862
+
863
+
> -`editorCodeLens.foreground`
819
864
820
865
## Cursors
821
866
@@ -890,6 +935,7 @@ While grouped under functions, URLs should use the accent-defined link colour, a
890
935
> -`entity.other.attribute-name`
891
936
> -**CSS**
892
937
> -`entity.name.tag.css`
938
+
> -`meta.function.variable.css`
893
939
> -**Elm**
894
940
> -`meta.record.field`
895
941
> -**Java**
@@ -1006,13 +1052,16 @@ The constant variable name colour is a 29:18 mix between variable and constant v
1006
1052
> -`meta.structure.array`
1007
1053
> -`meta.structure.dictionary`
1008
1054
> -**Markdown**
1055
+
> -`punctuation.definition.begin.frontmatter`
1056
+
> -`punctuation.definition.end.frontmatter`
1009
1057
> -`markup.heading`
1010
1058
> -`entity.name.section.markdown`
1011
1059
> -`punctuation.definition.heading`
1012
1060
> -`punctuation.definition.list`
1013
1061
> -`punctuation.definition.quote`
1014
1062
> -`punctuation.definition.raw`
1015
1063
> -`punctuation.definition.markdown`
1064
+
> -`meta.separator.markdown`
1016
1065
> -**HTML**
1017
1066
> -`meta.tag.metadata.doctype`
1018
1067
> -`punctuation.definition.tag`
@@ -1030,6 +1079,10 @@ The constant variable name colour is a 29:18 mix between variable and constant v
0 commit comments