Add JSON5 support for languages.json (#986)

This commit is contained in:
Wu Tingfeng 2023-04-25 15:42:32 +08:00 committed by GitHub
parent ebf199b341
commit 8f286cc669
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 2 deletions

12
Cargo.lock generated
View file

@ -608,6 +608,17 @@ dependencies = [
"wasm-bindgen",
]
[[package]]
name = "json5"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1"
dependencies = [
"pest",
"pest_derive",
"serde",
]
[[package]]
name = "lazy_static"
version = "1.4.0"
@ -1338,6 +1349,7 @@ dependencies = [
"grep-searcher",
"hex",
"ignore",
"json5",
"log",
"num-format",
"once_cell",

View file

@ -35,6 +35,7 @@ panic = "abort"
tera = "1.15"
ignore = "0.4"
serde_json = "1"
json5 = "0.4"
[dependencies]
aho-corasick = "0.7"

View file

@ -1,8 +1,9 @@
extern crate ignore;
extern crate serde_json;
extern crate json5;
use std::ffi::OsStr;
use std::fs::{self, File};
use std::fs;
use std::path::Path;
use std::{cmp, env, error};
@ -20,7 +21,8 @@ fn main() -> Result<(), Box<dyn error::Error>> {
fn generate_languages(out_dir: &OsStr) -> Result<(), Box<dyn error::Error>> {
let mut tera = tera::Tera::default();
let mut json: Value = serde_json::from_reader(File::open(&"languages.json")?)?;
let json_string: String = fs::read_to_string("languages.json")?.parse()?;
let mut json: Value = json5::from_str(&json_string)?;
for (_key, ref mut item) in json
.get_mut("languages")