Commit graph

3828 commits

Author SHA1 Message Date
Daniel Eklöf
022646f8eb
doc: ctlseq: add missing ‘[’ in example escape sequence 2021-02-23 09:31:46 +01:00
Daniel Eklöf
db9bd8c1ae
doc: ctlseq: remove excessive highlighting 2021-02-23 09:31:46 +01:00
Daniel Eklöf
76721aaef3
doc: ctlseq: turn “CC1 - 8-bit control sequences” into a footnote
* 8-bit control characters are virtually never used. Many terminals do
  not support them. As such, there is no need to draw attention to the
  fact that foot does not implement them.
* Rename the “CC0 - 7-bit control characters” section to “Control
  characters”.
2021-02-23 09:31:46 +01:00
Daniel Eklöf
6e0eb904b7
doc: ctlseq: “7-bit control sequences” -> “7-bit control *characters*” 2021-02-23 09:31:45 +01:00
Daniel Eklöf
34363b6d24
doc: ctlseq: add CSI sub headers to index 2021-02-23 09:31:45 +01:00
Daniel Eklöf
451b3c53de
doc: ctlseq: add XTSMGRAPHICS 2021-02-23 09:31:45 +01:00
Daniel Eklöf
54d1421782
doc: ctlseq: document window manipulation sequences (CSI Ps;Ps;Ps t) 2021-02-23 09:31:45 +01:00
Daniel Eklöf
36f8cf0043
doc: ctlseq: don’t highlight literal characters, only parameters 2021-02-23 09:31:45 +01:00
Daniel Eklöf
0a33ce3e78
doc: ctlseq: sort “misc” CSI sequences 2021-02-23 09:31:45 +01:00
Daniel Eklöf
3c69a9c7e1
doc: ctlseq: add most of the remaining CSIs 2021-02-23 09:31:45 +01:00
Daniel Eklöf
a6e496ebca
doc: ctlseq: add ESC prefixed sequences 2021-02-23 09:31:45 +01:00
Daniel Eklöf
5539a7a02c
doc: ctlseq: add ‘origin’ column to OSC escape table 2021-02-23 09:31:45 +01:00
Daniel Eklöf
d74e62d65f
doc: ctlseqs: always write out the actual sequence
That is, don’t abbreviate ‘\E[‘ with ‘CSI’, or ‘\E]’ with ‘OSC’.
2021-02-23 09:31:45 +01:00
Craig Barnes
56ab820d3f
doc: ctlseqs: document private modes 47, 1047 and 1048 2021-02-23 09:31:45 +01:00
Craig Barnes
de64ef8410
doc: ctlseqs: document DECSET/DECRST and supported "private modes" 2021-02-23 09:31:45 +01:00
Daniel Eklöf
26d9f5a394
doc: ctlseqs: document OSC sequences 2021-02-23 09:31:44 +01:00
Daniel Eklöf
7d16fb1bbd
doc: ctlseqs: document supported DCS escapes
Signed-off-by: Daniel Eklöf <daniel@ekloef.se>
2021-02-23 09:31:44 +01:00
Daniel Eklöf
33b4fcad9f
doc: ctlseqs: minor readability tweaks 2021-02-23 09:31:44 +01:00
Daniel Eklöf
be49c3c0a6
doc: ctlseqs: copyable -> copiable 2021-02-23 09:31:44 +01:00
Daniel Eklöf
e2f20071a5
doc: ctlseqs: we’ll be using ‘OCS’ instead of \E] and ‘DCS’ instead of \EP 2021-02-23 09:31:44 +01:00
Daniel Eklöf
42cf196420
doc: ctlseqs: we use ‘CSI’ not so much in the tables as in text 2021-02-23 09:31:44 +01:00
Daniel Eklöf
325bbf5e85
doc: ctlseqs: left most -> leftmost 2021-02-23 09:31:44 +01:00
Daniel Eklöf
59bee8016f
doc: ctlseqs: fix weird sounding sentence 2021-02-23 09:31:44 +01:00
Daniel Eklöf
51900a5efb
doc: ctlseqs: be consistent; use dash between ‘8’ and ‘bit’ 2021-02-23 09:31:44 +01:00
Daniel Eklöf
634116e637
doc: ctlseqs: escape backslashes 2021-02-23 09:31:44 +01:00
Daniel Eklöf
6594c39823
doc: ctlseqs: document SGRs, add TODOs 2021-02-23 09:31:44 +01:00
Daniel Eklöf
38e2700f74
doc: ctlseqs: document CC0 control sequences 2021-02-23 09:31:44 +01:00
Daniel Eklöf
e1dd1fe6e8
Merge branch 'dracula-theme' 2021-02-23 09:30:32 +01:00
Elias
371a5fa672 themes: add Dracula 2021-02-22 23:11:39 +01:00
Daniel Eklöf
3d7207f9c5
Merge branch 'rename-_errno' 2021-02-22 09:28:53 +01:00
Daniel Eklöf
2c881b9f06
Merge branch 'osc8'
Closes #13
2021-02-21 20:48:18 +01:00
Daniel Eklöf
555f751f94
errno: don’t use ‘_errno’ as a variable name; _ are reserved for use as identifiers 2021-02-21 20:33:07 +01:00
Daniel Eklöf
3c6d4f152b
changelog: OSC-8 support 2021-02-21 20:16:25 +01:00
Daniel Eklöf
11464a65de
url-mode: use the same key combo for all occurrences of an URL 2021-02-21 20:15:33 +01:00
Daniel Eklöf
21a355f38a
config: typo: osc8-underline=always means ALWAYS 2021-02-21 20:15:32 +01:00
Daniel Eklöf
35779ec4e5
config: osc8-underline: default to ‘url-mode’ 2021-02-21 20:15:32 +01:00
Daniel Eklöf
2074f8b656
urls: OSC-8 URLs can now optionally be underlined outside of url-mode
This patch adds a new configuration option,
‘osc8-underline=url-mode|always’.

