From ab24ddf14c8b1727d65d5d0b3af9858fd2c62630 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxime=20=E2=80=9Cpep=E2=80=9D=20Buquet?= Date: Thu, 12 Jan 2023 21:45:48 +0100 Subject: [PATCH] README: Add progress MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maxime “pep” Buquet --- README.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/README.md b/README.md index 66f5b3d..073df20 100644 --- a/README.md +++ b/README.md @@ -7,3 +7,39 @@ Parser for the [Scansion project][Scansion] DSL. # License SPDX: MPL-2.0. See LICENSE file. + +# Parsing support + +Language features are more or less defined here: +https://matthewwild.co.uk/projects/scansion/usage/script-basics/ + +This library supports parsing the following: + +- [ ] Metadata +- [x] Client + * [x] Attributes + Following lines beginning with at least a tab (`\t`) character, in the + form `attr: value`, and ending with a newline (`\n`). Any line that + matches this format will be parsed and will be discarded if it doesn't + match an actual client attribute. + - [x] jid: Expects a bare jid or a full jid. Will be converted to + `jid::Jid`. + - [x] password + - [x] custom\_host + - [x] custom\_port: Expect a u16 +- [-] Actions + * [x] 'connects' + * [x] 'disconnects' + * [-] 'sends:' / 'receives:' + - [x] A block of lines each starting with a tab (`\t`) after the + action will be converted to a `minidom::Element`. + - [ ] `nothing` as the absence of stanza. +- [x] Comments + Optional lines starting with a `#` or `//` and ending with a newline + (`\n`). They get discarded in the output + +## minidom::Element + +Minidom `Element`s require every element to be namespaced. This parser adds +`jabber:client` as a default namespace. It also adds a `scansion` namespace +that is used for the `scansion:strict` XML parameter.