1
0
mirror of https://github.com/Llewellynvdm/starship.git synced 2024-12-11 21:57:52 +00:00
Commit Graph

698 Commits

Author SHA1 Message Date
David Knaack
d0cfa1756c
chore: cargo fmt (#6124) 2024-07-26 08:42:45 +02:00
David Knaack
6806f56c90
chore: bump deps and address clippy warnings (#6116) 2024-07-25 22:17:06 +02:00
larswirzenius
6000231d12
chore: Minor changes to use more idiomatic Rust (integer max values; complicates nested expressions) (#6090)
* chore: use current way to get max value of an integer type

The std::usize::MAX way has been obsolete for quite some time now.
Found by clippy (clippy::legacy_numeric_constants).

Signed-off-by: Lars Wirzenius <liw@liw.fi>

* chore: use helper variable for a more idiomatic pattern matching

A nested expression can be harder to understand than two simpler
expressions. (Found by clippy lint clippy::blocks_in_conditions.)

Signed-off-by: Lars Wirzenius <liw@liw.fi>

---------

Signed-off-by: Lars Wirzenius <liw@liw.fi>
Co-authored-by: Lars Wirzenius <liw@liw.fi>
2024-07-24 21:06:40 +02:00
Alvaro Aleman
fae92b2964
perf(k8s): Improve performance of kubeconfig module (#6032)
* Fix config schema

* Improve performance of kubeconfig module

This module currently takes about 200 ms when using our ~10MiB
kubeconfig. This change improves its performance by:
* Only parsing the file once
* (Naively) checking if the content is yaml or json and potentially
  parse as the latter, as that seems to be much faster
2024-07-16 22:26:03 +02:00
David Knaack
52a89a515e
fix(dotnet): Remove duplicate v in dotnet version (#6060)
* Remove duplicate `v` in dotnet version

Every language version provider returns the version without a leading 'v', and the shared code then prepends the 'v'. Take a look at Python for example.

The Dotnet provider prepends a 'v' however, causing the version to be printed like 'vv8.0.203'.

* Update src/modules/dotnet.rs

* tests(dotnet): add test for obtaining version from cli

---------

Co-authored-by: Bernd Verst <github@bernd.dev>
2024-07-07 16:15:56 +02:00
Iuliia Gracheva
4d36d463b9
feat(gcloud): Disabled gcloud module when active config hasn't been set (#6039)
* disabled gcloud module when active config hasn't been set

* added test case

* updated config-schema
2024-06-29 23:00:07 +02:00
Evan Mattiza
e0281868c9
feat(purescript): add support for spago-next configuration files (#6036)
* update: add purescript spago-next configuration files

in upcoming spago projects, the configuration file is changing from
spago.dhall -> spago.yaml and spago.lock. This will detect both styles
for the time being

* fix typo

did not update test. spago.yaml -> spago.lock in the spago lock file
test case
2024-06-28 23:39:40 +02:00
David Knaack
aa05a1e5ab
chore: fix rust 1.79 lint warnings (#6034)
* chore: fix rust 1.79 lint warnings

* chore: update config-schema
2024-06-22 09:52:46 +02:00
David Knaack
8c75822d43
fix(k8s): don't trigger if scan config is set but env vars are not (#5979) 2024-06-09 09:55:13 +02:00
DerRockWolf
478d5cccb6
fix(direnv): replace nonexistent "orange" color with "bright-yellow" (#5969)
* Fix direnv config: change style from nonexistent "bold orange" to "bold bright-yellow"

* generate config-schema.json

* fix tests
2024-06-02 15:24:12 +02:00
John Hooks
5facd85da5
feat(nats): Add NATS Context (#5900)
---------

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2024-05-15 18:46:14 +02:00
William Veal Phan
2221a88f5a
perf(scala): use scala-cli first to avoid timeout (#5952)
fix(scala): use scala-cli first to avoid timeout
2024-05-12 20:32:08 +02:00
Thomas O'Donnell
e3b5dff352
feat(k8s): Add detect env vars option (#4488)
* feat(k8s): Add detect env vars option

Have added the option to trigger the k8s module based on what env vars
are set, this has been done in a backwards compatible way so if nothing
is changed from the defaults the module will still behave the same way
as before. This is similar to what I did in #4486 for the python module
and if goes well I'd like to rollout to other modules.

* Update src/modules/kubernetes.rs

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

* Update src/modules/kubernetes.rs

---------

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2024-04-06 15:30:19 +02:00
cgzones
3e3f18ef27
feat(container): show name if available (#5195)
Podman exports the name of the container in /run/.containerenv, which is
especially useful for distrobox environments.
2024-04-06 15:29:24 +02:00
Alper Cugun
9c1eaddae1
feat(username): add aliases option (#5855)
* Create place to put it in the config

* Initial functional version

* Fix grammar

* Add option documentation to README

* Add test for two aliases and emoji translation

* Remove println

* Rewrite match as iflet

* Improve converting the reference

* Format file

* Try to restore autoformat of markdown

* Replace toml:Map with concrete IndexMap

* Update schema

* Add option that got lost
2024-04-05 23:57:13 +02:00
[Error_27]
335c514e9e
feat(odin): Add Odin Lang module (#5873)
* Add Odin lang module

* add utils string and remove commit number from output

* switch to new symbol because ZWJ support is rare

* add config docs

* add option to show the commit number

* fix lack of trimming

* fix formatting to comply with checks

* Add trailing newline to comply with cargo fmt

* Add new Odin test and add newline in cmd output
2024-04-05 23:56:49 +02:00
boreinhardt
34a8f7e628
feat(gleam): Add Gleam module (#5886)
Co-authored-by: benno.reinhardt <benno.reinhardt@silbury.com>
2024-04-05 23:56:15 +02:00
Ramy
be4e97c2d9
fix(bun): change default icon (#5880)
* feat: change bun icon #5871

* fix: reverts docs
2024-03-30 09:38:19 +01:00
David Knaack
796a411602
fix: replace unmaintained crates yaml-rust, dirs-next (#5887) 2024-03-29 12:14:57 +01:00
David Knaack
d5861f9f97
fix: replace all remaining paths referring to vuepress (#5859) 2024-03-24 08:03:55 +01:00
David Knaack
df65b2155f
feat(os): add new os symbols (#5849) 2024-03-21 12:39:28 +01:00
David Knaack
ab840439e3
fix(status): fix pipestatus width calculation (#5036)
closes #3162

Co-authored-by: flw <flw@cpan.org>
2024-03-20 22:58:33 +01:00
marcybell
938ea3c401
feat: $gemset variable for Ruby module (#5429)
* $gemset variable for Ruby module

* typo

* Added test for no GEM_HOME env set

* Formatting

* Uses `rvm current` for gemset, no more version num
2024-03-20 22:57:26 +01:00
Virgile Andreani
0e49f04a6b
feat(quarto): Add Quarto module (#5820)
Add Quarto module

* Adapted from the Typst module
2024-03-20 22:50:12 +01:00
Mick Hohmann
b8a812b932
feat(username): add detect_env_vars as option (#5833)
* Added the option "detect_env_vars" to the `username` module

with the same functionality as in the `hostname` module.

* Fixed logic error and added test to catch it

* build(deps): update dependency vitepress to ^1.0.0-rc.45

* build(deps): update rust crate shadow-rs to 0.27.1

* Added the option "detect_env_vars" to the `username` module

with the same functionality as in the `hostname` module.

* Fixed logic error and added test to catch it

* Removed unused gix import

* Removed unused gix import, again

* Removed unused gix import. Next try

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 22:47:32 +01:00
David Knaack
0e334e3e6c
chore: fix upcoming rust 1.77 clippy issues and chrono deprecations (#5850) 2024-03-20 18:57:14 +09:00
David Knaack
7290c5e368
chore: apply clippy for rust 1.76 & bump msrv (#5763) 2024-03-03 17:57:39 +01:00
Fraser Li
6a96e84a15
fix(git_branch): fall back to "HEAD" when there is no current branch (#5768)
* fix(git_branch): fall back to "HEAD" when there is no current branch

* test(git_branch): add test for branch fallback on detached HEAD
2024-02-26 12:21:00 +01:00
Gilbert Sanchez
0891ec27a4
fix(character): also handle vi edit mode in pwsh (#5775)
* Add missing vi for char for Shell::Pwsh

https://github.com/starship/starship/pull/5478#issuecomment-1886829331
2024-02-19 17:01:51 +01:00
David Knaack
428d840bce
build(deps): update rust crate windows to 0.52.0 (#5379) 2024-02-04 16:01:32 +01:00
Andrew Pantuso
482c7b719f
feat(direnv): use JSON status with direnv >= 2.33.0 (#5692) 2024-01-21 13:56:57 +01:00
Xiaohan Ni
ef7b773557
test(aws): fix flaky tests expiration_date_set expiration_date_set_from_file (#5685)
* fix(aws): fix flaky test `expiration_date_set`

* fix(aws): fix flaky test `expiration_date_set_from_file`
2024-01-06 22:49:27 +01:00
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
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
William Howard
81c7d0cc58
feat: add additional exit status code meanings from libc (#5412) 2023-10-13 10:56:28 +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
David Knaack
77967148b6
chore: handle rust 1.72 clippy & fmt changes (#5399) 2023-08-25 22:53:35 +02:00