2021-10-18 17:15:28 +00:00
|
|
|
# sexpr
|
|
|
|
|
2021-10-18 17:19:40 +00:00
|
|
|
[![GitHub release](https://img.shields.io/github/release/grimmigerFuchs/sexpr.svg)](https://github.com/grimmigerFuchs/sexpr/releases)
|
2021-10-18 17:16:57 +00:00
|
|
|
|
2021-10-18 17:15:28 +00:00
|
|
|
A small s-expression parser based on [fast-sexpr](https://www.npmjs.com/package/fast-sexpr).
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
1. Add the dependency to your `shard.yml`:
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
dependencies:
|
|
|
|
sexpr:
|
2021-10-18 17:21:57 +00:00
|
|
|
github: grimmigerFuchs/sexpr
|
2021-10-18 17:15:28 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
2. Run `shards install`
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
```crystal
|
|
|
|
require "sexpr"
|
|
|
|
|
|
|
|
source = "
|
|
|
|
(test (arg1 arg2) something else)
|
|
|
|
(another object (with (nests (too))))
|
|
|
|
"
|
|
|
|
|
|
|
|
pp Sexpr.parse(source)
|
2021-10-23 14:15:23 +00:00
|
|
|
|
|
|
|
# [["test", ["arg1", "arg2"], "something", "else"],
|
|
|
|
# ["another", "object", ["with", ["nests", ["too"]]]]]
|
2021-10-18 17:15:28 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
## Contributing
|
|
|
|
|
2021-10-18 17:19:40 +00:00
|
|
|
1. Fork it (<https://github.com/grimmigerFuchs/sexpr/fork>)
|
2021-10-18 17:15:28 +00:00
|
|
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
|
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
|
|
|
4. Push to the branch (`git push origin my-new-feature`)
|
|
|
|
5. Create a new Pull Request
|
|
|
|
|
|
|
|
## Contributors
|
|
|
|
|
2021-10-18 17:19:40 +00:00
|
|
|
- [grimmigerFuchs](https://github.com/grimmigerFuchs) - creator and maintainer
|