Commit Graph

1305 Commits

Author SHA1 Message Date
Érico Nogueira Rolim ae55697dfb
docs: Remove newline from beginning of example format config. (#1693)
Having a newline there means that an empty newline is printed everytime
the user runs a command or presses Enter, which for short commands
and/or small terminal windows can noticeably decrease the information
density.
2020-09-29 23:39:20 -04:00
dependabot-preview[bot] 83502a08dd
build(deps): bump os_info from 2.0.8 to 3.0.0 (#1688)
* build(deps): bump os_info from 2.0.8 to 3.0.0

Bumps [os_info](https://github.com/stanislav-tkach/os_info) from 2.0.8 to 3.0.0.
- [Release notes](https://github.com/stanislav-tkach/os_info/releases)
- [Changelog](https://github.com/stanislav-tkach/os_info/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stanislav-tkach/os_info/compare/v2.0.8...v3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Upgrade to work with the new os_info

Have switched to work with the new os_info tooling.

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Thomas O'Donnell <andy.tom@gmail.com>
2020-09-29 17:06:45 -04:00
Matan Kushner cad415a0e0
chore(release): v0.45.0 2020-09-29 12:38:02 -04:00
Matan Kushner 59f939e25c
chore: update v0.45.0 removal notice (#1687)
* chore: update deprecation notice

* Add deprecation page to sidebar

* Replace the use of "deprected" with "removed"
2020-09-29 12:35:11 -04:00
dependabot-preview[bot] cb4d7d1908
build(deps-dev): bump vuepress-theme-default-prefers-color-scheme (#1685)
Bumps [vuepress-theme-default-prefers-color-scheme](https://github.com/tolking/vuepress-theme-default-prefers-color-scheme) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/tolking/vuepress-theme-default-prefers-color-scheme/releases)
- [Changelog](https://github.com/tolking/vuepress-theme-default-prefers-color-scheme/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tolking/vuepress-theme-default-prefers-color-scheme/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-09-28 23:43:52 -04:00
dependabot-preview[bot] 8eee234ff9
build(deps-dev): bump vuepress from 1.5.4 to 1.6.0 in /docs (#1686) 2020-09-29 03:34:38 +00:00
dependabot-preview[bot] 15b60c8534
build(deps-dev): bump @vuepress/plugin-google-analytics in /docs (#1684)
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.5.4 to 1.6.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.6.0/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-09-28 23:23:56 -04:00
Tilmann Meyer 2233683410
feat: add error messaging (#1576)
This creates a custom logger for the log crate which logs everything to a file (/tmp/starship/session_$STARSHIP_SESSION_KEY.log) and it logs everything above Warn to stderr, but only if the log file does not contain the line that should be logged resulting in an error or warning to be only logged at the first starship invocation after opening the shell.
2020-09-28 16:38:50 -04:00
Matan Kushner 3c668e6e6a
doc: small doc fixups 2020-09-28 12:38:14 -04:00
dependabot-preview[bot] e5bf405a73 build(deps): bump chrono from 0.4.15 to 0.4.18
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.15 to 0.4.18.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.15...v0.4.18)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-28 06:54:53 +00:00
dependabot-preview[bot] b6b05ed05f build(deps): bump quick-xml from 0.18.1 to 0.19.0
Bumps [quick-xml](https://github.com/tafia/quick-xml) from 0.18.1 to 0.19.0.
- [Release notes](https://github.com/tafia/quick-xml/releases)
- [Changelog](https://github.com/tafia/quick-xml/blob/master/Changelog.md)
- [Commits](https://github.com/tafia/quick-xml/compare/v0.18.1...v0.19.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-28 05:39:52 +00:00
Thomas O'Donnell 7b09c86b0f
docs(git_status): Update git_status module docs (#1667)
* docs: Update git_status module docs

Have updated the configuration docs for the `git_status` to remove a
non-existing option and to add an example for how to achieve the same
effect as with the new format strings.

* Add git_status changes to migration guide

Have added the change to the sync count to the migration guide. I also
corrected a few typos in the configuration.
2020-09-26 19:15:52 +02:00
Jan Katins c93bd7b705
fix: actually disable per default disabled modules (#1677)
The default `disabled: true` is actually only available within the module (when the config struct is used and not the user toml) but not all (the hg_branch) modules checked it there again.

Document this in all places and add the check (+ test) to the hg_branch module.
2020-09-26 09:35:41 +02:00
Jan Katins ffb1345052
feat(status): add the status module (#1651)
* add the exit code module

this allows to display more precisely the last command exit code
and to configure starship to not change the last charcter of the
prompt even in case of failure. It is disabled by default, because
it seems a bit redundant with the character module in its default
configuration.

* rename exit_code module to status

* Enforce a default disabled=true 

In the outer places, we only check for the disabled flag in the config toml file, only when this is loaded into the real config struct, we see the default. And if the default is true, we have to abort at that place. For status and hg_branch that wasn't so. I also commented the rest

* fix spaces in markdown table for status module

* Add a tip that status module is disabled by default

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

* Remove unrelated changes for default disabled=true

Co-authored-by: Gaëtan Lehmann <gaetan.lehmann@gmail.com>
Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2020-09-26 00:04:51 +02:00
Matan Kushner 17687be1cb
docs: add a migration guide for the format string changes (#1624)
* Start writing migration guide

* Add prefix/suffix migration to guide

* Update docs/migrating-to-0.45.0/README.md

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

* Update docs/migrating-to-0.45.0/README.md

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

* Add missing quote

* Detail the modules affected by the change

* Document character and time migration

Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2020-09-22 15:48:37 -04:00
Tilmann Meyer a245d54cdb
fix(git-state): Fix discrepancy between v0.44.0 and master (#1672) 2020-09-21 15:17:06 -04:00
Jan Katins 6426bbe3e4
feat: Add timings subcommand (#1629)
* feat: Add computational duration to all computed modules

This also means that in case we do some computations and these end up empty, we submit an empty module

* feat: Add timings subcommand

This outputs the timings of all computed modules, sorted by the duration it took to compute the module.

Useful for debugging why the prompt takes so long.

* feat: Add timings to explain output

* fix: Ensure that even empty custom modules get timings

* format main.rs

* feat: Only show interesting timings

* fix(tests): Change tests to look for empty string instead of None

* Use proper wording in timings help

* Revert "fix(tests): Change tests to look for empty string instead of None"

This reverts commit aca5bd1b03c48e1dee1b7ca91d66e2bda2d5a97c.

* fix(tests): Returning None in case the module produced an empty string

* fix: Ensure that linebreaks (and space) make a module not-empty

* Make cargo clippy happy

* Make Module.duration a proper Duration

* Only return a module if we would report it

* Change to cleaner way to return None for empty modules

* Avoid unnecessary module creation

* Simplify a string comparison

* Add timings to trace

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

Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2020-09-21 19:06:15 +02:00
Thomas O'Donnell bb324834a5
fix: restore the `pyenv_prefix` option to python (#1668)
Have restored the `pyenv_prefix` option to the python module. This is
added as a new variable that will only be shown if `pyenv` is being used
to determine the version of python that is being used.
2020-09-21 11:48:26 -04:00
Thomas O'Donnell ecd3d6e9f0
docs: update clippy command in the CONTRIBUTING.md (#1665)
Have updated the clippy command in the CONTRIBUTING.md to match the one
that is used by the CI system.
2020-09-20 18:02:24 +02:00
Andrew c22ea6d889
style: make rustfmt use the default configuration (#1661)
by adding an empty `rustfmt.toml` configuration file, thus allowing
users who have their own configuration to contribute without friction.
2020-09-19 08:45:17 +02:00
dependabot-preview[bot] 26e4de710e build(deps): bump sysinfo from 0.15.1 to 0.15.2
Bumps [sysinfo](https://github.com/GuillaumeGomez/sysinfo) from 0.15.1 to 0.15.2.
- [Release notes](https://github.com/GuillaumeGomez/sysinfo/releases)
- [Commits](https://github.com/GuillaumeGomez/sysinfo/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-17 06:24:06 +00:00
dependabot-preview[bot] 4fc0de4201 build(deps): bump git2 from 0.13.10 to 0.13.11
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.13.10 to 0.13.11.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/commits/0.13.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-14 06:54:44 +00:00
David Knaack 6186e296ac
fix(zsh): work when `setopt ksh_arrays` is set (#1612) 2020-09-14 08:30:57 +02:00
Joshua Poehls 2996220568
fix(pwsh): update init script to propagate $LASTEXITCODE and $?
Previously the prompt function used in PowerShell would overwrite the $LASTEXITCODE and $? automatic variables that were set by the previous command run the user in the shell. This results in surprising behavior for the user if they inspect those variables looking for the result of the command they last ran.

This fixes the bug reported here: https://github.com/starship/starship/issues/1051
And goes further to also propagate the $? automatic variable which is not mentioned in that bug.
2020-09-09 11:52:30 -04:00
Matan Kushner d3100c5c82
fix: use suffixes for modules before directory (#1645)
Previously, all modules would have prefixes, which lead to the first
module having a dangling prefix. This change ensures that the first
few modules would instead have suffixes so that we don't start or
end with a prefix or suffix.
2020-09-08 12:09:21 -04:00
Jan Katins 17e8115f16
docs: Improvements in docs for custom modules (#1615)
* docs: Clarify that commands will be passed in on stdin

* docs: Clearer instruction how to include individual custom modules

* docs: Include link to #1252 in docs for custom modules

That issue is used to share custom modules.

* docs: Remove reference to prompt_order

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

Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2020-09-01 19:07:12 +02:00
dependabot-preview[bot] 567ea8d2be build(deps): bump battery from 0.7.5 to 0.7.6
Bumps [battery](https://github.com/svartalf/rust-battery) from 0.7.5 to 0.7.6.
- [Release notes](https://github.com/svartalf/rust-battery/releases)
- [Changelog](https://github.com/svartalf/rust-battery/blob/master/CHANGELOG.md)
- [Commits](https://github.com/svartalf/rust-battery/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-26 05:41:46 +00:00
dependabot-preview[bot] 6f347b71ed
build(deps-dev): bump @vuepress/plugin-google-analytics in /docs (#1613)
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.4/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-25 10:50:57 -04:00
dependabot-preview[bot] 7ff9dd3d84 build(deps): bump rayon from 1.3.1 to 1.4.0
Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/rayon-rs/rayon/releases)
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md)
- [Commits](https://github.com/rayon-rs/rayon/compare/v1.3.1...rayon-core-v1.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-25 05:32:58 +00:00
dependabot-preview[bot] 30dfed812b
build(deps-dev): bump vuepress from 1.5.3 to 1.5.4 in /docs (#1614)
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.4/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-25 00:23:01 -04:00
Dario Vladović faba2d104d
fix(test): do NOT quote argument values for mocked invocations (#1527)
Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2020-08-24 19:05:43 +02:00
dependabot-preview[bot] 46a51d7941
build(deps-dev): bump @vuepress/plugin-google-analytics in /docs (#1571)
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.3/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-21 21:02:34 -04:00
dependabot-preview[bot] 2f5d795546
build(deps): bump git2 from 0.13.8 to 0.13.10 (#1606)
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.13.8 to 0.13.10.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-21 21:02:19 -04:00
jRimbault 12c7877932
fix: $EDITOR argument parsing (#1595)
Fixed editor argument parsing by properly splitting
whitespace with the same procedure used by shell.
2020-08-21 11:41:36 -05:00
David Knaack d4515696a4
fix(pwsh): stop paths from being interpreted as patterns (#1569)
Convert-Path in the powershell prompt script works with -Path,
which interprets paths as wildcard patterns.  

Not all valid paths are also valid wildcard patterns, possibly causing
the prompt to error (eg []*).  

Replace it with -LiteralPath that makes Convert-Path use the path as-is.
2020-08-19 23:45:10 -05:00
Matan Kushner 09672eeea7
fix: re-add add_newline to root config (#1598) 2020-08-18 18:58:29 +02:00
dependabot-preview[bot] 8c48e0f707 build(deps): bump once_cell from 1.4.0 to 1.4.1
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/matklad/once_cell/releases)
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.4.0...v1.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-18 06:35:00 +00:00
Matan Kushner 1cd4f12bb4
Revert "fix: restore add_newline configuration (#1592)" (#1596) 2020-08-17 12:30:01 -04:00
dependabot-preview[bot] 73e6c69637 build(deps): bump chrono from 0.4.13 to 0.4.15
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.13 to 0.4.15.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.13...v0.4.15)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-17 10:20:18 +00:00
Matan Kushner 1652c0bdb1
fix: restore add_newline configuration (#1592) 2020-08-16 23:33:40 -04:00
Tilmann Meyer bcdf522af5
chore: remove unused name from Segment and remove some of the misleading underscores (#1584)
* chore: Remove unused name from Segment and remove some of the misleading underscores

* chore: Access members of `Segment` directly
2020-08-16 22:16:05 -04:00
Thomas O'Donnell 2e14d1af5a
fix(install): switch to install the musl binaries by default (#1590)
We have had a few issues where users haave run the install script and
have ended up with a non-functioning version of starship because their
system doesn't have a required lib that we link against. To avoid these
problems it seems the easiest solution is to default to using the
statically compiled musl binaries. If a user knows that they are doing
they can use the non-statically compiled binaries by supplying the `-p`
argument to the installer. Note this is what other rust based tools such
as ripgrep do.
2020-08-16 11:30:10 -04:00
dependabot-preview[bot] f219d310cf build(deps): bump sysinfo from 0.15.0 to 0.15.1
Bumps [sysinfo](https://github.com/GuillaumeGomez/sysinfo) from 0.15.0 to 0.15.1.
- [Release notes](https://github.com/GuillaumeGomez/sysinfo/releases)
- [Commits](https://github.com/GuillaumeGomez/sysinfo/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-16 10:12:26 +00:00
dependabot-preview[bot] a50ef1d273 build(deps): bump clap from 2.33.2 to 2.33.3
Bumps [clap](https://github.com/clap-rs/clap) from 2.33.2 to 2.33.3.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-15 09:40:56 +00:00
Emanuele Aina 5ce4322a2c
docs: Drop inexistent "number" variable from hostname section (#1586)
The hostname module does not provide any "number" variable, its presence
in the documentation is likely due to some copy&paste from the jobs
module section, so let's drop it.

Signed-off-by: Emanuele Aina <em@nerd.ocracy.org>
2020-08-15 11:02:20 +02:00
Martin Åkesson c0b6e97f57
fix(git_state): panic on interactive rebase (#1552) 2020-08-14 19:09:01 +02:00
David Knaack 0912ed0058
fix(test/dir): make lock thread-safe (#1575)
* fix(test/dir): make lock thread-safe

* stronger ordering
2020-08-14 18:58:53 +02:00
Marc Schreiber 8c71eb5307
feat: Add Undistract Me Feature (#1019)
Often it is handy to get notified when the execution of a command finished.
This commit includes notify-rust in order to generate a desktop notification
when a command execution finished.
2020-08-11 18:44:25 +02:00
dependabot-preview[bot] 93c568e118
build(deps-dev): bump vuepress from 1.5.2 to 1.5.3 in /docs (#1572)
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.3/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-11 12:29:51 -04:00
dependabot-preview[bot] b79830e97b build(deps): bump os_info from 2.0.7 to 2.0.8
Bumps [os_info](https://github.com/darkeld3r/os_info) from 2.0.7 to 2.0.8.
- [Release notes](https://github.com/darkeld3r/os_info/releases)
- [Changelog](https://github.com/DarkEld3r/os_info/blob/master/CHANGELOG.md)
- [Commits](https://github.com/darkeld3r/os_info/compare/v2.0.7...v2.0.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-10 06:40:28 +00:00