Add appveyor and example
This commit is contained in:
parent
8e629d4637
commit
6820dc24eb
2 changed files with 59 additions and 0 deletions
13
parser/appveyor.yml
Normal file
13
parser/appveyor.yml
Normal file
|
@ -0,0 +1,13 @@
|
|||
install:
|
||||
- ps: Start-FileDownload 'https://static.rust-lang.org/dist/rust-nightly-i686-pc-windows-gnu.exe'
|
||||
- rust-nightly-i686-pc-windows-gnu.exe /VERYSILENT /NORESTART /DIR="C:\Program Files (x86)\Rust"
|
||||
- SET PATH=%PATH%;C:\Program Files (x86)\Rust\bin
|
||||
- SET PATH=%PATH%;C:\MinGW\bin
|
||||
- rustc -V
|
||||
- cargo -V
|
||||
- git submodule update --init --recursive
|
||||
|
||||
build: false
|
||||
|
||||
test_script:
|
||||
- cargo test --verbose
|
46
parser/examples/dump_yaml.rs
Normal file
46
parser/examples/dump_yaml.rs
Normal file
|
@ -0,0 +1,46 @@
|
|||
extern crate yaml_rust;
|
||||
|
||||
use std::env;
|
||||
use std::fs::File;
|
||||
use std::io::prelude::*;
|
||||
use yaml_rust::yaml;
|
||||
|
||||
fn print_indent(indent: usize) {
|
||||
for _ in 0..indent {
|
||||
print!(" ");
|
||||
}
|
||||
}
|
||||
|
||||
fn dump_node(doc: &yaml::Yaml, indent: usize) {
|
||||
match doc {
|
||||
&yaml::Yaml::Array(ref v) => {
|
||||
for x in v {
|
||||
dump_node(x, indent + 1)
|
||||
}
|
||||
},
|
||||
&yaml::Yaml::Hash(ref h) => {
|
||||
for (k, v) in h {
|
||||
print_indent(indent);
|
||||
println!("{:?}:", k);
|
||||
dump_node(v, indent + 1)
|
||||
}
|
||||
},
|
||||
_ => {
|
||||
print_indent(indent);
|
||||
println!("{:?}", doc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let args: Vec<_> = env::args().collect();
|
||||
let mut f = File::open(&args[1]).unwrap();
|
||||
let mut s = String::new();
|
||||
f.read_to_string(&mut s).unwrap();
|
||||
|
||||
let docs = yaml::YamlLoader::load_from_str(&s).unwrap();
|
||||
for doc in &docs {
|
||||
println!("---");
|
||||
dump_node(doc, 0);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue