File: underlines.rst

package info (click to toggle)
kitty 0.45.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 27,468 kB
  • sloc: ansic: 84,285; python: 57,992; objc: 5,432; sh: 1,333; xml: 364; makefile: 144; javascript: 78
file content (37 lines) | stat: -rw-r--r-- 1,421 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Colored and styled underlines
================================

|kitty| supports colored and styled (wavy) underlines. This is of particular use
in terminal based text editors such as :program:`vim` and :program:`emacs` to
display red, wavy underlines under mis-spelled words and/or syntax errors. This
is done by re-purposing some SGR escape codes that are not used in modern
terminals (`CSI codes <https://en.wikipedia.org/wiki/ANSI_escape_code#CSI_(Control_Sequence_Introducer)_sequences>`__)

To set the underline style::

    <ESC>[4:0m  # no underline
    <ESC>[4:1m  # straight underline
    <ESC>[4:2m  # double underline
    <ESC>[4:3m  # curly underline
    <ESC>[4:4m  # dotted underline
    <ESC>[4:5m  # dashed underline
    <ESC>[4m    # straight underline (for backwards compat)
    <ESC>[24m   # no underline (for backwards compat)

To set the underline color (this is reserved and as far as I can tell not
actually used for anything)::

    <ESC>[58...m

This works exactly like the codes ``38, 48`` that are used to set foreground and
background color respectively.

To reset the underline color (also previously reserved and unused)::

    <ESC>[59m

The underline color must remain the same under reverse video, if it has a color,
if not, it should follow the foreground color.

To detect support for this feature in a terminal emulator, query the terminfo
database for the ``Su`` boolean capability.