<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dwarvish.git/src/poem/read, branch docs</title>
<subtitle>a (mostly) posix compliant shell and tiny functional programming language
</subtitle>
<link rel='alternate' type='text/html' href='https://git.dwarvish.org/dwarvish.git/'/>
<entry>
<title>Add 'strings' to the verse after the string!() macro</title>
<updated>2024-04-07T05:50:46+00:00</updated>
<author>
<name>Rory Dudley</name>
</author>
<published>2024-04-07T05:50:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dwarvish.org/dwarvish.git/commit/?id=6198c54a9e1155bb9b7f93b8cb5daf3e2deddb25'/>
<id>6198c54a9e1155bb9b7f93b8cb5daf3e2deddb25</id>
<content type='text'>
This patches fixes a bug, where sometimes, when a Rune::String was
detected, the resulting string from the string!() macro wasn't getting
pushed to the current verse.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patches fixes a bug, where sometimes, when a Rune::String was
detected, the resulting string from the string!() macro wasn't getting
pushed to the current verse.
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle aliases in read()</title>
<updated>2024-04-05T04:12:14+00:00</updated>
<author>
<name>Rory Dudley</name>
</author>
<published>2024-04-05T04:12:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dwarvish.org/dwarvish.git/commit/?id=1415c8f9b89699000ef8d864ff8f0e1bebca4a5f'/>
<id>1415c8f9b89699000ef8d864ff8f0e1bebca4a5f</id>
<content type='text'>
Instead of handling aliases in the recite() function, which requires two
loops to handle properly with the current implementation, offload
checking for aliases to the read() function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of handling aliases in the recite() function, which requires two
loops to handle properly with the current implementation, offload
checking for aliases to the read() function.
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't interpret environment variables in single quoted strings</title>
<updated>2024-03-31T06:14:46+00:00</updated>
<author>
<name>Rory Dudley</name>
</author>
<published>2024-03-31T06:14:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dwarvish.org/dwarvish.git/commit/?id=f03f4e0fcf62c9b3267bc5d8b62068d89ec593cd'/>
<id>f03f4e0fcf62c9b3267bc5d8b62068d89ec593cd</id>
<content type='text'>
Previously, if an environment variable was given in a string, such as:
'$PATH' or "$PATH", both would be replaced with the value of $PATH from
the environment. However, for single quotes strings, any values inside
should be taken at face value. In other words, echo '$PATH' should
simply write out: $PATH, and not whatever environment value $PATH
happens to be. This patch replaced '$' in single quoted strings with
the ASCII shift out (x0e) character. Any ASCII SO placeholder is
replaced with a '$' in recite(), after the environment variables have
been accounted for.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, if an environment variable was given in a string, such as:
'$PATH' or "$PATH", both would be replaced with the value of $PATH from
the environment. However, for single quotes strings, any values inside
should be taken at face value. In other words, echo '$PATH' should
simply write out: $PATH, and not whatever environment value $PATH
happens to be. This patch replaced '$' in single quoted strings with
the ASCII shift out (x0e) character. Any ASCII SO placeholder is
replaced with a '$' in recite(), after the environment variables have
been accounted for.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add comments (`#`) to the parser</title>
<updated>2024-03-29T03:01:49+00:00</updated>
<author>
<name>Rory Dudley</name>
</author>
<published>2024-03-29T03:01:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dwarvish.org/dwarvish.git/commit/?id=527cc04ffb9ea627ca678fe8fb07fe9330420eab'/>
<id>527cc04ffb9ea627ca678fe8fb07fe9330420eab</id>
<content type='text'>
The parser will now interpret the '#' character as a single-line comment
string, which works on it's own line, or at the end of an existing line.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The parser will now interpret the '#' character as a single-line comment
string, which works on it's own line, or at the end of an existing line.
</pre>
</div>
</content>
</entry>
<entry>
<title>read() and recite() overhaul</title>
<updated>2024-03-23T08:45:54+00:00</updated>
<author>
<name>Rory Dudley</name>
</author>
<published>2024-03-23T08:45:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dwarvish.org/dwarvish.git/commit/?id=5a7718698373d07a29fffcb792acdb81aa7712d7'/>
<id>5a7718698373d07a29fffcb792acdb81aa7712d7</id>
<content type='text'>
Rebuilt the LR parser (i.e. read()) from the ground up. This required
that some changes be made to recite(), in order to accomodate the new
data structures. These data structures were each split out into their
own file, in order to make working with each component a bit easier.

In addition to reworking the parts of the parser already present, some
new features were also added, such as:
  - Support for strings (' and ")
  - Support for environment variables ($)
  - Support for interpreting tild as $HOME (~)
  - Support for sub-reading and sub-reciting (`)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rebuilt the LR parser (i.e. read()) from the ground up. This required
that some changes be made to recite(), in order to accomodate the new
data structures. These data structures were each split out into their
own file, in order to make working with each component a bit easier.

In addition to reworking the parts of the parser already present, some
new features were also added, such as:
  - Support for strings (' and ")
  - Support for environment variables ($)
  - Support for interpreting tild as $HOME (~)
  - Support for sub-reading and sub-reciting (`)
</pre>
</div>
</content>
</entry>
</feed>
