aboutsummaryrefslogtreecommitdiff
path: root/helix-parsec/Cargo.toml
diff options
context:
space:
mode:
authorMichael Davis2023-02-07 08:18:44 +0000
committerBlaž Hrastnik2023-03-08 01:48:35 +0000
commitc8e6857affdd286a5aff1e8f72fc428ea216076e (patch)
treedf0f46056161273fba9bd4a11f771b704c8c8a06 /helix-parsec/Cargo.toml
parentf976c004e2efa4cb583b06827b44fef84bf925f5 (diff)
Add a parser-combinator crate
Parser-combinators are one of the simpler tools for building ad-hoc parsers. They're a good fit because they are... * Small: each parser / parser-combinator is around 10 LOC. * Functional: helix_core strives to be a functional set of utilities usable throughout the rest of the editor. * Flexible: use them to build any sort of ad-hoc parser. In the child commit, we'll parse LSP Snippet syntax using these new parser combinators. Why not use an existing parser-combinator crate? Existing popular parser-combinator crates have histories of making breaking changes (for example nom and combine). > Implementation note: I tried to not introduce a new trait since the > types can be expressed in terms of `impl Fn`s. The trait is necessary > to build `seq` implementations without a proc macro though, and also > allows us to use `&'static str`s very conveniently: see the trait > implementation for `&'static str`.
Diffstat (limited to 'helix-parsec/Cargo.toml')
-rw-r--r--helix-parsec/Cargo.toml14
1 files changed, 14 insertions, 0 deletions
diff --git a/helix-parsec/Cargo.toml b/helix-parsec/Cargo.toml
new file mode 100644
index 00000000..562df8dd
--- /dev/null
+++ b/helix-parsec/Cargo.toml
@@ -0,0 +1,14 @@
+[package]
+name = "helix-parsec"
+version = "0.6.0"
+authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
+edition = "2021"
+license = "MPL-2.0"
+description = "Parser combinators for Helix"
+categories = ["editor"]
+repository = "https://github.com/helix-editor/helix"
+homepage = "https://helix-editor.com"
+include = ["src/**/*", "README.md"]
+
+[dependencies]
+regex = "1"