Browse Source

added fuzzy search for gitmoji

master
n0m1s 6 years ago
parent
commit
778ec1efeb
Signed by: nomis GPG Key ID: BC0454CAD76FE803
3 changed files with 32 additions and 2 deletions
  1. +16
    -0
      Cargo.lock
  2. +1
    -0
      Cargo.toml
  3. +15
    -2
      src/main.rs

+ 16
- 0
Cargo.lock View File

@ -193,6 +193,7 @@ dependencies = [
"git2 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
"simsearch 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -439,6 +440,14 @@ dependencies = [
"serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "simsearch"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"strsim 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "socket2"
version = "0.3.11"
@ -450,6 +459,11 @@ dependencies = [
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "strsim"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "syn"
version = "0.14.9"
@ -595,7 +609,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
"checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7"
"checksum simsearch 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1b83e2d460ac1b8305d8659b8cba6b2208ca0e68df9393ab1dcc4e07dda5f3c8"
"checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
"checksum strsim 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
"checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741"
"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
"checksum synstructure 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "85bb9b7550d063ea184027c9b8c20ac167cd36d3e06b3a40bceb9d746dc1a7b7"


+ 1
- 0
Cargo.toml View File

@ -11,3 +11,4 @@ curl = "0.4.25"
derive_more = "0.99.2"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
simsearch = "0.1"

+ 15
- 2
src/main.rs View File

@ -1,16 +1,29 @@
extern crate simsearch;
mod settings;
mod gitmoji;
use settings::Settings;
use gitmoji::Gitmojis;
use simsearch::SimSearch;
fn main() {
let settings = Settings::new(None);
gitmoji::update(&gitmoji::Url::default_github(), &settings.repo_path, &settings.json_path).unwrap();
let gitmojis = Gitmojis::load(&settings.json_path).unwrap();
for gitmoji in gitmojis.gitmojis {
let db = Gitmojis::load(&settings.json_path).unwrap();
let mut engine: SimSearch<usize> = SimSearch::new();
for i in 0..db.gitmojis.len() {
let gitmoji = &db.gitmojis[i];
engine.insert(i, &format!("{}: {}", gitmoji.name, gitmoji.description));
}
let results: Vec<usize> = engine.search("lip");
for i in results {
let gitmoji = &db.gitmojis[i];
println!("{} - {}", gitmoji.emoji, gitmoji.description);
}
}

Loading…
Cancel
Save