<feed xmlns='http://www.w3.org/2005/Atom'>
<title>r-alacritty-vte.git/examples, branch master</title>
<subtitle>Alacritty's VTE library with Rahm's extra hacks.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/r-alacritty-vte.git/'/>
<entry>
<title>Add CSI subparameter support</title>
<updated>2020-08-05T00:36:41+00:00</updated>
<author>
<name>Christian Duerr</name>
<email>contact@christianduerr.com</email>
</author>
<published>2020-08-05T00:36:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/r-alacritty-vte.git/commit/?id=4f44023dab081f7da74fee14bc53b10ee8f96a1e'/>
<id>4f44023dab081f7da74fee14bc53b10ee8f96a1e</id>
<content type='text'>
This adds support for CSI subparameters like `\x1b[38:2:255:0:255m`,
which allows the combination of truecolor SGR commands together with
other SGR parameters like bold text, without any ambiguity.

This implements subparameters by storing them in a list together with
all other parameters and having a separate slice to indicate which
parameter is a subparameter and how long the subparameter list is. This
allows for static memory allocation and good performance while still
having the option for dynamic sizing of the parameters. Since the
subparameters are now also counted as parameters, the number of allowed
parameters has been increased from `16` to `32`.

Since the existing structures combine the handling of parameters for CSI
and DCS escape sequences, it is now also possible for DCS parameters to
have subparameters, even though that is currently never used.
Considering that DCS is rarely supported by terminal emulators, handling
these separately would likely just cause unnecessary issues. The
performance should also be better by using this existing subparam
structure rather than having two separate structures for DCS and CSI
parameters.

The only API provided for accessing the list of parameters is using an
iterator, this is intentional to make the internal structure clear and
allow for easy optimizations downstream. Since it makes little sense to
access parameters out of order, this limitation should not have any
negative effects on performance. The main drawback is that direct access
to the first parameter while ignoring all other subparameters is less
efficient, since it requires indexing a slice after iterating to the
element. However while this is often useful, it's mostly done for the
first few parameters which significantly reduces the overhead to a
negligible amount. At the same time this forces people to support
subparameters or at least consider their existence, which should make it
more difficult to implement things improperly downstream.

Fixes #22.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds support for CSI subparameters like `\x1b[38:2:255:0:255m`,
which allows the combination of truecolor SGR commands together with
other SGR parameters like bold text, without any ambiguity.

This implements subparameters by storing them in a list together with
all other parameters and having a separate slice to indicate which
parameter is a subparameter and how long the subparameter list is. This
allows for static memory allocation and good performance while still
having the option for dynamic sizing of the parameters. Since the
subparameters are now also counted as parameters, the number of allowed
parameters has been increased from `16` to `32`.

Since the existing structures combine the handling of parameters for CSI
and DCS escape sequences, it is now also possible for DCS parameters to
have subparameters, even though that is currently never used.
Considering that DCS is rarely supported by terminal emulators, handling
these separately would likely just cause unnecessary issues. The
performance should also be better by using this existing subparam
structure rather than having two separate structures for DCS and CSI
parameters.

The only API provided for accessing the list of parameters is using an
iterator, this is intentional to make the internal structure clear and
allow for easy optimizations downstream. Since it makes little sense to
access parameters out of order, this limitation should not have any
negative effects on performance. The main drawback is that direct access
to the first parameter while ignoring all other subparameters is less
efficient, since it requires indexing a slice after iterating to the
element. However while this is often useful, it's mostly done for the
first few parameters which significantly reduces the overhead to a
negligible amount. At the same time this forces people to support
subparameters or at least consider their existence, which should make it
more difficult to implement things improperly downstream.

Fixes #22.</pre>
</div>
</content>
</entry>
<entry>
<title>Rename example variable to match trait</title>
<updated>2020-06-15T17:30:44+00:00</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@mozilla.com</email>
</author>
<published>2020-06-15T17:30:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/r-alacritty-vte.git/commit/?id=408b1584646338e9e1e8e4fd7e2d127aef8ebd0a'/>
<id>408b1584646338e9e1e8e4fd7e2d127aef8ebd0a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove ESC params</title>
<updated>2020-02-01T00:03:42+00:00</updated>
<author>
<name>Christian Duerr</name>
<email>contact@christianduerr.com</email>
</author>
<published>2020-02-01T00:03:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/r-alacritty-vte.git/commit/?id=cad136272a95c2f17bb6e25b2df02509bb7b86bf'/>
<id>cad136272a95c2f17bb6e25b2df02509bb7b86bf</id>
<content type='text'>
Since ESC escapes cannot have parameters, they have been removed from
the `esc_dispatch` function.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since ESC escapes cannot have parameters, they have been removed from
the `esc_dispatch` function.</pre>
</div>
</content>
</entry>
<entry>
<title>Pass terminator to osc dispatcher</title>
<updated>2020-01-29T15:57:04+00:00</updated>
<author>
<name>Christian Duerr</name>
<email>contact@christianduerr.com</email>
</author>
<published>2020-01-29T15:57:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/r-alacritty-vte.git/commit/?id=e61e9652241a8e85ffdbb6dc6e48375e30ea9d40'/>
<id>e61e9652241a8e85ffdbb6dc6e48375e30ea9d40</id>
<content type='text'>
Even though the ST terminator is the only officially supported
terminator, some applications still rely on BEL to work properly. Both
have been supported historically, however there was no way for the
terminal to tell which terminator was used.

