diff --git a/docs/config/README.md b/docs/config/README.md index 67e0d6a4..20b43cc7 100644 --- a/docs/config/README.md +++ b/docs/config/README.md @@ -726,13 +726,16 @@ The `docker_context` module shows the currently active ### Options -| Option | Default | Description | -| ----------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| `format` | `"via [$symbol$context]($style) "` | The format for the module. | -| `symbol` | `"🐳 "` | The symbol used before displaying the Docker context. | -| `style` | `"blue bold"` | The style for the module. | -| `only_with_files` | `true` | Only show when there's a `docker-compose.yml`, `docker-compose.yaml`, or `Dockerfile` in the current directory. | -| `disabled` | `false` | Disables the `docker_context` module. | +| Option | Default | Description | +| ------------------- | ------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `format` | `"via [$symbol$context]($style) "` | The format for the module. | +| `symbol` | `"🐳 "` | The symbol used before displaying the Docker context. | +| `only_with_files` | `true` | Only show when there's a match | +| `detect_extensions` | `[]` | Which extensions should trigger this module (needs `only_with_files` to be true). | +| `detect_files` | `["docker-compose.yml", "docker-compose.yaml", "Dockerfile"]` | Which filenames should trigger this module (needs `only_with_files` to be true). | +| `detect_folders` | `[]` | Which folders should trigger this module (needs `only_with_files` to be true). | +| `style` | `"blue bold"` | The style for the module. | +| `disabled` | `false` | Disables the `docker_context` module. | ### Variables diff --git a/src/configs/docker_context.rs b/src/configs/docker_context.rs index 9aa5fba8..ec732b2b 100644 --- a/src/configs/docker_context.rs +++ b/src/configs/docker_context.rs @@ -9,6 +9,9 @@ pub struct DockerContextConfig<'a> { pub format: &'a str, pub only_with_files: bool, pub disabled: bool, + pub detect_extensions: Vec<&'a str>, + pub detect_files: Vec<&'a str>, + pub detect_folders: Vec<&'a str>, } impl<'a> RootModuleConfig<'a> for DockerContextConfig<'a> { @@ -19,6 +22,9 @@ impl<'a> RootModuleConfig<'a> for DockerContextConfig<'a> { format: "via [$symbol$context]($style) ", only_with_files: true, disabled: false, + detect_extensions: vec![], + detect_files: vec!["docker-compose.yml", "docker-compose.yaml", "Dockerfile"], + detect_folders: vec![], } } } diff --git a/src/modules/docker_context.rs b/src/modules/docker_context.rs index 23840888..7b301d8a 100644 --- a/src/modules/docker_context.rs +++ b/src/modules/docker_context.rs @@ -20,11 +20,14 @@ pub fn module<'a>(context: &'a Context) -> Option> { if config.only_with_files && !context .try_begin_scan()? - .set_files(&["docker-compose.yml", "docker-compose.yaml", "Dockerfile"]) + .set_files(&config.detect_files) + .set_extensions(&config.detect_extensions) + .set_folders(&config.detect_folders) .is_match() { return None; } + let docker_config = PathBuf::from( &context .get_env_os("DOCKER_CONFIG")