From 4706cb446054ffc785200e1778a85b20f28dc041 Mon Sep 17 00:00:00 2001 From: Adrian Malacoda Date: Sun, 12 Mar 2017 18:52:39 -0500 Subject: [PATCH] AggregateSearcher should keep order of searchers --- Cargo.toml | 1 + src/lib.rs | 1 + src/searchers/mod.rs | 6 +++--- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f7ddaee..1fd6b44 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,3 +18,4 @@ hyper = "0.9.18" serde_json = "0.9" retry = { git = "https://github.com/jimmycuadra/retry", rev = "3fa812e650d64ede61ea243fb83ef1a222ff0f84" } mopa = "0.2.2" +linked-hash-map = "0.4.1" diff --git a/src/lib.rs b/src/lib.rs index b49fc74..b264b60 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -2,6 +2,7 @@ extern crate hyper; extern crate select; extern crate serde_json; extern crate retry; +extern crate linked_hash_map; #[macro_use] extern crate mopa; diff --git a/src/searchers/mod.rs b/src/searchers/mod.rs index b2cd5aa..d6ae934 100644 --- a/src/searchers/mod.rs +++ b/src/searchers/mod.rs @@ -3,7 +3,7 @@ pub mod yugioh; pub mod mediawiki; use Link; -use std::collections::BTreeMap; +use linked_hash_map::LinkedHashMap; pub trait Searcher { fn fuzzy_search (&self, name: &str) -> Option { @@ -15,13 +15,13 @@ pub trait Searcher { type SearchFn = Box Option>>; pub struct AggregateSearcher { - searchers: BTreeMap + searchers: LinkedHashMap } impl AggregateSearcher { pub fn new () -> AggregateSearcher { AggregateSearcher { - searchers: BTreeMap::new() + searchers: LinkedHashMap::new() } }