Tarantool development patches archive
 help / color / mirror / Atom feed
From: Cyrill Gorcunov <gorcunov@gmail.com>
To: Konstantin Osipov <kostja@tarantool.org>
Cc: tarantool-patches@freelists.org,
	Alexander Turenko <alexander.turenko@tarantool.org>
Subject: [tarantool-patches] Re: [RFC] box/lua/console: Add console.fmt module
Date: Fri, 21 Jun 2019 11:16:40 +0300	[thread overview]
Message-ID: <20190621081640.GB18551@uranus> (raw)
In-Reply-To: <20190621073241.GJ18958@atlas>

On Fri, Jun 21, 2019 at 10:32:41AM +0300, Konstantin Osipov wrote:
> > At the moment these two modes are supprted only.
> 
> We should have a meta command for this as well:
> 
> \set output format lua
> \set output format yaml

OK, will do.

> Are you sure we need a separate namespace for fmt, wouldn't
> console.set_format() be enough?

Because I want to separate output engine from general
console code. To me console is like a transport peer,
which includes setting up a connection to remote machine,
run evaluator and etc, but output formatter is like a
separate engine so it should live in other module. Or
you meant something else?

> > index 000000000..f860d76fb
> > --- /dev/null
> > +++ b/src/box/lua/console_fmt.lua
> > @@ -0,0 +1,295 @@
> > +-- # vim: ts=4 sw=4 et
> > +
> > +local internal = require('console')
> > +
> > +local console_formats = {
> > +    ["lua"] = nil,
> > +    ["yaml"] = nil
> > +}
> 
> Why didn't  you use a git submodule with an established Lua
> formatter?

I considered using vanilla "pretty print" or "serpent" but

1) they are too huge
2) we need own extensions for decoding own subset of keywords
   (for example box.NULL symbol)

so we simply can't use unmodified third party engines thus
better to keep own much simpler (hopefully) engine.

  parent reply	other threads:[~2019-06-21  8:16 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-20 21:54 [tarantool-patches] " Cyrill Gorcunov
2019-06-21  7:32 ` [tarantool-patches] " Konstantin Osipov
2019-06-21  7:36   ` Konstantin Osipov
2019-06-21  8:09     ` Cyrill Gorcunov
2019-06-21 12:11       ` Konstantin Osipov
2019-06-21 12:33         ` Cyrill Gorcunov
2019-06-21  8:16   ` Cyrill Gorcunov [this message]
2019-06-21 12:14     ` Konstantin Osipov
2019-06-21 12:41       ` Cyrill Gorcunov
2019-06-21 12:47         ` Konstantin Osipov
2019-06-21 13:17           ` Cyrill Gorcunov
2019-06-21 20:07       ` Cyrill Gorcunov
2019-06-21 20:33         ` Konstantin Osipov
2019-06-21 22:34           ` Cyrill Gorcunov

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

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

  git send-email \
    --in-reply-to=20190621081640.GB18551@uranus \
    --to=gorcunov@gmail.com \
    --cc=alexander.turenko@tarantool.org \
    --cc=kostja@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --subject='[tarantool-patches] Re: [RFC] box/lua/console: Add console.fmt module' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox