Commit Graph

977 Commits

Author SHA1 Message Date
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 49575e5a55
build(deps): update toml crates (#5842)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 18:56:20 +09:00
David Knaack ae711c0f33
feat(bash): use PS0 for preexec hook (#5735) 2024-03-03 17:59:23 +01:00
David Knaack 7290c5e368
chore: apply clippy for rust 1.76 & bump msrv (#5763) 2024-03-03 17:57:39 +01:00
David Knaack 7485c90c9f
feat(docs): move to vitepress (#5785)
* feat(docs): move to vitepress

* change up hero styles to match existing site

* A bit more style tweaking

* Replace stylus with plain CSS

* improve unicode-range value for nerdfont

---------

Co-authored-by: Matan Kushner <hello@matchai.dev>
2024-03-03 17:55:30 +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 2aa711ccc7
fix(bash): improve integration with bash-preexec (#5734) 2024-02-04 16:02:17 +01:00
David Knaack 428d840bce
build(deps): update rust crate windows to 0.52.0 (#5379) 2024-02-04 16:01:32 +01:00
tricktron 7093d5cd84
fix(bash): Handle Unbound Variables Errors in Bash (#4972)
* fix: unbound bp pipestatus variable

* fix: unbound preserved prompt command variable

* fix: unbound starship start time variable

* fix: unbound preexec_functions, precmd_functions

and PROMPT_COMMAND variables.
2024-01-27 15:08:19 -06:00
Andrew Pantuso 482c7b719f
feat(direnv): use JSON status with direnv >= 2.33.0 (#5692) 2024-01-21 13:56:57 +01:00
Rashil Gandhi 5ead13d6aa
feat(bash): Support right prompt and transience (#4902)
* Support right prompt in bash

* Docs for transience in bash

* Apply suggestions from review

* Simplify conditional

* Use ble.sh hooks, if available

* Properly quote args

* Use BLE_PIPESTATUS

* Update starship.bash

* Update src/init/starship.bash

Co-authored-by: Koichi Murase <myoga.murase@gmail.com>

---------

Co-authored-by: Koichi Murase <myoga.murase@gmail.com>
2024-01-21 13:55:52 +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
David Knaack 2bb57cf0cd
fix(zsh): improve starship binary path escaping (#5574) 2024-01-06 21:19:02 +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
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