feat(docker_context): Configure when module is shown (#2315)
* feat(docker_context): Configure when module is shown This makes it possible to configure when the docker_context module is shown based on the contents of a directory. This should make it possible to be a lot more granular when configuring the module. * Update docs/config/README.md Co-authored-by: David Knaack <davidkna@users.noreply.github.com> Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
This commit is contained in:
parent
856610d53b
commit
e8f463bb57
|
@ -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
|
||||
|
||||
|
|
|
@ -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![],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,11 +20,14 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
|
|||
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")
|
||||
|
|
Loading…
Reference in New Issue