From 90aadad3ce1d9562f405138e3029dac4c598ad53 Mon Sep 17 00:00:00 2001 From: vodkaslime <646329483@qq.com> Date: Fri, 1 Sep 2023 01:21:39 +0800 Subject: [PATCH] feat: map js,ts,jsx and tsx to js-ts as unified language [TAB-181] (#386) * feat: reduce js, ts, jsx and tsx to js-ts * chore: refactor and add language reducing to both indexing and dataset jobs * chore: only reduce language in dataset job * chore: only reduce language in index job * chore: fix lint * chore: resolve comments --- crates/tabby-scheduler/src/index.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/crates/tabby-scheduler/src/index.rs b/crates/tabby-scheduler/src/index.rs index ef556dd..418782f 100644 --- a/crates/tabby-scheduler/src/index.rs +++ b/crates/tabby-scheduler/src/index.rs @@ -46,10 +46,12 @@ pub fn index_repositories(_config: &Config) -> Result<()> { continue; } } + + let language = reduce_language_if_needed(&doc.language); writer.add_document(doc!( field_git_url => doc.git_url.clone(), field_filepath => doc.filepath.clone(), - field_language => doc.language.clone(), + field_language => language, field_name => name, field_body => body, field_kind => tag.syntax_type_name, @@ -62,6 +64,14 @@ pub fn index_repositories(_config: &Config) -> Result<()> { Ok(()) } +fn reduce_language_if_needed(language: &str) -> &str { + if ["javascript", "jsx", "typescript", "tsx"].contains(&language) { + "javascript-typescript" + } else { + language + } +} + lazy_static! { static ref LANGUAGE_NAME_BLACKLIST: HashMap<&'static str, Vec<&'static str>> = HashMap::from([("python", vec!["__init__"])]);