diff --git a/docs/id-ID/config/README.md b/docs/id-ID/config/README.md index ed2b8180..5ec32357 100644 --- a/docs/id-ID/config/README.md +++ b/docs/id-ID/config/README.md @@ -253,6 +253,7 @@ $kubernetes\ $directory\ $vcsh\ $fossil_branch\ +$fossil_metrics\ $git_branch\ $git_commit\ $git_state\ @@ -1524,6 +1525,41 @@ truncation_length = 4 truncation_symbol = '' ``` +## Fossil Metrics + +The `fossil_metrics` module will show the number of added and deleted lines in the check-out in your current directory. At least v2.14 (2021-01-20) of Fossil is required. + +### Opsi + +| Opsi | Bawaan | Deskripsi | +| -------------------- | ------------------------------------------------------------ | ------------------------------------- | +| `fromat` | `'([+$added]($added_style) )([-$deleted]($deleted_style) )'` | Format dari modul. | +| `added_style` | `'bold green'` | The style for the added count. | +| `deleted_style` | `'bold red'` | The style for the deleted count. | +| `only_nonzero_diffs` | `true` | Render status only for changed items. | +| `disabled` | `true` | Disables the `fossil_metrics` module. | + +### Variabel + +| Variabel | Contoh | Deskripsi | +| ----------------- | ------ | ------------------------------------------- | +| added | `1` | The current number of added lines | +| deleted | `2` | The current number of deleted lines | +| added_style\* | | Mirrors the value of option `added_style` | +| deleted_style\* | | Mirrors the value of option `deleted_style` | + +*: Variabel tersebut hanya dapat digunakan sebagai bagian dari penataan string + +### Contoh + +```toml +# ~/.config/starship.toml + +[fossil_metrics] +added_style = 'bold blue' +format = '[+$added]($added_style)/[-$deleted]($deleted_style) ' +``` + ## Google Cloud (`gcloud`) The `gcloud` module shows the current configuration for [`gcloud`](https://cloud.google.com/sdk/gcloud) CLI. This is based on the `~/.config/gcloud/active_config` file and the `~/.config/gcloud/configurations/config_{CONFIG NAME}` file and the `CLOUDSDK_CONFIG` env var. @@ -1969,7 +2005,7 @@ The `gradle` module is only able to read your Gradle Wrapper version from your c | Opsi | Bawaan | Deskripsi | | ------------------- | ------------------------------------ | ----------------------------------------------------------------------------------- | -| `format` | `"via [$symbol($version )]($style)"` | Format dari modul. | +| `fromat` | `"via [$symbol($version )]($style)"` | Format dari modul. | | `version_format` | `"v${raw}"` | Format dari versi. Variabel yang tersedia adalah `raw`, `major`, `minor`, & `patch` | | `symbol` | `"🅶 "` | A format string representing the symbol of Gradle. | | `detect_extensions` | `["gradle", "gradle.kts"]` | Ekstensi mana yang sebaiknya memicu modul ini. | @@ -2323,7 +2359,7 @@ kotlin_binary = 'kotlinc' ## Kubernetes -Displays the current [Kubernetes context](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context) name and, if set, the namespace, user and cluster from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-context --namespace astronaut`. Similarly the user and cluster can be set with `kubectl config set-context starship-context --user starship-user` and `kubectl config set-context starship-context --cluster starship-cluster`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`. +Displays the current [Kubernetes context](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context) name and, if set, the namespace, user and cluster from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-context --namespace astronaut`. Similarly, the user and cluster can be set with `kubectl config set-context starship-context --user starship-user` and `kubectl config set-context starship-context --cluster starship-cluster`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`. ::: tip @@ -2335,18 +2371,40 @@ When the module is enabled it will always be active, unless any of `detect_exten ### Opsi +::: warning + +The `context_aliases` and `user_aliases` options are deprecated. Use `contexts` and the corresponding `context_alias` and `user_alias` options instead. + +::: + | Opsi | Bawaan | Deskripsi | | ------------------- | ---------------------------------------------------- | --------------------------------------------------------------------- | | `symbol` | `'☸ '` | A format string representing the symbol displayed before the Cluster. | | `fromat` | `'[$symbol$context( \($namespace\))]($style) in '` | Format dari modul. | | `style` | `'cyan bold'` | Gaya penataan untuk modul. | -| `context_aliases` | `{}` | Table of context aliases to display. | -| `user_aliases` | `{}` | Table of user aliases to display. | +| `context_aliases`* | `{}` | Table of context aliases to display. | +| `user_aliases`* | `{}` | Table of user aliases to display. | | `detect_extensions` | `[]` | Ekstensi mana yang sebaiknya memicu modul ini. | | `detect_files` | `[]` | filenames mana yang sebaiknya memicu modul ini. | | `detect_folders` | `[]` | Folder mana yang sebaiknya memicul modul ini. | +| `contexts` | `[]` | Customized styles and symbols for specific contexts. | | `disabled` | `true` | Disables the `kubernetes` module. | +*: This option is deprecated, please add `contexts` with the corresponding `context_alias` and `user_alias` options instead. + +To customize the style of the module for specific environments, use the following configuration as part of the `contexts` list: + +| Variabel | Deskripsi | +| ----------------- | ---------------------------------------------------------------------------------------- | +| `context_pattern` | **Required** Regular expression to match current Kubernetes context name. | +| `user_pattern` | Regular expression to match current Kubernetes user name. | +| `context_alias` | Context alias to display instead of the full context name. | +| `user_alias` | User alias to display instead of the full user name. | +| `style` | The style for the module when using this context. If not set, will use module's style. | +| `symbol` | The symbol for the module when using this context. If not set, will use module's symbol. | + +Note that all regular expression are anchored with `^$` and so must match the whole string. The `*_pattern` regular expressions may contain capture groups, which can be referenced in the corresponding alias via `$name` and `$N` (see example below and the [rust Regex::replace() documentation](https://docs.rs/regex/latest/regex/struct.Regex.html#method.replace)). + ### Variabel | Variabel | Contoh | Deskripsi | @@ -2368,13 +2426,9 @@ When the module is enabled it will always be active, unless any of `detect_exten [kubernetes] format = 'on [⛵ ($user on )($cluster in )$context \($namespace\)](dimmed green) ' disabled = false -[kubernetes.context_aliases] -'dev.local.cluster.k8s' = 'dev' -'.*/openshift-cluster/.*' = 'openshift' -'gke_.*_(?P[\w-]+)' = 'gke-$var_cluster' -[kubernetes.user_aliases] -'dev.local.cluster.k8s' = 'dev' -'root/.*' = 'root' +contexts = [ + { context_pattern = "dev.local.cluster.k8s", style = "green", symbol = "💔 " }, +] ``` Only show the module in directories that contain a `k8s` file. @@ -2387,25 +2441,36 @@ disabled = false detect_files = ['k8s'] ``` -#### Regex Matching +#### Kubernetes Context specific config -Additional to simple aliasing, `context_aliases` and `user_aliases` also supports extended matching and renaming using regular expressions. - -The regular expression must match on the entire kube context, capture groups can be referenced using `$name` and `$N` in the replacement. This is more explained in the [regex crate](https://docs.rs/regex/1.5.4/regex/struct.Regex.html#method.replace) documentation. - -Long and automatically generated cluster names can be identified and shortened using regular expressions: +The `contexts` configuration option is used to customise what the current Kubernetes context name looks like (style and symbol) if the name matches the defined regular expression. ```toml -[kubernetes.context_aliases] -# OpenShift contexts carry the namespace and user in the kube context: `namespace/name/user`: -'.*/openshift-cluster/.*' = 'openshift' -# Or better, to rename every OpenShift cluster at once: -'.*/(?P[\w-]+)/.*' = '$var_cluster' +# ~/.config/starship.toml +[[kubernetes.contexts]] +# "bold red" style + default symbol when Kubernetes current context name equals "production" *and* the current user +# equals "admin_user" +context_pattern = "production" +user_pattern = "admin_user" +style = "bold red" +context_alias = "prod" +user_alias = "admin" + +[[kubernetes.contexts]] +# "green" style + a different symbol when Kubernetes current context name contains openshift +context_pattern = ".*openshift.*" +style = "green" +symbol = "💔 " +context_alias = "openshift" + +[[kubernetes.contexts]] +# Using capture groups # Contexts from GKE, AWS and other cloud providers usually carry additional information, like the region/zone. # The following entry matches on the GKE format (`gke_projectname_zone_cluster-name`) # and renames every matching kube context into a more readable format (`gke-cluster-name`): -'gke_.*_(?P[\w-]+)' = 'gke-$var_cluster' +context_pattern = "gke_.*_(?P[\\w-]+)" +context_alias = "gke-$cluster" ``` ## Line Break @@ -2637,7 +2702,7 @@ The `nim` module shows the currently installed version of [Nim](https://nim-lang | Opsi | Bawaan | Deskripsi | | ------------------- | ------------------------------------ | ----------------------------------------------------------------------------------- | -| `format` | `'via [$symbol($version )]($style)'` | Format dari modul | +| `fromat` | `'via [$symbol($version )]($style)'` | The format for the module | | `version_format` | `'v${raw}'` | Format dari versi. Variabel yang tersedia adalah `raw`, `major`, `minor`, & `patch` | | `symbol` | `'👑 '` | The symbol used before displaying the version of Nim. | | `detect_extensions` | `['nim', 'nims', 'nimble']` | Ekstensi mana yang sebaiknya memicu modul ini. | @@ -2674,7 +2739,7 @@ The `nix_shell` module shows the [nix-shell](https://nixos.org/guides/nix-pills/ | Opsi | Bawaan | Deskripsi | | ------------- | ---------------------------------------------- | --------------------------------------------------------------------- | -| `format` | `'via [$symbol$state( \($name\))]($style) '` | Format dari modul. | +| `fromat` | `'via [$symbol$state( \($name\))]($style) '` | Format dari modul. | | `symbol` | `'❄️ '` | A format string representing the symbol of nix-shell. | | `style` | `'bold blue'` | Gaya penataan untuk modul. | | `impure_msg` | `'impure'` | A format string shown when the shell is impure. | @@ -2722,7 +2787,7 @@ The `nodejs` module shows the currently installed version of [Node.js](https://n | Opsi | Bawaan | Deskripsi | | ------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------------------------- | -| `format` | `'via [$symbol($version )]($style)'` | Format dari modul. | +| `fromat` | `'via [$symbol($version )]($style)'` | Format dari modul. | | `version_format` | `'v${raw}'` | Format dari versi. Variabel yang tersedia adalah `raw`, `major`, `minor`, & `patch` | | `symbol` | `' '` | A format string representing the symbol of Node.js. | | `detect_extensions` | `['js', 'mjs', 'cjs', 'ts', 'mts', 'cts']` | Ekstensi mana yang sebaiknya memicu modul ini. | @@ -2767,7 +2832,7 @@ The `ocaml` module shows the currently installed version of [OCaml](https://ocam | Opsi | Bawaan | Deskripsi | | ------------------------- | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -| `format` | `'via [$symbol($version )(\($switch_indicator$switch_name\) )]($style)'` | The format string for the module. | +| `fromat` | `'via [$symbol($version )(\($switch_indicator$switch_name\) )]($style)'` | The format string for the module. | | `version_format` | `'v${raw}'` | Format dari versi. Variabel yang tersedia adalah `raw`, `major`, `minor`, & `patch` | | `symbol` | `'🐫 '` | The symbol used before displaying the version of OCaml. | | `global_switch_indicator` | `''` | The format string used to represent global OPAM switch. | @@ -2807,7 +2872,7 @@ The `opa` module shows the currently installed version of the OPA tool. By defau | Opsi | Bawaan | Deskripsi | | ------------------- | ------------------------------------ | ----------------------------------------------------------------------------------- | -| `format` | `'via [$symbol($version )]($style)'` | Format dari modul. | +| `fromat` | `'via [$symbol($version )]($style)'` | Format dari modul. | | `version_format` | `'v${raw}'` | Format dari versi. Variabel yang tersedia adalah `raw`, `major`, `minor`, & `patch` | | `symbol` | `'🪖 '` | A format string representing the symbol of OPA. | | `detect_extensions` | `['rego']` | Ekstensi mana yang sebaiknya memicu modul ini. | @@ -2843,7 +2908,7 @@ The `openstack` module shows the current OpenStack cloud and project. The module | Opsi | Bawaan | Deskripsi | | ---------- | ----------------------------------------------- | -------------------------------------------------------------- | -| `format` | `'on [$symbol$cloud(\($project\))]($style) '` | Format dari modul. | +| `fromat` | `'on [$symbol$cloud(\($project\))]($style) '` | Format dari modul. | | `symbol` | `'☁️ '` | The symbol used before displaying the current OpenStack cloud. | | `style` | `'bold yellow'` | Gaya penataan untuk modul. | | `disabled` | `false` | Disables the `openstack` module. | @@ -2890,7 +2955,7 @@ This module is disabled by default. To enable it, set `disabled` to `false` in y | Opsi | Bawaan | Deskripsi | | ---------- | --------------------- | ------------------------------------------------------ | -| `format` | `"[$symbol]($style)"` | Format dari modul. | +| `fromat` | `"[$symbol]($style)"` | Format dari modul. | | `style` | `"bold white"` | Gaya penataan untuk modul. | | `disabled` | `true` | Disables the `os` module. | | `symbols` | | A table that maps each operating system to its symbol. | @@ -3000,7 +3065,7 @@ The `package` module is shown when the current directory is the repository for a | Opsi | Bawaan | Deskripsi | | ----------------- | --------------------------------- | ----------------------------------------------------------------------------------- | -| `format` | `'is [$symbol$version]($style) '` | Format dari modul. | +| `fromat` | `'is [$symbol$version]($style) '` | Format dari modul. | | `symbol` | `'📦 '` | The symbol used before displaying the version the package. | | `version_format` | `'v${raw}'` | Format dari versi. Variabel yang tersedia adalah `raw`, `major`, `minor`, & `patch` | | `style` | `'bold 208'` | Gaya penataan untuk modul. | @@ -3040,7 +3105,7 @@ The `perl` module shows the currently installed version of [Perl](https://www.pe | Opsi | Bawaan | Deskripsi | | ------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -| `format` | `'via [$symbol($version )]($style)'` | The format string for the module. | +| `fromat` | `'via [$symbol($version )]($style)'` | The format string for the module. | | `version_format` | `'v${raw}'` | Format dari versi. Variabel yang tersedia adalah `raw`, `major`, `minor`, & `patch` | | `symbol` | `'🐪 '` | The symbol used before displaying the version of Perl | | `detect_extensions` | `['pl', 'pm', 'pod']` | Ekstensi mana yang sebaiknya memicu modul ini. | @@ -3584,7 +3649,7 @@ This module is disabled by default. To enable it, set `disabled` to `false` in y | Variabel | Bawaan | Deskripsi | | --------- | ------ | ---------------------------------------------------------- | | indicator | | Mirrors the value of `indicator` for currently used shell. | -| style\* | | Menyalin nilai dari opsi `style`. | +| style\* | | Mirrors the value of option `style`. | *: Variabel tersebut hanya dapat digunakan sebagai bagian dari penataan string @@ -4244,7 +4309,7 @@ Format strings can also contain shell specific prompt sequences, e.g. [Bash](htt | `when` | `false` | Either a boolean value (`true` or `false`, without quotes) or a string shell command used as a condition to show the module. In case of a string, the module will be shown if the command returns a `0` status code. | | `require_repo` | `false` | If `true`, the module will only be shown in paths containing a (git) repository. This option alone is not sufficient display condition in absence of other options. | | `shell` | | [See below](#custom-command-shell) | -| `deskripsi` | `''` | The description of the module that is shown when running `starship explain`. | +| `description` | `''` | The description of the module that is shown when running `starship explain`. | | `detect_files` | `[]` | The files that will be searched in the working directory for a match. | | `detect_folders` | `[]` | The directories that will be searched in the working directory for a match. | | `detect_extensions` | `[]` | The extensions that will be searched in the working directory for a match. |