Skip to content

Commit 6c697bf

Browse files
committed
Split into generator and extractor packages
1 parent b677a91 commit 6c697bf

File tree

8 files changed

+213
-13
lines changed

8 files changed

+213
-13
lines changed

Cargo.lock

Lines changed: 155 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,2 @@
1-
[package]
2-
name = "codeql-ruby"
3-
version = "0.1.0"
4-
authors = ["Nick Rolfe <[email protected]>"]
5-
edition = "2018"
6-
7-
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
8-
9-
[dependencies]
1+
[workspace]
2+
members = ["extractor", "generator"]

extractor/Cargo.toml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[package]
2+
name = "ruby-extractor"
3+
version = "0.1.0"
4+
authors = ["GitHub"]
5+
edition = "2018"
6+
7+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
8+
9+
[dependencies]
10+
tree-sitter = "0.17.0"
11+
12+
[build-dependencies]
13+
cc="*"

extractor/build.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
use std::path::PathBuf;
2+
3+
fn main() {
4+
let dir: PathBuf = ["../tree-sitter-ruby", "src"].iter().collect();
5+
6+
cc::Build::new()
7+
.include(&dir)
8+
.file(dir.join("parser.c"))
9+
.file(dir.join("scanner.cc"))
10+
.compile("tree-sitter-ruby");
11+
}

extractor/src/main.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
use tree_sitter::{Language, Parser};
2+
3+
fn main() {
4+
let mut parser = Parser::new();
5+
6+
extern "C" {
7+
fn tree_sitter_ruby() -> Language;
8+
}
9+
10+
let language = unsafe { tree_sitter_ruby() };
11+
parser.set_language(language).unwrap();
12+
13+
let src = "def foo\n puts \"hello\"\nend";
14+
let tree = parser.parse(src, None).unwrap();
15+
let root_node = tree.root_node();
16+
17+
println!("Root: {}", root_node.to_sexp());
18+
}

generator/Cargo.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[package]
2+
name = "generator"
3+
version = "0.1.0"
4+
authors = ["GitHub"]
5+
edition = "2018"
6+
7+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
8+
9+
[dependencies]
10+
serde = { version = "1.0", features = ["derive"] }
11+
serde_json = "1.0"

generator/src/main.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
fn main() {
2+
println!("generator");
3+
}

src/main.rs

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)