* feat(kubernetes): Add styling based on current context
Add an ability to customize the configuration of the kubernetes module style, based on the current context.
A new variable is added to the config section, called environments, which is a list of possible customizations. Each such customization is an object with a context_pattern regex, which matches context name, and an optional style and icon that will override the global configuration, if the currently used context matched the context_pattern.
Based on multiple attempts to add per-context styling and symbols to the kubernetes module.
- https://github.com/starship/starship/pull/1568 by @lht https://github.com/lht -> base
- https://github.com/starship/starship/pull/614 by @nomaed https://github.com/nomaed -> naming, symbol, some tests
Rebased and combined by @jankatins
Contains the following squasched commits
- Rename to contexts and move aliases into contexts
- Move deprecated functions to a submodule
- Cleanup: ignore None-valued KubeCtxComponents
- Add regex func + clean up matching-context search
- Placate paper clip
Closes: https://github.com/starship/starship/issues/570
Co-authored-by: =?UTF-8?q?Boris=20Aranovic=CC=8C?= <nomaed@gmail.com>
Co-authored-by: Jan Katins <jasc@gmx.net>
Co-authored-by: Kevin Song <chips@ksong.dev>
* refactor(kubernetes): Remove options and use clearer names
* test(kubernetes): Handle duplicated contexts right
* refactor(kubernetes): Cleaner user matching
* fix(kubernetes): Only show warning in case of problems
* feat(kubernetes): Add back alias replacements
* refactor(kubernetes): Cleanup rust usage
---------
Co-authored-by: Haitao Li <lihaitao@gmail.com>
Co-authored-by: =?UTF-8?q?Boris=20Aranovic=CC=8C?= <nomaed@gmail.com>
Co-authored-by: Kevin Song <chips@ksong.dev>
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
* feat(fossil_metrics): add fossil_metrics module
* Return early if not in a Fossil check-out
* Add more tests for fossil_metrics
* Move is in Fossil checkout check after module enabled check
* Update type for new toml version
* Update the config file schema
* Rework parsing of fossil diff output
* Fix Fossil check-out detection in subdirectories
* Use regex to only match expected fossil diff output
* Use shared ancestor scanning and fix detection on Windows
* Add note on minimum Fossil version
* build(deps): update clap crates
* build(deps): update rust crate notify-rust to 4.7.1
* build(deps): update rust crate shadow-rs to 0.20.1
* build(deps): update rust crate git-features to 0.26.5
* build(deps): update rust crate notify-rust to 4.8.0
* docs(kubernetes): Remove extra backspace from regex in example (#4905)
Remove extra backspace from regex in example
In the example, `[\\w-]` would match a literal backspace `\`, the
character `w` or a dash `-`. By removing the backspace, instead it
matches any "word character" `\w` or a dash `-`.
* docs(i18n): new Crowdin updates (#4877)
* chore: use updated gitoxide crate names (#4913)
* build(deps): update rust crate gix to 0.37.1
* build(deps): update rust crate toml_edit to 0.19.4
* docs(install): update nushell instructions in installation script (#4921)
Improve Nushell installation instruction
Consistently use `save -f` rather than `save`; the latter fails if the
file already exists
Signed-off-by: Michel Alexandre Salim <michel@michel-slm.name>
* build(deps): update rust crate clap_complete to 4.1.3
* build(deps): update rust crate gix to 0.37.2
* docs(i18n): new Crowdin updates (#4925)
* chore(master): release 1.13.0 (#4730)
* build(deps): update rust crate tempfile to 3.4.0
* fix: trigger release
* chore(master): release 1.13.1 (#4937)
* ci: set Node version for docs build
* ci: allow docs to be manually published via workflow_dispatch
* ci: remove unneeded dependency in publish job
* ci: add caching for docs publishing step
* build(deps): update rust crate schemars to 0.8.12
* build(deps): update dprint plugins
* build(deps): update rust crate shadow-rs to 0.21.0
* build(deps): update clap crates
* feat(release): handle chocolatey starship.portable and starship.install pkg publishing (#4723)
Handles starship.install (MSI installer) and starship.portable and makes starship an
empty meta-package that only depends on starship.install. MSI/installer packages
seem to be preferred over zip-based installers on chocolatey. Proper virtual packages
that allow choosing either a portable or install variant aren't implemented in chocolatey yet.
* ci: replace `audit` with `deny` action (#4856)
* build(deps): update rust crate clap to 4.1.8
* build(deps): update gitoxide crates
* ci: use `reviewdog/action-suggester` for config-schema check (#4857)
* ci: use `reviewdog/action-suggester` for config-schema check
* increase workflow permissions
* fix(preset): add output-flag to avoid encoding issues (#4926)
* build(deps): update rust crate rayon to 1.7.0
* build(deps): update gitoxide crates
* build(deps): update pest crates to 2.5.6
* build(deps): update rust crate serde_json to 1.0.94
* build(deps): update npm to ^1.9.9
* build(deps): update rust crate open to 3.4.0
* docs(character): use updated `vimcmd_symbol` instead of older `vicmd_symbol` variant (#4960)
Fix typo in character example
* build(deps): update rust crate serde to 1.0.153
* docs(install): fix typo and update indentation and whitespaces (#4941)
* build(deps): update rust crate serde to 1.0.154
* build(deps): update rust crate gix to 0.40.0
* chore: fix clippy warnings for rust 1.68 (#4983)
* fix(init): avoid cygpath for starship binary path (#4970)
Update mod.rs
* build(deps): update rust crate open to v4 (#4982)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): update rust crate toml_edit to 0.19.5
* build(deps): update rust crate gix to 0.41.0 (#4984)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): update rust crate serde to 1.0.155
* build(deps): update rust crate chrono to 0.4.24
* build(deps): update rust crate semver to 1.0.17
* build(deps): update rust crate quick-xml to 0.28.0
* Update sponsors
* build(deps): update toml crates
* build(deps): update rust crate nu-ansi-term to 0.47.0
* build(deps): update rust crate windows to 0.46.0
* build(deps): update rust crate serde to 1.0.156
* docs(preset): Add `hostname.ssh_symbol` to nerd font preset (#4991)
docs(preset): Add missing ssh_symbol in nerd font
* fix(fossil_branch): fossil checkout database file name on windows (#4978)
fix(fossil_branch): use proper fossil checkout database file name on windows
* build(deps): update gitoxide crates
* build(deps): update rust crate toml_edit to 0.19.7
* build(deps): update clap crates
* build(deps): update rust crate serde to 1.0.157
* build(deps): update rust crate quick-xml to 0.28.1
* build(deps): update rust crate clap to 4.1.11
* docs(preset): add missing config for Java to no-runtime-version (#5011)
docs(preset): add missing Java to no-runtime-version
* build(deps): update rust crate serde to 1.0.158
* feat(aws): Adds support for AWS_CREDENTIAL_EXPIRATION environment variable (#5002)
feat(aws): supports AWS_CREDENTIAL_EXPIRATION environment variable
Adds support for the AWS_CREDENTIAL_EXPIRATION environment variable
which was adopted as the standard way to set the expiration for
temporary credentials. The existing AWS_SESSION_EXPIRATION environment
variable is not dropped for backwards compatibility.
See https://github.com/aws/aws-cli/pull/7398
* build(deps): update rust crate open to 4.0.1
* build(deps): update rust crate regex to 1.7.2
* chore: add spell checker to workflows (#4975)
* chore: add spell checker to workflows
* fix: update config schema
* fix: revert for fennel.rs
* build(deps): update rust crate toml_edit to 0.19.8
* build(deps): update crate-ci/typos action to v1.14.3
* build(deps): update rust crate clap to 4.1.13
* build(deps): update embarkstudios/cargo-deny-action action to v1.5.0
* build(deps): update rust crate gix to 0.43.0
* fix(gradle): add support for unstable Gradle versions (#5021)
* build(deps): update rust crate serde_json to 1.0.95
* docs: Update nerd-font-symbols.toml pop_os! symbol (#5017)
Update nerd-font-symbols.toml
Use the specific pop_os! nerd symbol instead of the generic lollipop
* build(deps): update clap crates
* build(deps): update rust crate regex to 1.7.3
* build(deps): update rust crate serde to 1.0.159
* build(deps): update rust crate indexmap to 1.9.3
* build(deps): update clap crates to 4.2.0
* build(deps): update rust crate tempfile to 3.5.0
* build(deps): update rust crate windows to 0.47.0
* build(deps): update rust crate clap to 4.2.1
* build(deps): update rust crate gix to 0.43.1
* build(deps): update rust crate windows to 0.48.0
* fix(pulumi): Fix formatting on pulumi module when using version (#5038)
Fix formatting on pulumi module when using version
Sanitize `pulumi version` output to remove leading 'v' character and trailing
newlines.
* feat(fossil): detection of Fossil check-outs in subdirectories (#4910)
* Move PathExt::device_id() outside modules module
* Add upwards_sibling_scan-function
* Fix Fossil check-out detection in subdirectories
* Use shared upwards scanning function in hg_branch
* Let the caller specify if they're looking for a file or a folder
* fix merge
---------
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
* feat(aws): add support for source_profile (#4859)
feat(aws): add support for source_profile (#3834)
Co-authored-by: @luiscamaral
* feat(custom): add option to check if pwd is in a repo (#4822)
* feat(custom): add option to check if pwd is in a repo
* Apply suggestions from code review
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
* change whenrepo to require_repo
* chore: fix doc formatting
---------
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
* build(deps): update rust crate terminal_size to 0.2.6
* build(deps): update rust crate process_control to 4.0.3 (#5046)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): update pest crates to 2.5.7 (#5043)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): update crate-ci/typos action to v1.14.4
* docs(presets): add azure and gcloud default symbols to plaintext preset (#5040)
* chore(nu): use updated closure syntax (#5054)
Update starship.nu to conform to Nushell changes
Nushell recently made a change to require that all closures have an explicit parameter list, even if it's empty, in https://github.com/nushell/nushell/pull/8290.
This updates starship.nu to conform to this requirement.
I have casually tested this against both the latest released version of Nushell, and the latest version on HEAD; the changed code works well (for me) on both.
* build(deps): update crate-ci/typos action to v1.14.5
* build(deps): update embarkstudios/cargo-deny-action action to v1.5.1
* fix(java): wrong version number when using Android Studio JDK (#4966)
The regular expression would get the revision number found in:
with gcc Android (7284624, based on r416183b)
so it would print "7284624".
* build(deps): update dprint plugins
* build(deps): update rust crate os_info to 3.7.0 (#5057)
* build(deps): update rust crate os_info to 3.7.0
* add new os symbols
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* docs(i18n): new Crowdin updates (#4956)
* chore(master): release 1.14.0 (#4948)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix: trigger release
* fix: bootstrap manifest for release-please (#5087)
* fix: update the release-please manifest
* chore: fix release-please-manifest version
* ci: Revert "fix: bootstrap manifest for release-please (#5087)"
This reverts commit e392d14f4e.
* chore(master): release 1.14.1 (#5090)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* ci: add missing GH token to doc publishing flow
* build(deps): update rust crate serde to 1.0.160
* docs: update snap instructions (#5007)
As part of #4954, non-edge packages of Starship were removed from Snapcraft. This means the only way to install Starship is through the `edge` channel using `snap install --edge starship`.
* fix(git_commit): resolve panic on 32-bit targets (#5095)
* chore(choco): remove chocolatey dependency (#5078)
* docs(i18n): new Crowdin updates (#5093)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations tokyo-night.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations bracketed-segments.md (Ukrainian)
* New translations nerd-font.md (Ukrainian)
* New translations no-runtimes.md (Ukrainian)
* New translations plain-text.md (Ukrainian)
* New translations pure-preset.md (Ukrainian)
* New translations pastel-powerline.md (Ukrainian)
* New translations no-nerd-font.md (Ukrainian)
* New translations no-empty-icons.md (Ukrainian)
* New translations README.md (French)
* New translations README.md (Russian)
* New translations README.md (Spanish)
* New translations README.md (Arabic)
* New translations README.md (German)
* New translations README.md (Italian)
* New translations README.md (Japanese)
* New translations README.md (Korean)
* New translations README.md (Dutch)
* New translations README.md (Polish)
* New translations README.md (Portuguese)
* New translations README.md (Turkish)
* New translations README.md (Chinese Simplified)
* New translations README.md (Chinese Traditional)
* New translations README.md (Vietnamese)
* New translations README.md (Portuguese, Brazilian)
* New translations README.md (Indonesian)
* New translations README.md (Sorani (Kurdish))
* New translations README.md (Ukrainian)
* New translations README.md (Norwegian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations README.md (Ukrainian)
* New translations bracketed-segments.md (Ukrainian)
* New translations nerd-font.md (Ukrainian)
* New translations no-runtimes.md (Ukrainian)
* New translations plain-text.md (Ukrainian)
* New translations pure-preset.md (Ukrainian)
* New translations pastel-powerline.md (Ukrainian)
* New translations no-nerd-font.md (Ukrainian)
* New translations no-empty-icons.md (Ukrainian)
* New translations tokyo-night.md (Ukrainian)
* New translations README.md (Ukrainian)
* chore(master): release 1.14.2 (#5098)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* build(deps): update embarkstudios/cargo-deny-action action to v1.5.2
* build(deps): update rust crate quick-xml to 0.28.2
* build(deps): update rust crate serde_json to 1.0.96
* build(deps): update rust crate starship-battery to 0.8.0 (#5106)
* build(deps): update rust crate gethostname to 0.4.2
* feat: add typechange to git_status module (#4829)
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
* feat(azure): subscription name aliases (#4949)
* From issue #4448, added `subscription_aliases`
as a field for the Azure module
Can be set in starship.toml with
[azure.subscription_aliases]
* Updated config file schema
* Added entry into documentation
* Update README.md
* Formatted with dprint
* feat(git_metrics): add option to ignore submodules (#5052)
* add docs
* update schema
* ok, actually update schema
* add test
* fix lint
* accidentally included my .devenv directory
* feat: Add Solidity Module (#5047)
* Adding documentation
* Documentation and schema addition
* Creating solidity config
* Module for solidity lang
* Updating all the files
* Changing according to clippy
* Fixing misspellings
* Changes suggested by clippy
* Updating schema , maybe fixing docs workflow error
* Updating schema
* Removing solcjs from default compiler list
* Fallback test added and test string fixed
* Fixing docs
* Updating schema
* Updating schema
* Fixing docs
* Updating schema
* Updating schema
* Typo fix
* Update docs/config/README.md
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
* Update src/utils.rs
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
* Fix build commit
---------
Co-authored-by: Anirban Halder <shaeo967@gmail.com>
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
* build(deps): update crate-ci/typos action to v1.14.6
* build(deps): update rust crate clap to 4.2.2
* fix(config): Make print-config not panic without a config (#5001)
* build(deps): update rust crate open to 4.0.2
* build(deps): update rust crate clap to 4.2.3
* build(deps): update rust crate gix-features to 0.29.0
* build(deps): update crate-ci/typos action to v1.14.8
* build(deps): update rust crate clap to 4.2.4
* build(deps): update rust crate dunce to 1.0.4
* build(deps): update rust crate regex to 1.8.0
* build(deps): update rust crate clap_complete to 4.2.1
* build(deps): update rust crate regex to 1.8.1
* docs(pwsh): use a more convenient method to update the window title (#5125)
docs: fix PowerShell example to update the window title
* fix(style): ensure nested style variables are processed during formatting (#5120)
fix: ensure nested style variables are processed during formatting
* refactor(Context): `set_config` method for `Context` (#5079)
* add `set_config` method to `Context`
* Made inline comment a doc comment
* use `default_context()` for `set_config()` test
* use `set_config()` in tests for `print.rs`
* set root config w `set_config()` (`print.rs` test)
* build(deps): update rust crate home to 0.5.5
* build(deps): update pest crates to 2.6.0
* build(deps): update rust crate open to 4.1.0
* build(deps): upgrade gitoxide to v0.44 for performance improvements during discovery (#5141)
upgrade gitoxide to v0.44 for performance improvements during discovery
Please note that there is a new `dot_git_only` option which would further
speedup discovery. On even moderatly fast disks that probably not going
to make a difference, but it will on incredibly slow (networked) disks.
See https://github.com/helix-editor/helix/issues/6867 for reference.
* fix(snap): Update snapcraft.yaml to add personal-files interface (#5131)
* build(deps): update rust crate clap to 4.2.5
* docs: add Ukranian to the project README (#5147)
* Specify personal-file interface for snap
* fix(presets): Added ($style) to format in module 'sudo' in Bracketed Segments Preset (#5146)
* Fixed error in module 'sudo'
There was no ($style) in format. When module enabled this lead to the error [WARN] - (starship::modules::sudo): Error in module `sudo`
* Update docs/.vuepress/public/presets/toml/bracketed-segments.toml
typo fix
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
---------
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
* ci: remove actions-rs actions (#5115)
* build(deps): update rust crate clap to 4.2.7
* build(deps): update crate-ci/typos action to v1.14.9
* build(deps): update rust crate serde to 1.0.162
* build(deps): update rust crate rust-ini to 0.19.0 (#5172)
* build(deps): update rust crate rust-ini to 0.19.0
* add CC0-1.0 to allowed license list
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): update rust crate versions to v5 (#5176)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(aws): support aws sso with automatic authentication refresh (#5170)
* feat(aws): support aws sso with automatic authentication refresh
* docs(aws): add sso_session for profile detection
* feat(gcloud): add `detect_env_vars` option (#5166)
* feat(gcloud): add `detect_env_vars` option
* regenerate config schema
* docs: update CONTRIBUTING.md and README.md (#5153)
* build(deps): update rust crate clap_complete to 4.2.2
* fix: update of presets and default configuration to reflect changes in Nerd Fonts 3.0 (#5162)
* Updated nf-mdi-* to nf-md-* symbols
The following symbols where changed
- directory.read_only
- memory_usage
- meson
- nim
- os.symbols.Garuda
- os.symbols.HardenedBSD
- os.symbols.Illumos
- os.symbols.OpenBSD
- os.symbols.OracleLinux
- os.symbols.Redox
- os.symbols.Solus
- os.symbols.Windows
- package
- rlang
* Updated nf-mdi-* to nf-md-* symbols (for all other presets)
The following symbols where changed
for pastel-powerline:
- directory.substitutions.Documents
- nim
for tokyo-night
- directory.substitutions.Documents
- golang
* Updated nf-mdi-* to nf-md-* symbols for the default configuration in modules in src/configs/*.rs
The following symbols where changed
- azure
- battery.full_symbol
- battery.charging_symbol
- battery.discharging_symbol
- battery.unknown_symbol
- battery.empty_symbol
* Updated config-schema.json
* Updated src/modules/*.rs docs/config/README.md
and used `nerdfix` to check if I overlook anything
* Fixed the battery discharging symbol in the tests
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: jtrv <travershasemail@gmail.com>
* build(deps): disable unnecessary/unused regex features (#5175)
This will reduce the binary size by ~400 kB.
* build(deps): update rust crate serde to 1.0.163
* build(deps): update xalvarez/prevent-file-change-action action to v1.3.2
* build(deps): update rust crate clap_complete to 4.2.3
* build(deps): update rust crate gethostname to 0.4.3
* build(deps): update dprint plugins
* build(deps): update toml crates
* build(deps): update crate-ci/typos action to v1.14.10
* build(deps): update clap crates to 4.3.0
* build(deps): update crate-ci/typos action to v1.14.11
* build(deps): update rust crate regex to 1.8.2
* build(deps): update rust crate toml_edit to 0.19.10
* build(deps): update rust crate regex to 1.8.3
* build(deps): update rust crate shadow-rs to 0.22.0
* build(deps): update rust crate log to 0.4.18
* build(deps): update rust crate chrono to 0.4.25
* build(deps): update rust crate once_cell to 1.17.2
* build(deps): update rust crate chrono to 0.4.26
* refactor: simplify `shadow-rs` setup in `build.rs` (#5209)
Update build.rs
* feat(golang): adding `mod_version` variable (#5177)
* feat(nodejs): Add `expected_version` variable (#5081)
* add `expected_version` variable to `nodejs`
* show comparison symbols with `expected_version`
* documentation, formatting, more tests
* Remapped `engines_version` to $version
* Added better descriptions to docs
* Update docs/config/README.md
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
* Removed clone from `nodejs`, formatting
* refactored function calls
* rewrote `engines_version` formatter
* Moved Lazy variables into maps
---------
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
* build(deps): update crate-ci/typos action to v1.14.12
* build(deps): update clap crates to 4.3.1
* fix: bump libz-ng-sys (#5218)
* build(deps): update rust crate clap to 4.3.2
* build(deps): update rust crate shadow-rs to 0.23.0
* build(deps): update rust crate regex to 1.8.4
* build(deps): update rust crate once_cell to 1.18.0
* Update GA measurement ID
* build(deps): update rust crate nu-ansi-term to 0.48.0
* docs(i18n): new Crowdin updates (#5109)
* Revert "Specify personal-file interface for snap"
This reverts commit 2641a37865.
This was reverted due to errors in the snap publishing pipeline:
interface 'starship-config' not found in base declaration declaration-snap-v2_plug_known (starship-config, starship-config)
invalid plugs interface definition 'starship-config' lint-snap-v2_app_plugs_plug_reference (starship, starship-config)
unknown interface 'starship-config' lint-snap-v2_plugs (starship-config, starship-config)
* chore(master): release 1.15.0 (#5108)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Checkout before running gh commands in CI
* Inline script for GA4
* build(deps): update gitoxide crates
* build(deps): update rust crate tempfile to 3.6.0
* Update GA4 tag attribute
* build(deps): update crate-ci/typos action to v1.15.0
* feat: update the nushell init file and make it valid module and overlay (#5188)
* break long commands into multiple lines for readability
* fix the format of closures
We generally write `{|| ...}` instead of `{ || ...}`.
* remove the `$"--opt=(val)"` structure when possible
`starship` does not require to use `--opt=val` and so we do not
need to do that with Nushell :)
the only place where this is required is with `--status` because
`$env.LAST_EXIT_CODE` can be negative and `starship` does not
appear to *like* values of the form `-2`...
so i left this line as it was.
on the other hand, `$env.CMD_DURATION_MS` and `(term size).columns`
should be fine 😌
* simplify the `config` mutation with new `?` syntax
This is a new very handy feature of Nushell which gives a much
simpler command combined with `default` and `merge`.
* put all `let-env`s inside an `export-env` with `load-env`
This commit has two reasons of existing:
- i think it makes it a bit easier to read with less `let-env`s
- it transforms the *script* into both a valid module and a valid
overlay
* bump the version to `0.78` in to docs
* add a note about the init file being also a module to all docs
* tweak the documentation
* update the Nushell part of the install script
* format the vuepress config file
as previous commit 117580136d3da5e00a4ccb7ada508c8510a2e50e was
not successful, let's try to make the CI happy manually 😌
* remove code quotes in the `config_cmd` of Nushell
* format the style in the Nushell `warning` section
* build(deps): update rust crate serde to 1.0.164 (#5231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): update rust crate starship-battery to 0.8.1 (#5232)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(pwsh): Support vi command mode indicator (#5049)
Support vi command mode in powershell
* build(deps): update rust crate clap to 4.3.3 (#5235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): update rust crate gix to 0.46.0
* build(deps): update rust crate log to 0.4.19 (#5240)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: fix typos (#5239)
* chore: fix new clippy lints (#5241)
* docs: Correct Arch Linux Repo Name (#5243)
* Correct Arch Linux repo name
* Revert changes to translated files.
* build(deps): update rust crate quick-xml to 0.29.0
* build(deps): update reviewdog/action-suggester action to v1.6.1
* build(deps): update rust crate clap to 4.3.4
* build(deps): update rust crate serde_json to 1.0.97
* build(deps): update rust crate shadow-rs to 0.23.0 (#5250)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(bash): Clear out completed jobs before counting NUM_JOBS (#5253)
Clear out completed jobs before counting NUM_JOBS
* build(deps): update pest crates to 2.6.1
* redesign
* jet link
* screenshot
* readme, config
* clean trails whitespace
* fmt
* comment vicmd
* mv pos, right prompt warn
* right prompt prereq
* reco and typo
* resolve build check error
* tidy
* resolve build check error
* resolve build check error
* request changes
* rm src contents
* rm git_status.rs
* tryint fix checks
* PR review request: rm comments
* PR review request: rm redundant default
* PR review request: enable aws
---------
Signed-off-by: Michel Alexandre Salim <michel@michel-slm.name>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fenech <tomjwfenech@gmail.com>
Co-authored-by: Matan Kushner <hello@matchai.dev>
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
Co-authored-by: Michel Alexandre Salim <michel@michel-slm.name>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jan Dittrich <mail@jand.one>
Co-authored-by: Zhizhen He <hezhizhen.yi@gmail.com>
Co-authored-by: Swarnim Maheshwari <rexzeo0@gmail.com>
Co-authored-by: Guilhem Saurel <guilhem.saurel@laas.fr>
Co-authored-by: Stefan Cosma <66746+stefanc@users.noreply.github.com>
Co-authored-by: Christian Meusel <christian.meusel@posteo.de>
Co-authored-by: Harry Hodge <harry@harryhodge.co.uk>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Dave Parr <8363743+DaveParr@users.noreply.github.com>
Co-authored-by: Ryan Sabatini <11415980+rjsab@users.noreply.github.com>
Co-authored-by: Vegard Skui <me@vegardskui.com>
Co-authored-by: Cosimo Matteini <dev.matteini@gmail.com>
Co-authored-by: jliaoh <48660001+hunterliao29@users.noreply.github.com>
Co-authored-by: Matthew T <tet68mt+github@gmail.com>
Co-authored-by: Samir Talwar <samir@functional.computer>
Co-authored-by: Aurélien Gâteau <mail@agateau.com>
Co-authored-by: Aki Kanellis <hello@akikanellis.com>
Co-authored-by: Chad Denyar <6653063+cdenyar@users.noreply.github.com>
Co-authored-by: marcybell <marcy@marcelinesystems.dev>
Co-authored-by: Colton Donnelly <colton@donn.io>
Co-authored-by: AnirbanHalder654322 <92542059+AnirbanHalder654322@users.noreply.github.com>
Co-authored-by: Anirban Halder <shaeo967@gmail.com>
Co-authored-by: Dom Slee <domslee1@gmail.com>
Co-authored-by: Micky Brunetti <micky2be@users.noreply.github.com>
Co-authored-by: Andrew Pantuso <ajpantuso@gmail.com>
Co-authored-by: Sebastian Thiel <sebastian.thiel@icloud.com>
Co-authored-by: Scott Parkhill <scott.parkhill@gmail.com>
Co-authored-by: Eldar Khurmamatov <74624554+e-khurmamatov@users.noreply.github.com>
Co-authored-by: kensasongko <ken.sasongko@gmail.com>
Co-authored-by: Denis Cornehl <denis@cornehl.org>
Co-authored-by: Mick Hohmann <gh@m69.im.net>
Co-authored-by: jtrv <travershasemail@gmail.com>
Co-authored-by: Jakub Jirutka <jakub@jirutka.cz>
Co-authored-by: baoyachi. Aka Rust Hairy crabs <liaoymxsdl@sina.com>
Co-authored-by: Antoine Stevan <44101798+amtoine@users.noreply.github.com>
Co-authored-by: Nemo157 <git@nemo157.com>
Co-authored-by: Dosenpfand <Dosenpfand@users.noreply.github.com>
Co-authored-by: Ajeet D'Souza <98ajeet@gmail.com>
Skip unnecessary indirection in starship init zsh
The installation instructions indicate that one should add this snippet
to zsh's configuration:
eval "$(starship init zsh)"
The command `starship init zsh` prints a little shell script for zsh to
execute:
> starship init zsh
source <(/usr/bin/starship init zsh --print-full-init)%
Running `starship init zsh --print-full-init` prints yet another script
that zsh executes. There is an intermediate step that seems redundant;
starship prints a script for zsh to execute, and this script prints
another script for zsh to execute.
This commit skips the intermediate execution and prints the final script
in `starship init`. This is backwards compatible and does not require
any changes in the installation instructions, so it could be release
without a major version bump.
Note that it would still be possible to update the installation
instructions to `source <(starship init zsh)`; this patch works with
both `source` and `eval`. Picking the most performant one is beyond this
scope of this commit.
See: https://github.com/starship/starship/issues/2637