When set to ‘url-mode’, OSC-8 URLs are only
highlighted (i.e. underlined) in url-mode, just like auto-detected
URLs.

When set to ‘always’, they are always underlined, regardless of mode,
and regardless of their other attributes.

This is implemented by tagging collected URLs with a boolean,
instructing urls_render() and urls_reset() whether they should update
the cells’ ‘url’ attribute or not.

The OSC-8 collecter sets this based on the value of ‘osc8-underline’.

Finally, when closing an OSC-8 URL, the cells are immediately tagged
with the ‘url’ attribute if ‘osc8-underline’ is set to ‘always’.
2021-02-21 20:15:32 +01:00
Daniel Eklöf
a0b977fcee
grid: refactor: break out allocation of ‘extra’ member to separate function 2021-02-21 20:15:32 +01:00
Daniel Eklöf
7f13d0084e
terminal: osc8_close(): refactor: use grid_row_add_uri_range() 2021-02-21 20:15:32 +01:00
Daniel Eklöf
d42b129814
grid: refactor: use grid_row_add_uri_range() 2021-02-21 20:15:32 +01:00
Daniel Eklöf
5eea06cff9
grid: add new function grid_row_add_uri_range() 2021-02-21 20:15:32 +01:00
Daniel Eklöf
fd505f2274
grid: resize_without_reflow: allocate ‘extra’ on-demand on ‘new’ rows
Even if we have URI ranges on the old row, all those ranges may lay
outside the new grid’s range.
2021-02-21 20:15:32 +01:00
Daniel Eklöf
8da82c897b
grid: grid_resize_without_reflow: transfer URI ranges 2021-02-21 20:15:32 +01:00
Daniel Eklöf
3ca5a65c33
grid: reflow: translate URI ranges
URI ranges are per row. Translate by detecting URI range start/end
coordinates, and opening and closing a corresponding URI range on the
new grid.

We need to take care when line-wrapping the new grid; here we need to
manually close the still-open URI ranges (on the new grid), and
re-opening them on the next row.
2021-02-21 20:15:32 +01:00
Daniel Eklöf
17f90eeec4
grid: grid_row_free(): use grid_row_reset_extra() 2021-02-21 20:15:32 +01:00
Daniel Eklöf
3e06362d74
terminal: scroll: use grid_row_reset_extra() 2021-02-21 20:15:32 +01:00
Daniel Eklöf
00977fcc15
grid: add new function, grid_row_reset_extra()
This function resets (free:s) all ‘extra’ data associated with a row.
2021-02-21 20:15:31 +01:00
Daniel Eklöf
0e6b1f7508
term: osc-8: close: ignore zero-length URLs
If the client application emitted e.g:

  \E]8;;http://foo\E\\\E]8;;\E\\

i.e. an anchor without content, then we ended up with an ‘end’
coordinate that lied *before* the ‘start’ coordinate, since we
subtract one (column) from the end point to make it inclusive.
2021-02-21 20:15:31 +01:00
Daniel Eklöf
20ff492d33
term: osc-8: open: typo: close previous URL if ‘begin’ coords are *non-negative* 2021-02-21 20:15:31 +01:00
Daniel Eklöf
4ff5154cb8
config: change default key binding for toggle-url-visible to ‘t’ 2021-02-21 20:15:31 +01:00