Since OSC escapes frequently offer the `?` parameter to query for the
current format, some applications expect the response terminator to
match the request terminator. To make it possible to support this, the
osc_dispatcher is now informed when the BEL terminator was used.

Since the C1 ST terminator was not yet supported for OSC escapes,
support for it has also been added.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Even though the ST terminator is the only officially supported
terminator, some applications still rely on BEL to work properly. Both
have been supported historically, however there was no way for the
terminal to tell which terminator was used.

Since OSC escapes frequently offer the `?` parameter to query for the
current format, some applications expect the response terminator to
match the request terminator. To make it possible to support this, the
osc_dispatcher is now informed when the BEL terminator was used.

Since the C1 ST terminator was not yet supported for OSC escapes,
support for it has also been added.</pre>
</div>
</content>
</entry>
<entry>
<title>Update to Rust 2018</title>
<updated>2019-11-23T01:01:09+00:00</updated>
<author>
<name>Christian Duerr</name>
<email>contact@christianduerr.com</email>
</author>
<published>2019-11-23T01:01:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/r-alacritty-vte.git/commit/?id=ea940fcb74abce67b927788e4f9f64fc63073d37'/>
<id>ea940fcb74abce67b927788e4f9f64fc63073d37</id>
<content type='text'>
This moves all crates in the workspace to the latest Rust standard and
resolves various style and formatting issues.

Fixes #32.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This moves all crates in the workspace to the latest Rust standard and
resolves various style and formatting issues.

Fixes #32.</pre>
</div>
</content>
</entry>
<entry>
<title>Bump version to 0.4.0</title>
<updated>2019-11-04T16:48:06+00:00</updated>
<author>
<name>Christian Duerr</name>
<email>contact@christianduerr.com</email>
</author>
<published>2019-11-04T16:48:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/r-alacritty-vte.git/commit/?id=c093a671ce3abaebef4c8e2a71a76ad8cd4670a5'/>
<id>c093a671ce3abaebef4c8e2a71a76ad8cd4670a5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix dcs handling, and add a test for it</title>
<updated>2019-11-03T19:10:30+00:00</updated>
<author>
<name>Jesse Luehrs</name>
<email>doy@tozt.net</email>
</author>
<published>2019-11-03T17:41:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/r-alacritty-vte.git/commit/?id=82fc09895ec76cd07dda39f127ca5e5c21f8abf4'/>
<id>82fc09895ec76cd07dda39f127ca5e5c21f8abf4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typo in parselog example</title>
<updated>2018-03-10T01:00:51+00:00</updated>
<author>
<name>Peter Holloway</name>
<email>holloway.p.r@gmail.com</email>
</author>
<published>2018-03-09T23:48:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/r-alacritty-vte.git/commit/?id=fe116505000826c42f6f0ac2e598d7fe19217588'/>
<id>fe116505000826c42f6f0ac2e598d7fe19217588</id>
<content type='text'>
osc_dispatch calls were being logged as csi_dispatch
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
osc_dispatch calls were being logged as csi_dispatch
</pre>
</div>
</content>
</entry>
<entry>
<title>Version 0.2</title>
<updated>2017-01-11T04:51:15+00:00</updated>
<author>
<name>Joe Wilm</name>
<email>joe@jwilm.com</email>
</author>
<published>2017-01-11T04:50:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/r-alacritty-vte.git/commit/?id=3149ed008ad0694a85ca50231e3d6833998d53cf'/>
<id>3149ed008ad0694a85ca50231e3d6833998d53cf</id>
<content type='text'>
Changelog has details, but this basically made OSC handling way easier
for dependents.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changelog has details, but this basically made OSC handling way easier
for dependents.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix import in example</title>
<updated>2016-09-18T00:03:47+00:00</updated>
<author>
<name>Joe Wilm</name>
<email>joe@jwilm.com</email>
</author>
<published>2016-09-18T00:03:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/r-alacritty-vte.git/commit/?id=02301e8f2a9a4641ab893c48c0b0d3ee231d4e6b'/>
<id>02301e8f2a9a4641ab893c48c0b0d3ee231d4e6b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
