1
0
mirror of https://github.com/Llewellynvdm/starship.git synced 2024-12-13 06:27:46 +00:00
Commit Graph

130 Commits

Author SHA1 Message Date
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
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
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
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
ae711c0f33
feat(bash): use PS0 for preexec hook (#5735) 2024-03-03 17:59:23 +01:00
David Knaack
2aa711ccc7
fix(bash): improve integration with bash-preexec (#5734) 2024-02-04 16:02:17 +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
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
David Knaack
2bb57cf0cd
fix(zsh): improve starship binary path escaping (#5574) 2024-01-06 21:19:02 +01:00
Patrick Stadler
0ed7c6f650 zsh: clear exit code between prompts 2023-11-07 15:27:36 +01: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
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
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
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
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
Swarnim Maheshwari
0ad0465a7a
fix(init): avoid cygpath for starship binary path (#4970)
Update mod.rs
2023-03-11 07:24:14 +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
accidentaldevelopment
9ac924eb3f
fix(fish): enable transient prompt when in vi mode (#4826) 2023-01-30 23:13:16 +01:00
Takuya Uehara
fcdf2a0fb6
chore: remove version check for unsupported nushell version (#4791) 2023-01-06 12:13:04 -06: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
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
Kevin Menard
cc2c8c4a54
feat(init): Use which-rs to resolve starship path
This patch uses the which crate to resolve the starship path, replacing the
current_exe() mechanism.

Co-authored-by: Kevin Song <chips@ksong.dev>
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
Co-authored-by: Dario Vladović <d.vladimyr@gmail.com>
2022-11-13 21:28:29 -06:00
David Knaack
6e38683c89
chore: fix new clippy lints (#4557) 2022-11-05 12:40:46 +01:00
Verdayne Graham
cdf0d12937
refactor(nu): simplify getting term width (#4503)
refactor(init,nu): simplify getting term width
2022-10-22 14:17:33 +02:00
nibon7
49995301ce
fix(nu): remove -c parameter from term size (#4477)
The -c parameter has been removed through nushell/nushell#6651
2022-10-15 14:16:14 +02:00
Rashil Gandhi
06281c268d
feat(fish): Enable left and right transience (#4204)
* feat(fish): Enable left and right transience

* Update README.md

* Mention limitation
2022-09-09 14:56:33 +02:00
David Knaack
fd5539796f
fix(pwsh): avoid potential deadlock in init (#4335) 2022-09-08 23:18:50 +02:00
Rashil Gandhi
6e9c013e60
feat: Enable transience for Cmd and PowerShell (#4143) 2022-07-24 21:10:40 -05:00
Kian-Meng Ang
018b077630
chore: fix typos in comments (#4122) 2022-06-28 14:19:17 -04:00
Tyler Ruckinger
9b52475e54
fix(nu): don't use cygpath for starship binary path in init (#4001)
nu on windows need not be posix
2022-06-02 23:46:46 +02:00
David Knaack
0ae61c7758
chore(clippy): fix new lints (#4002) 2022-05-23 06:58:27 -04:00
Hofer-Julian
2608db3a38
fix(nu): Use = instead of space to pass command line parameters (#3833)
This fixes https://github.com/nushell/nushell/issues/5074
2022-04-04 20:03:43 +02:00
David Knaack
03343272b7
fix(bash): ensure checkwinsize is enabled for $COLUMNS (#3832) 2022-04-03 15:07:19 -04:00
David Knaack
859b780b46
fix(nu): use shell-provided terminal width (#3800) 2022-03-28 13:40:06 -04:00
tani
0fb4219690
fix(fish): allow generating session keys in older versions of fish (#3697)
* fix(linux): session key generation in fish

* fix(fish): use string sub commands for the compatibility

* fix(fish): add comment
2022-03-26 10:34:46 +01:00
Kevin Song
538329d9b4
fix(init): Change Elvish init to catch for 0.18 (#3769) 2022-03-25 11:57:38 +01:00
David Knaack
c9b75fe115
fix(init): Change Nushell init for nu 0.60 (#3773) 2022-03-24 15:06:24 -04:00
David Knaack
1745392909
refactor: fix new clippy/compiler warnings (#3656) 2022-02-24 23:31:01 -05:00
Shan Zhou
465e6fc4be
fix(pwsh): Use global:error[0] for most recent error in powershell (#3584)
* Use global:error[0] for most recent error

The current version use $error[0], which is for the module instead of the global status and is always $null, so the $lastExitCodeForPrompot is always $origLastExitCode (see https://github.com/starship/starship/issues/3485 for a related bug).
It should be replaced with $global:error[0] 
Comments are also updated

* fix(pwsh): make Semantic PR bot happy
2022-02-11 12:07:50 +01:00
Coelacanthus
589576d3eb
refactor(zsh): using add-zsh-hook instead of add hook manually (#3537)
[1]: https://github.com/starship/starship/pull/3480#discussion_r790280291
[2]: https://zsh.sourceforge.io/Doc/Release/User-Contributions.html#Writing-Themes

Signed-off-by: Coelacanthus <coelacanthus@outlook.com>
2022-02-05 22:37:34 -08:00
Segev Finer
0b184c3ccb
feat(pwsh): Set ExtraPromptLineCount (#3439)
* feat(pwsh): Set ExtraPromptLineCount

Fixes #3419

* Rename $prompt to $promptText
2022-02-05 21:12:47 +01:00
Marlon Richert
aaf4c17122
refactor: Improve compatibility with Zsh prompt theme system (#3480)
Zsh's `promptinit` expects a theme's hook functions to be named `prompt_<theme>_<hook>`. See 2876c25a28/Functions/Prompts/promptinit (L155)
2022-02-03 21:53:38 +01:00
Kevin Song
6e24358052
fix(bash): Restore previous exit status in bash init (#3521)
* fix: Restore previous exit status in bash init

* Do it correctly this time
2022-01-30 10:52:51 +01:00
David Knaack
6ca911b9fe
fix(elvish): use $pwd for logical-path (#3534)
The `$PWD` environment variable used by starship is not updated on startup by `elvish`. `elvish` also provides a separate `$pwd` variable that does get updated and seems to be be a better indicator for the current logical path.
2022-01-28 21:48:10 +01:00
moko256
0d573ac5ea
perf(elvish): Use built-in randint instead of starship session. (#3479) 2022-01-21 08:08:14 +01:00
Segev Finer
7e32fd952e
feat(pwsh): Set STARSHIP_SHELL to pwsh on PS >5 (#3443)
* feat(pwsh): Set STARSHIP_SHELL to pwsh ON PS >5

This is needed for the custom module to use the correct shell.

Closes #3376

* Update src/context.rs

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

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2022-01-16 20:28:26 +01:00