unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
To: Guile Users' Mailing List <guile-user@gnu.org>
Subject: [ANN] Guile-DSV 0.5.2 released
Date: Tue, 18 Apr 2023 22:44:11 +0300	[thread overview]
Message-ID: <87fs8xc6wk.fsf@gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2882 bytes --]

Hello Guilers,

I'm pleased to announce Guile-DSV 0.5.2:
  https://github.com/artyom-poptsov/guile-dsv/releases/tag/v0.5.2

This release includes a bugfix in RFC 4180 parser and adds some features
for fancy semi-graphic table formatting.

See the full list of user-visible changes below.


* What is Guile-DSV?

Guile-DSV is a library that allows to parse Delimiter-Separated Values
format (DSV).  It supports two flavors of DSV: Unix-style[1] and RFC4180[2].

Also Guile-DSV is shipped with a program named "dsv" that allows to read
and process DSV format (including delimiter change and conversion from
one standard to another.)  See README file for usage examples.


* List of user visible changes

Here's an excerpt from the NEWS file:

--8<---------------cut here---------------start------------->8---
* Changes in version 0.5.2 (2023-04-18)
** Bugfixes
*** RFC 4180 now handles empty trailing fields correctly
The library would skip a trailing empty field in a row thus a row shorter than
the rest of the table rows would be made.  For example, the following data:

#+BEGIN_EXAMPLE
  a,b
  c,
#+END_EXAMPLE

Would result in:
#+BEGIN_EXAMPLE lisp
'(("a" "b")
  ("c"))
#+END_EXAMPLE

Now this behavior should be fixed so the result for the same data will look as
follows:
#+BEGIN_EXAMPLE lisp
'(("a" "b")
  ("c" ""))
#+END_EXAMPLE
** =dsv= now accepts =--table-presets-path= option
The option allows to set the path to a directory that contains table presets.
** =dsv= now reads =GUILE_DSV_TABLE_PRESETS_PATH= environment variable
This environment variable allows to specify the directory that contains table
presets, akin to =--table-presets-path= option.
** Table presets now allow to specify styles
The styles are in the format of GNU/Linux terminal colors, e.g. "107;100".
See the manual page for "dsv" or =dsv --help= for details.
** Now table preset parameters can be overridden
For example:
#+begin_example shell
$ dsv -b "graphic-with-shadow,bs=107;100,ts=107;100"
#+end_example
** Table presets now allow to specify a table shadow symbol and offsets
For example, a simple table with a semi-graphic shadow "░" with an offset
"2;1" can be created using the "graphic" preset with overrides:
#+begin_example shell
$ echo -e "a1,b1,c1\na2,b2,c2\n" | dsv -b "graphic,s=░,so=2;1,ss=1;37,ts=1;44,bs=1;44"
#+end_example
** Update the help output of =dsv= and its man page
--8<---------------cut here---------------end--------------->8---


Thanks and happy hacking!

- Artyom

[1] http://www.catb.org/~esr/writings/taoup/html/ch05s02.html#id2901882
[2] https://tools.ietf.org/html/rfc4180

-- 
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
Home page: https://memory-heap.org/~avp/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE  B57C E9C5 A2D9 0898 A02F

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

                 reply	other threads:[~2023-04-18 19:44 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fs8xc6wk.fsf@gmail.com \
    --to=poptsov.artyom@gmail.com \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).