An open API service indexing awesome lists of open source software.

https://github.com/leont/yamlish

An implementation of YAML in Raku
https://github.com/leont/yamlish

raku yaml

Last synced: 11 months ago
JSON representation

An implementation of YAML in Raku

Awesome Lists containing this project

README

          

[![Actions Status](https://github.com/Leont/yamlish/actions/workflows/linux.yml/badge.svg)](https://github.com/Leont/yamlish/actions) [![Actions Status](https://github.com/Leont/yamlish/actions/workflows/macos.yml/badge.svg)](https://github.com/Leont/yamlish/actions) [![Actions Status](https://github.com/Leont/yamlish/actions/workflows/windows.yml/badge.svg)](https://github.com/Leont/yamlish/actions)

NAME
====

YAMLish - a YAML parser/emitter written in pure raku

DESCRIPTION
===========

This is a YAML parser written in pure-raku. It aims at being feature complete (though there still a few features left to implement). Patches are welcome.

INSTALLATION
============

```console
$ zef install YAMLish
```

EXPORTED SUBS
=============

* `load-yaml(Str $input, ::Grammar:U :$schema = ::Schema::Core, :%tags)`

* `load-yamls(Str $input, ::Grammar:U :$schema = ::Schema::Core, :%tags)`

* `save-yaml($document, :$sorted = True)`

* `save-yamls(**@documents, :$sorted = True)`

Example use for a configuration file
====================================

This configuration file begins with a comment followed by three lines of key/value:

# key: value
lang: en
lat: 46.12345
lon: -82.6231

Access the file in your code like this:

use YAMLish;
my $str = "config.yml".IO.slurp:
my %conf = load-yaml $str;
say %conf; # OUTPUT: «en␤»
say %conf; # OUTPUT: «46.12345␤»
say %conf; # OUTPUT: «-82.6231␤»

TODO
====

Please have a look at [./TODO.md](./TODO.md)

AUTHOR
======

Leon Timmermans

LICENSE
=======

Artistic License 2.0