1
0
mirror of https://github.com/Llewellynvdm/starship.git synced 2024-12-12 14:17:45 +00:00
Commit Graph

1009 Commits

Author SHA1 Message Date
Camron Flanders
cec111affd
fix(direnv): update to work with direnv v2.33 (#5657)
* update AllowStatus to work with direnv 2.33

direnv now returns int enum instead of boolean, https://github.com/direnv/direnv/pull/1158

* update schema

* maybe fixed the schema now

* Whoops, I inverted the flags somehow

* have coffee, fix mistaken understanding

* undo changes to tranlations

* Update docs/config/README.md

* Update src/modules/direnv.rs

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* update test output

---------

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2024-01-06 11:46:25 +01:00
David Knaack
a83e10776b
revert: refactor(modules): use whoami crate to get username (#5669)
Revert "refactor(modules): use whoami crate to get username"
2024-01-02 15:45:06 +01:00
Sebastian Thiel
cdcfc367b5
build(deps): update rust crate gix to 0.57.0 (#5664)
* build(deps): update rust crate gix to 0.57.0

* chore(context): explicitly avoid erroring on no git-ceiling-dir-match

See: https://github.com/Byron/gitoxide/pull/1191
Co-Authored-By: Sebastian Thiel <sebastian.thiel@icloud.com>

---------

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2023-12-31 15:53:51 +01:00
David Knaack
cd0fdb7ce0
chore: apply new rust 1.75 & nightly clippy fixes (#5646)
chore: apply clippy fixes
2023-12-30 17:29:37 +01:00
Andrew Pantuso
e47bfbabb9
feat(direnv): add new direnv module (#5157) 2023-12-17 08:22:29 +01:00
Stefan Richter
6d96df3c68
feat(aws): Adding the AWS SSO CLI env variable to profile list (#5640)
Adding the AWS SSO CLI env variable to profile list

Adding support for the profile env variable used by https://github.com/synfinatic/aws-sso-cli
2023-12-17 08:20:58 +01:00
Ananta Bastola
a910e094f7
fix(docker_context): ignore unix domain socket path from Docker Context (#5616)
* fix(modules): ignore unix domain socket path from Docker Context

fix #5548

* refactor(docker_context): ignore docker_context on unix domain socket path

Closes #5548
2023-12-17 08:19:43 +01:00
David Knaack
00d3dc86a2
fix(git_status): Avoid printing error on missing stash ref (#5434)
* fix(git_status): Avoid printing error on missing stash ref

* ensure we only proceed if the returned reference has the expected name
2023-12-16 16:58:45 +01:00
David Knaack
64ca07910d
chore: fix rust 1.74 clippy lints (#5578) 2023-11-29 07:27:47 +01:00
William Howard
ac4a839103
perf(git_status): avoid running in bare repos (#5581)
* fix: git_status bare repo handling

* perform the git_status bare repo check earlier

* Adjusted test
2023-11-29 07:26:35 +01:00
Jan Gorecki
5267c464eb
feat: R lang packages version, remove .Rprofile from rlang detection (#5588)
* do not detect R for .Rprofile files, closes #2817

* get R package version, #5586

* update schema

* fix and simplify regex for rlang package version

* attempt to fix regex

* proper detect R packages, closes #5590

* reduce diff vs master branch
2023-11-29 07:25:40 +01:00
Gilbert Sanchez
d7a34b45f8
feat(shell): allow distinguishing between pwsh and powershell (#5478)
* Distinguish between pwsh and powershell

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2023-11-25 14:06:03 +01:00
Charlotte Thomas
7b217056bd feat: add typst module
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2023-11-12 19:02:31 +01:00
bestgopher
b5f9457b28 refactor(modules): use whoami crate to get username
Signed-off-by: bestgopher <84328409@qq.com>
2023-11-11 19:16:49 +01:00
Patrick Stadler
0ed7c6f650 zsh: clear exit code between prompts 2023-11-07 15:27:36 +01:00
Ohad Lutzky
7b851fc30e
feat(scanner): add option not to follow symlinks (#5325)
Add follow_symlinks option

Settings this to false can fix hanging on symlinks to slow/inaccessible
filesystems.
2023-11-02 09:01:09 +01:00
William Howard
81c7d0cc58
feat: add additional exit status code meanings from libc (#5412) 2023-10-13 10:56:28 +02:00
Ariel Barreiro
8168c21293
fix(bash): unbound variable error with STARSHIP_PREEXEC_READY (#5438)
Prevent unbound variable error
2023-10-01 08:54:06 +02:00
Mick Hohmann
43b2d42cd5
feat(hostname): add detect_env_vars as option (#5196)
* Added hostname.detect_env_vars

based on the newly added context::detect_env_vars

- extended context::detect_env_vars to check for negated environment
  variables as well, analogous to the other detect modules
- made hostname.detect_env_vars only active if ssh_only is set to false
  for backwards compatibility

Co-authored-by: Dominik Sander <dsander@users.noreply.github.com>

* added clippy recommendations, removed unneeded comments

* Added new logic (suggested in https://github.com/starship/starship/pull/5196#issuecomment-1566228913)

The new `detect_env_vars` now requires either SSH_ONLY to be false or the
environment variable SSH_CONNECTION to be set, so that is will be used

* Fixed typo

* Refactored the detect_env_vars function for early returns and better readability

* Change boolean logic for better readability

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* Apply suggestions from code review to `detect_env_vars` method.

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* Fixed bracket error & updated comments

- fixed bracket error in hostname.rs, after changes
- updated comments for context.rs, for the suggested changes

* Removed obsolete warning from docs/config/README.md

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

---------

Co-authored-by: Dominik Sander <dsander@users.noreply.github.com>
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2023-09-16 16:42:13 +02:00
Jan Katins
6b444e05c6
feat(kubernetes): Add styling based on current context (#4550)
* 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>
2023-09-02 09:19:33 +02:00
Vegard Skui
e867cda1eb
feat(fossil_metrics): add fossil_metrics module (#4874)
* 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
2023-09-02 09:19:04 +02:00
Hugo
5ca8daacd4
perf: Skip unnecessary indirection in starship init zsh (#5322)
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
2023-08-31 19:08:13 +02:00
David Knaack
77967148b6
chore: handle rust 1.72 clippy & fmt changes (#5399) 2023-08-25 22:53:35 +02:00
David Knaack
03278e4de4
fix(git): prevent core.fsmonitor from executing external commands (#3981) 2023-07-31 21:44:31 +02:00
cgzones
4fa4230dda
refactor(directory): avoid unnecessary string copies (#5313) 2023-07-30 14:32:20 +02:00
Vivek Kushwaha
3402f0e82a
feat(shlvl): add repeat_offset for repeated symbol (#5289)
Signed-off-by: Vivek Kushwaha <yoursvivek@users.noreply.github.com>
2023-07-14 10:59:02 +02:00
David Knaack
410f107c72
perf(git_status): query git stash count via gitoxide (#5238) 2023-07-11 11:26:50 +02:00
David Knaack
b9a4b08ac2
fix(rprompt): remove lprompt modules from $all again (#5067) 2023-07-06 11:32:17 +02:00
Ajeet D'Souza
0a05b5ca8b
fix(bash): Clear out completed jobs before counting NUM_JOBS (#5253)
Clear out completed jobs before counting NUM_JOBS
2023-06-17 14:06:35 +02:00
David Knaack
796a582f3c
chore: fix new clippy lints (#5241) 2023-06-13 17:06:04 -05:00
David Knaack
847a642d6a
chore: fix typos (#5239) 2023-06-13 15:40:17 -05:00
Nemo157
318050976b
feat(pwsh): Support vi command mode indicator (#5049)
Support vi command mode in powershell
2023-06-12 11:05:44 +02:00
Antoine Stevan
470aeb09a7
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
2023-06-12 11:02:46 +02:00
marcybell
70d2014f34
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>
2023-06-01 21:24:11 +02:00
marcybell
351bf9d0b3
feat(golang): adding mod_version variable (#5177) 2023-06-01 21:18:38 +02:00
Mick Hohmann
2558c4588b
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>
2023-05-10 14:36:56 +02:00
Denis Cornehl
d07a8e3668
feat(gcloud): add detect_env_vars option (#5166)
* feat(gcloud): add `detect_env_vars` option

* regenerate config schema
2023-05-09 07:55:49 +02:00
kensasongko
297176b0b8
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
2023-05-09 07:53:45 +02:00
Sebastian Thiel
8884bd1fd0
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.
2023-04-27 21:14:34 +02:00
marcybell
b8a167db57
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)
2023-04-24 16:03:47 +02:00
Andrew Pantuso
e5cec9ea50
fix(style): ensure nested style variables are processed during formatting (#5120)
fix: ensure nested style variables are processed during formatting
2023-04-24 16:03:04 +02:00
Dom Slee
ce7f984932
fix(config): Make print-config not panic without a config (#5001) 2023-04-13 19:29:21 -05:00
AnirbanHalder654322
b2ebd5b50c
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>
2023-04-13 21:05:12 +02:00
Colton Donnelly
ce01423152
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
2023-04-13 21:04:15 +02:00
marcybell
27ffa37cfd
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
2023-04-13 21:03:14 +02:00
Chad Denyar
edb96cad58
feat: add typechange to git_status module (#4829)
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2023-04-13 21:02:08 +02:00
David Knaack
7daddbe620
build(deps): update rust crate starship-battery to 0.8.0 (#5106) 2023-04-13 17:41:25 +09:00
David Knaack
b475b5809f
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>
2023-04-10 13:07:30 +02:00
Aurélien Gâteau
de7e94884b
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".
2023-04-07 15:40:23 +02:00
Samir Talwar
041a518353
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.
2023-04-05 07:53:06 +02:00
jliaoh
d29ce7c45d
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>
2023-04-02 16:39:45 +02:00
Cosimo Matteini
d2801ac443
feat(aws): add support for source_profile (#4859)
feat(aws): add support for source_profile (#3834)

Co-authored-by:	@luiscamaral
2023-04-02 16:38:03 +02:00
Vegard Skui
4bca74eca2
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>
2023-04-02 16:37:27 +02:00
Ryan Sabatini
aef799bfb0
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.
2023-04-02 16:36:54 +02:00
Harsh Shandilya
f7fe41f9c6
fix(gradle): add support for unstable Gradle versions (#5021) 2023-03-27 16:41:09 +02:00
Zhizhen He
0f8a2d9363
chore: add spell checker to workflows (#4975)
* chore: add spell checker to workflows

* fix: update config schema

* fix: revert for fennel.rs
2023-03-22 13:42:46 -05:00
Harry Hodge
74ce7fdbee
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
2023-03-20 21:56:12 +01:00
Stefan Cosma
c07a21d48a
fix(fossil_branch): fossil checkout database file name on windows (#4978)
fix(fossil_branch): use proper fossil checkout database file name on windows
2023-03-14 18:56:29 +01:00
Swarnim Maheshwari
0ad0465a7a
fix(init): avoid cygpath for starship binary path (#4970)
Update mod.rs
2023-03-11 07:24:14 +01:00
David Knaack
c8520dc9d9
chore: fix clippy warnings for rust 1.68 (#4983) 2023-03-11 07:23:30 +01:00
David Knaack
5e78226a3f
fix(preset): add output-flag to avoid encoding issues (#4926) 2023-03-03 11:46:16 +01:00
David Knaack
d1891de638
chore: use updated gitoxide crate names (#4913) 2023-02-21 13:03:17 +09:00
iuhoay
07c2298965
feat(java): Add .sdkmanrc for Java (#4888)
* Add `.sdkmanrc` for Java

* Update config-schema.json, Add `.sdkmanrc` file for Java

* Update doc
2023-02-11 14:06:21 +01:00
Martin Slot
e6c5571fc9
fix: let-env warning when using nushell (#4893)
Fixed a startup error, when using nushell.

The nushell warns about not using `let-env` for configuring `config`. I have removed the `load-env` and just added a `let-env` for the `config` as the documentation recommends: https://www.nushell.sh/book/environment.html#let-env
2023-02-11 14:05:39 +01:00
David Knaack
c019630653
build(deps): update rust crate os_info to 3.6.0 (#4878)
* build(deps): update rust crate os_info to 3.6.0

* add new os symbols

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-07 12:52:14 +01:00
Vegard Skui
41eb98b310
feat(fossil_branch): add fossil_branch module (#4806)
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2023-01-31 09:06:46 +01:00
accidentaldevelopment
9ac924eb3f
fix(fish): enable transient prompt when in vi mode (#4826) 2023-01-30 23:13:16 +01:00
David Knaack
645a439c0b
build(deps): update toml crates (#4853)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-30 23:12:27 +01:00
David Knaack
5e123fcbce
chore: fix clippy warnings for rust 1.67 (#4855) 2023-01-27 18:33:24 +09:00
Benjamin Sherman
85d683daf2
fix(container): reduce docker, podman and systemd confusion (#4832)
* Fixes #3821 to provide an improved experience for display of container

Details:
- podman containerenv processing is now happens before systemd
- if systemd/container contains "docker", now shows "Docker"
- maintains fix from #4593 to prevent 'Systemd" display on WSL
- refactors tests for systemd detection

* only compile function for linux

* correct 'default' systemd test use use None, codecov caught this mistake

* refactor my change to systemd/container detection so that it has one stage instead of multiple
2023-01-22 23:36:42 +01:00
Florent Vilmart
10433e31ef
feat(config): Adds support for --profile <custom profile name> (#3467)
Co-authored-by: Kevin Song <chips@ksong.dev>
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2023-01-11 21:25:36 -06:00
かわえもん
64e0208708
chore(aws): fix unintended test failure of aws::missing_any_credentials (#4805)
chore(aws): fix unintended test failure of `aws::missing_any_credentials` 

Because its mocking is not enough, The test may unintentionally fail
if `~/.aws/credentials` exists.
This commit fixes this issue by mocking `credentials` file as well.
2023-01-11 10:51:39 +01:00
Andre Ribeiro
e88484d567
fix(nodejs): apply style even if node version is unavailable (#4713)
* correct nodejs color

* Update src/modules/nodejs.rs

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* Update src/modules/nodejs.rs

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* fix: removed unecessary unwraps

* test: no node installed

* test: no node installed

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2023-01-10 23:00:09 +01:00
Takuya Uehara
fcdf2a0fb6
chore: remove version check for unsupported nushell version (#4791) 2023-01-06 12:13:04 -06:00
David Knaack
e47ea57db2
feat(logger): delete old logs & avoid more dup logs (#4348)
* feat(logger): delete old logs & avoid more dup logs

* `match` -> `let else` where possible
2023-01-04 09:22:02 +01:00
Lyle Mantooth
67b6376e2e
feat: add pijul_channel module (#4765)
* feat: Pijul VCS support

* Extra bits needed for new module.

* Format Markdown table.

* Fix lint.

* Don't test Pijul module so thoroughly.

Installing from source is too expensive, and compiled binaries are only
available for Windows (and unofficially as well). Perhaps once Pijul
1.0.0 comes out of beta there will be more binaries available in package
  repos.

* Format!

* Bad rebase, remove Pijul install from workflow.

* Mock Pijul commands for code coverage.

* Make fake .pijul directory in fixture.

* Truly mock `pijul` command.

* Rename module from `pijul` to `pijul_channel`.

* Format!

* Fix config-schema.json.

* Missed changing module name in docs/ folder.
2022-12-31 15:55:23 +01:00
Nicolas Évrard
8d2256ab1d
feat(hg_branch): Add support for mercurial topics and find hg root dir (#4771)
* feat(hg_branch): Add support for mercurial topics and find hg root dir

* Fix clippy errors

* Use crate::utils::read_file

* Update config-schema.json

* Extend PathExt to retrieve device ID of Path

* Break hg root search when switching to another device

* Fix clippy and formatting errors

* Update docs/config/README.md

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* Update src/modules/utils/path.rs

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* Update src/configs/hg_branch.rs

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* Update hg_branch description

* Revert to lazy loading, use truncate_text from utils and use fake topic

* Format code and fix clippy error

* Revert to previous test string as topic is optional in the config

* Fix doc formatting

* Stub device_id for windows

* Update config-schema.json

* Update src/modules/hg_branch.rs

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* Do not use unwrap in device_id

* Fix formatter error

* Use dev under non linux unixes

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2022-12-31 15:53:55 +01:00
John Slowik
8a8e09dd50
docs(preset): Plaintext status added (#4775)
* Plaintext status added

* One test case
2022-12-31 12:35:28 +01:00
David Knaack
5d4cb6ff8f
feat(env_var): Add support for env_var.VAR in format (#4497)
Co-Authored-By: Segev Finer <24731903+segevfiner@users.noreply.github.com>

Co-authored-by: Segev Finer <24731903+segevfiner@users.noreply.github.com>
2022-12-28 21:00:49 +01:00
Julian Antonielli
19fdf9bba5
feat(nix): support new nix shell command (#4724)
* Support `nix shell`

* Remove unnecessary `Debug` implementation

* Add test to detect false positive

* Improve detection of `/nix/store` in $PATH

* Add docs about unknown state

* Gate under `heuristic` flag

* Regenerate config schema
2022-12-27 14:59:40 +01:00
Scott Palmer
9093891acb
fix(package): Improve regex for extracting gradle version from gradle.properties (#4760)
fix: Improve regex for extracting gradle package version from gradle.properties (#4759)
2022-12-27 13:40:56 +01:00
David Knaack
784c935169
build(deps): update gitoxide crates (#4748)
* build(deps): update gitoxide crates

* remove call to removed function (env is loaded automatically now)

* bump git-repository to v0.30.1

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-24 11:08:14 -06:00
fold-squirrel
e93dbf8630
feat(fennel): add fennel module (#4717) 2022-12-21 10:53:53 -06:00
Kevin Song
addd11e300
refactor(kubernetes): Remove nested Options (#4743)
Kubernetes module was previously a bit messy, with lots of
unnecessarily nested options. Clean this up using filter_map and
find_map, with two major results:

1. `ctx_components` is now a Vec<KubeCtxComponent> instead of a
   Vec<Option<KubeCtxComponent>>. This greatly simplified downstream
   processing of these context components.

2. Instead of storing a partial computation of the namespace in
   variables `kube_ns`, etc, compute them directly in the formatter
   mapping. This is made simpler (read: actually doable) by change 1.
2022-12-20 19:04:40 -06:00
Foster Z
27d167b7a2
fix(git_commit): fix potential test failure (#4734)
Changes git command used in tests to avoid potential failures 
with lightweight tags.
2022-12-18 12:33:01 -06:00
David Knaack
14de3b34c1
chore: fix clippy warnings in gradle module (#4736) 2022-12-18 14:18:37 +01:00
David Knaack
aa6c2dd588
chore: fix clippy warnings for rust 1.66 (#4715)
chore: fix new clippy lints
2022-12-17 18:01:27 +01:00
Marie
220844daa0
feat(gradle): add gradle module (#4423)
* docs: document gradle module

* implement gradle module

* gradle-module: add test for wrapper properties case

* docs: improve gradle module documentation

* fix: fix gradle module wrapper properties test

* drop gradle executable strategy

* apply suggested stuff

* Fix config schema
2022-12-17 13:32:40 +01:00
Dennis Waitong Lam
7341607c29
fix(buf): broken icon on windows 10 (#4689)
Closes https://github.com/starship/starship/issues/4608
2022-12-09 18:41:59 +09:00
AlexHaxe
2766c78749
feat: add Haxe support (#4395)
* Add Haxe support

* avoid unwrap

* fix doc formatting

* removed extra newline

* fixed formatter and linter issues

* fixed config file

* better version of detecting contents of .haxerc

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* removed openfl related defaults from detect_files

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* fixed formatting

* reworked reading .haxerc with fallback to haxe --version

* fixed formatting

* added fallback to executable for dev paths in .haxerc

* fixed linter issue

* added support for Windows paths

* use or_else

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* use shorter version with `?`

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* simplified regex check

removed check for "null" string

* fixed format

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2022-12-04 18:28:49 +01:00
David Knaack
ef83e7a092
fix(pwsh): fix error log display on older versions of pwsh (#4650) 2022-12-02 14:17:57 -06:00
nibon7
a7abc0f450
feat(nu): enable right prompt (#4490)
Closes #3982
2022-12-02 12:40:36 +01:00
cgzones
ea6249b524
feat(directory): add before_repo_root_style (#4595) 2022-12-01 23:09:11 +01:00
cgzones
ddd54e9b20
feat(localip): use reserved remote address (#4648)
Instead of the remote address of 8.8.8.8 (Google DNS) in the crate
local_ipaddress use a reserved IPv4 address, that should never be
assigned.
Also forward the underlying error on failure.

Supersedes: #4614
2022-12-01 19:51:04 +01:00
Gabriel Victor
0427863168
fix: don't attempt to display cmd_duration notification if in TTY (#4535)
Disables the display of notifications from cmd_duration on Linux if
none of DISPLAY, WAYLAND_DISPLAY, or MIR_SOCKET are set.
This prevents starship from attempting to create notifications in tty 
environments, which was previously causing hangs.
2022-11-28 07:23:03 -06:00
Chris Rose
c8ac8777a5
fix(aws): enable when using .aws/credentials (#4604) 2022-11-27 15:06:05 +01:00
Ryan Sabatini
6e15c00238
feat(azure): add username to azure module config (#4323)
* add username to azure module config

* add username to azure module config

* formatting with cargo fmt

* Handle parse failure on azureProfile.json

allow program to procede if unable to parse azure profile due to missing
keys from the JSON structure.
remove unused keys from struct

Code cleanup with suggestions from PR maintainer

Cargo clippy fixes
2022-11-27 15:02:23 +01:00
David Knaack
8bb9038431
feat(bug-report): ask for confirmation before opening issue (#4543)
* feat(bug-report): ask for confirmation before opening issue

* Apply suggestions from code review

Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>

Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2022-11-25 17:44:25 +01:00
David Knaack
ac37792c19
feat(git_commit): support showing lightweight tags (#4632) 2022-11-22 10:15:31 +01:00
Scott Palmer
a9eb65ef35
fix(java): Improved regex for Java version (starship#4610) (#4616)
* fix(java): Improved regex for Java version (starship#4610)

* fix(java): Fixed tests and tweaked regex to accomodate Eclipse OpenJ9 (starship#4610)
2022-11-20 18:28:39 +01:00