License detection: also check `LICENSE.txt` and `LICENCE.txt` (#24351)

João Marcos created

and move the list of files to `crates/zeta/src/license_detection.rs`
for better visibility.

Release Notes:

- N/A

Change summary

crates/zeta/src/license_detection.rs | 3 +++
crates/zeta/src/zeta.rs              | 3 +--
2 files changed, 4 insertions(+), 2 deletions(-)

Detailed changes

crates/zeta/src/license_detection.rs 🔗

@@ -1,5 +1,8 @@
 use regex::Regex;
 
+/// The most common license locations, with US and UK English spelling.
+pub const LICENSE_FILES_TO_CHECK: &[&str] = &["LICENSE", "LICENCE", "LICENSE.txt", "LICENCE.txt"];
+
 pub fn is_license_eligible_for_data_collection(license: &str) -> bool {
     // TODO: Include more licenses later (namely, Apache)
     for pattern in [MIT_LICENSE_REGEX, ISC_LICENSE_REGEX] {

crates/zeta/src/zeta.rs 🔗

@@ -11,6 +11,7 @@ use db::kvp::KEY_VALUE_STORE;
 pub use init::*;
 use inline_completion::DataCollectionState;
 pub use license_detection::is_license_eligible_for_data_collection;
+use license_detection::LICENSE_FILES_TO_CHECK;
 pub use onboarding_banner::*;
 pub use rate_completion_modal::*;
 
@@ -952,8 +953,6 @@ impl LicenseDetectionWatcher {
     pub fn new(worktree: &Worktree, cx: &mut Context<Worktree>) -> Self {
         let (mut is_open_source_tx, is_open_source_rx) = watch::channel_with::<bool>(false);
 
-        const LICENSE_FILES_TO_CHECK: [&'static str; 2] = ["LICENSE", "LICENCE"]; // US and UK English spelling
-
         // Check if worktree is a single file, if so we do not need to check for a LICENSE file
         let task = if worktree.abs_path().is_file() {
             Task::ready(())