Commit Graph

1019 Commits

Author SHA1 Message Date
David Knaack
8419c677f1
chore: fix hindi truncation tests and bump deps (#6271)
* chore: fix hindi trunc test

* chore: bump deps
2024-09-28 13:41:35 +02:00
Baku Kim
36134d896b
feat(python): detect pixi and ipynb files (#6228) 2024-09-26 10:53:18 +02:00
Kid
244c2c629e
fix(fish): use correct input function in transient execute (#6265) 2024-09-26 10:50:33 +02:00
Kid
798f64033f
perf(fish): Skip unnecessary indirection in starship init fish (#6253)
perf: Skip unnecessary indirection in starship init fish
2024-09-17 22:54:13 +02:00
Thorsten Hans
b0669daf6d
chore: fix typo in comment to make spell-check pass (#6239)
Signed-off-by: Thorsten Hans <thorsten.hans@fermyon.com>
2024-09-06 21:30:56 +02:00
Daniel Kneipp
171746a584
feat(mojo): add module for Mojo language (#6108)
* feat: add support to mojo lang

* docs: fix mojo formatting

* Update src/modules/mojo.rs

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

* feat(mojo): parse hash as an independent variable

* chore(mojo): fix formatting

* chore(mojo): update schema and docs

* feat(mojo): use lazy cmd evaluation

---------

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2024-08-18 18:12:39 +02:00
Thomas O'Donnell
8a2d944bc8
feat(python): Add detect env vars option (#4486)
feat(python): Configure different detect env vars

Allow the env vars that trigger the python module to be configured, if
an empty list is passed then the module will fall back to just
triggering based on the configured files, folders and extensions.
2024-08-18 18:11:13 +02:00
James Thorne
33b3b8e398
fix(git_status): read proper name for core.fsmonitor flag (#6173) 2024-08-18 17:19:26 +02:00
Eduard Korchmar
68a8fc9563
feat(hostname): add option to replace hostnames with aliases (#6097)
---------

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2024-08-12 18:26:35 +02:00
苏向夜
7b65ad5163
fix(python): improve parsing of pyvenv.cfg files (#6145) 2024-08-12 18:25:04 +02:00
Leon Strauss
4abea6b601
fix(cmd_duration): Make render_time format more consistent (#5825)
* fix(cmd_duration): Make render_time format consistent

* Cleanup render_time comments

* Fix AWS test for new render_time format
2024-07-29 22:22:55 +02:00
JKatzwinkel
a62012e328
fix(package): support alternative gradle module version syntax (#6080)
feat(package): support alternative gradle module version syntax (#6079)
2024-07-29 22:19:56 +02:00
Stone
274dff37db
fix(fish): improve fish transient prompt (#6107)
* feat(fish): improve fish transient prompt

* feat(fish): improve fish transient prompt
2024-07-29 21:59:17 +02:00
Koichi Murase
e1189ed756
fix(bash): fix variable leak in Bash integration (#6143)
* fix(bash): quote array expansions to work around custom IFS

* fix(bash): locally set standard IFS for $(jobs -p)

* fix(bash): localize the leaked variable "job"
2024-07-29 21:43:41 +02:00
David Knaack
cfc58161e0
Merge commit from fork
addresses GHSA-vx24-x4mv-vwr5
2024-07-26 19:31:41 +02:00
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
Jovan Gerodetti
9a3e87f2cb
feat(color): add prev_fg and prev_bg as color specifiers based on the previous foreground/background colors respectively (#6017)
feat(color): add prevfg,prevbg as color specifiers based on the previous foreground/background colors respectively

Co-authored-by: Vladimir Lushnikov <vladimir@solidninja.is>
2024-06-28 23:40:35 +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
Koichi Murase
fe1a8df6fa
fix(bash): fix handling of the preserved DEBUG trap (used in Bash <= 4.3) (#5908)
* refactor(bash): use `STARSHIP_*` for the internal variable names

The current codebase uses `dbg_trap` to save the original DEBUG trap
in bash <= 4.3.  However, the variable name possibly conflicts a user
variable since it is not prefixed by `_starship` or `starship_` or
`STARSHIP_`.  In this patch, we rename `dbg_trap` to
`STARSHIP_DEBUG_TRAP` following other variables of
`STARSHIP_EXIT_STATUS` and `STARSHIP_PIPE_STATUS`.  We also rename the
variable `_PRESERVED_PROMPT_COMMAND` to `STARSHIP_PROMPT_COMMAND`.

* fix(bash): correctly extract DEBUG trap with spaces

* fix(bash): evaluate DEBUG trap by eval

The current code executes the saved DEBUG trap just by
$_starship_dbg_trap.  This causes various problems.  The content of
the variable `_starship_dbg_trap` is unexpectedly subject to the word
splitting with the pathname expansions. Also, the needed shell
expansions and quote removal are not performed.  With a custom IFS,
the content of the variable will be split in an unexpected way.  The
saved DEBUG trap needs to be executed by eval "$_starship_dbg_trap".
2024-04-16 08:16:00 +02:00
Michael Feist
de5b7f041a
fix(xonsh): remove | cat workaround from xonsh init (#5113) 2024-04-14 17:02:00 +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
Daniel Watkins
1a72757f01
fix: combine ANSI color codes before wrapping them (#5762)
* combine ANSI color codes before wrapping them

The existing code wraps each individual module's output for
`context.shell`, concatenates all that output together and passes it to
`AnsiStrings` to merge ANSI color codes.  However, the wrapping obscures
ANSI color codes, meaning that no merging is possible.

This commit changes the shell-specific wrapping to happen right before
output, once all modules' output has been concatenated together.  This
results in ANSI color codes being correctly merged, as well as reducing
the number of calls to `wrap_colorseq_for_shell` to one.

With a minimal `starship.toml`:

```
format = """$directory"""

[directory]
format = '[a]($style)[b]($style)'
```

The current code produces[0]:

```
\n%{\x1b[31m%}a%{\x1b[0m%}%{\x1b[31m%}b%{\x1b[0m%
```

And this commit's code:

```
\n%{\x1b[31m%}ab%{\x1b[0m%}
```

You can see that the current code emits an additional reset and repeated
color code between "a" and "b" compared to the new code.

[0] Produced in a Python shell with:

```
subprocess.check_output(
    "./target/debug/starship prompt", shell=True,
    env={"STARSHIP_CONFIG": "./starship.toml", "STARSHIP_SHELL": "zsh"}
)
```

* utils: return early from wrap_seq_for_shell unless wrapping required

* refactor(utils): simplify wrap_seq_for_shell

This commit modifies wrap_seq_for_shell to (a) return early for shells
with no wrapping required, and (b) determine the wrapping characters
once at the start of the function (rather than inline in the map
function for every character).
2024-04-06 15:28:26 +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
Koichi Murase
0f859e8b61
fix(bash): use eval instead of a procsub for the POSIX mode (#5020)
fix(bash): use eval instead of a procsub for the POSIX mode
2024-04-02 10:45:02 +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
Texas Toland
d308e918ee
fix(nu): continuation prompt not being displayed correctly (#5851)
Resolve #5847 by initializing `$env.STARSHIP_SHELL` before calling `starship`

Most minimal change possible. Other simplification are possible but not know to be
backwards compatible. Also considered `with-env` or `STARSHIP_SHELL=nu starship` but
they'd be worse. Happy to reformat indentation if desired.
2024-03-21 12:38:38 +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
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