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

419 Commits

Author SHA1 Message Date
Nimish Bongale
6fa3068d0a
docs: Add install for chocolatey (#2372) 2021-03-07 15:40:03 -06:00
Eric Nielsen
fb6cefa4b5
style(aws): Add spacing between profile and region (#2417)
and also after the symbol when using the Nerd font glyph.
2021-03-06 20:47:06 +01:00
Thomas O'Donnell
7fe96b1f3e
docs(faq): Add starship explain to FAQ (#2387) 2021-02-27 22:24:03 +01:00
Vivek Malneedi
d21400a478
feat: add support for tcsh (#2288)
* feat: add support for tcsh

* add tcsh to install.sh install message

* list tcsh in bug_report.rs and main.rs

* quote starship path

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

* fix job count

* add tcsh support to shell module

* fix STARSHIP_START_TIME undefined error

* preserve existing user precmd and postcmd, remove jobs support

* remove unnecessary parentheses

* minor script improvement

* removes parens from install script message

* Update docs/config/README.md

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

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2021-02-27 19:55:27 +01:00
Artur Daschevici
5a29765f81
docs: Clarify wording on add_newline option (#2308)
* docs: Clarify wording on add_newline option

* docs: Replace new line with blank line
2021-02-23 18:50:36 +01:00
Kevin Mullins
36351e4b2f
docs: Update Nix installation documentation (#2291)
* docs: Update Nix installation documentation

This changes the documentation to show the provided Home Manager module
instead of manual Home Manager installation instructions. Also fixes a
typo in the NixOS instructions and removes the unfinished and now
unnecessary section on zsh integration via Home manager (since that is
included in the provided module).

* docs: Change example Home Manager configuration
2021-02-23 18:49:27 +01:00
whi-tw
4d3a4f230d
fix(nodejs): Change symbol to nerd-font (#1649)
The unicode hexagon symbol does not actually fit into a single column with a
fixed-width font.  does. As starship requires a nerd font as a prerequisite, 
it's safe to assume that this symbol is available.
Symbol link: https://www.nerdfonts.com/cheat-sheet?set=nf-mdi-nodejs

In the documentation, I've left the '⬢' symbols in '#### Text Group' as
they are, as they will continue displaying correctly in a browser
without a nerd font available. I feel like readability is more important
than consistency with the new nodejs symbol, especially as this
documentation section does not actually refer to nodejs, rather it's
just a symbol.

As `⬢` has been replaced, use `⌘` instead in documentation to avoid
any possible confusion
2021-02-22 14:10:36 -06:00
dependabot-preview[bot]
28170f62b0
build(deps-dev): bump vuepress from 1.8.1 to 1.8.2 in /docs (#2368)
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.8.1 to 1.8.2.
- [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.8.2/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>
2021-02-22 14:49:21 -05:00
dependabot-preview[bot]
b8e2c43099
build(deps-dev): bump @vuepress/plugin-google-analytics in /docs (#2367)
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.8.1 to 1.8.2.
- [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.8.2/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>
2021-02-22 12:35:30 -06:00
Matan Kushner
7c02433085
docs(i18n): New Crowdin updates (#2275)
* New translations README.md (French)

* New translations README.md (Chinese Traditional)

* New translations README.md (Russian)

* New translations README.md (Turkish)

* New translations README.md (Chinese Simplified)

* New translations README.md (Portuguese)

* New translations README.md (Vietnamese)

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Spanish)

* New translations README.md (Arabic)

* New translations README.md (German)

* New translations README.md (Italian)

* New translations README.md (Japanese)

* New translations README.md (Korean)

* New translations README.md (Dutch)

* New translations README.md (Polish)

* New translations README.md (Spanish)

* New translations README.md (Spanish)

* New translations README.md (Vietnamese)

* New translations README.md (Vietnamese)

* New translations README.md (Vietnamese)

* New translations README.md (Polish)

* New translations README.md (Dutch)

* New translations README.md (Japanese)

* New translations README.md (Italian)

* New translations README.md (German)

* New translations README.md (Portuguese)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Vietnamese)

* New translations README.md (Chinese Traditional)

* New translations README.md (Russian)

* New translations README.md (Chinese Simplified)

* New translations README.md (Turkish)

* New translations README.md (Arabic)

* New translations README.md (Spanish)

* New translations README.md (French)

* New translations README.md (Korean)

* New translations README.md (Polish)

* New translations README.md (Dutch)

* New translations README.md (Japanese)

* New translations README.md (Italian)

* New translations README.md (German)

* New translations README.md (Portuguese)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Vietnamese)

* New translations README.md (Chinese Traditional)

* New translations README.md (Russian)

* New translations README.md (Chinese Simplified)

* New translations README.md (Turkish)

* New translations README.md (Arabic)

* New translations README.md (Spanish)

* New translations README.md (French)

* New translations README.md (Korean)

* New translations README.md (Polish)

* New translations README.md (Dutch)

* New translations README.md (Japanese)

* New translations README.md (Italian)

* New translations README.md (German)

* New translations README.md (Portuguese)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Vietnamese)

* New translations README.md (Chinese Traditional)

* New translations README.md (Russian)

* New translations README.md (Chinese Simplified)

* New translations README.md (Turkish)

* New translations README.md (Arabic)

* New translations README.md (Spanish)

* New translations README.md (French)

* New translations README.md (Korean)

* New translations README.md (Polish)

* New translations README.md (Dutch)

* New translations README.md (Japanese)

* New translations README.md (Italian)

* New translations README.md (German)

* New translations README.md (Portuguese)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Vietnamese)

* New translations README.md (Chinese Traditional)

* New translations README.md (Russian)

* New translations README.md (Chinese Simplified)

* New translations README.md (Turkish)

* New translations README.md (Arabic)

* New translations README.md (Spanish)

* New translations README.md (French)

* New translations README.md (Korean)

* New translations README.md (Polish)

* New translations README.md (Dutch)

* New translations README.md (Japanese)

* New translations README.md (Italian)

* New translations README.md (German)

* New translations README.md (Portuguese)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Vietnamese)

* New translations README.md (Chinese Traditional)

* New translations README.md (Russian)

* New translations README.md (Chinese Simplified)

* New translations README.md (Turkish)

* New translations README.md (Arabic)

* New translations README.md (Spanish)

* New translations README.md (French)

* New translations README.md (Korean)

* New translations README.md (Polish)

* New translations README.md (Dutch)

* New translations README.md (Japanese)

* New translations README.md (Italian)

* New translations README.md (German)

* New translations README.md (Portuguese)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Vietnamese)

* New translations README.md (Chinese Traditional)

* New translations README.md (Russian)

* New translations README.md (Chinese Simplified)

* New translations README.md (Turkish)

* New translations README.md (Arabic)

* New translations README.md (Spanish)

* New translations README.md (French)

* New translations README.md (Korean)

* New translations README.md (Italian)

* New translations README.md (Italian)

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Japanese)

* New translations README.md (Italian)

* New translations README.md (German)

* New translations README.md (Arabic)

* New translations README.md (Turkish)

* New translations README.md (Russian)

* New translations README.md (Dutch)

* New translations README.md (Portuguese)

* New translations README.md (Polish)

* New translations README.md (Spanish)

* New translations README.md (French)

* New translations README.md (Korean)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Vietnamese)

* New translations README.md (Chinese Traditional)

* New translations README.md (Chinese Simplified)

* New translations README.md (Polish)

* New translations README.md (Dutch)

* New translations README.md (Japanese)

* New translations README.md (Italian)

* New translations README.md (German)

* New translations README.md (Portuguese)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Vietnamese)

* New translations README.md (Chinese Traditional)

* New translations README.md (Russian)

* New translations README.md (Chinese Simplified)

* New translations README.md (Turkish)

* New translations README.md (Arabic)

* New translations README.md (Spanish)

* New translations README.md (French)

* New translations README.md (Korean)

* New translations README.md (Polish)

* New translations README.md (Dutch)

* New translations README.md (Japanese)

* New translations README.md (Italian)

* New translations README.md (German)

* New translations README.md (Portuguese)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Vietnamese)

* New translations README.md (Chinese Traditional)

* New translations README.md (Russian)

* New translations README.md (Chinese Simplified)

* New translations README.md (Turkish)

* New translations README.md (Arabic)

* New translations README.md (Spanish)

* New translations README.md (French)

* New translations README.md (Korean)

* New translations README.md (Italian)

* New translations README.md (French)

* New translations README.md (Spanish)

* New translations README.md (Arabic)

* New translations README.md (German)

* New translations README.md (Japanese)

* New translations README.md (Korean)

* New translations README.md (Dutch)

* New translations README.md (Polish)

* New translations README.md (Portuguese)

* New translations README.md (Russian)

* New translations README.md (Turkish)

* New translations README.md (Chinese Simplified)

* New translations README.md (Chinese Traditional)

* New translations README.md (Vietnamese)

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Polish)

* New translations README.md (Dutch)

* New translations README.md (Japanese)

* New translations README.md (Italian)

* New translations README.md (German)

* New translations README.md (Portuguese)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Vietnamese)

* New translations README.md (Chinese Traditional)

* New translations README.md (Russian)

* New translations README.md (Chinese Simplified)

* New translations README.md (Turkish)

* New translations README.md (Arabic)

* New translations README.md (Spanish)

* New translations README.md (French)

* New translations README.md (Korean)

* New translations README.md (Vietnamese)

* New translations README.md (Vietnamese)

* New translations README.md (Vietnamese)

* New translations README.md (Vietnamese)

* New translations README.md (Polish)

* New translations README.md (Dutch)

* New translations README.md (Japanese)

* New translations README.md (Italian)

* New translations README.md (German)

* New translations README.md (Portuguese)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Vietnamese)

* New translations README.md (Chinese Traditional)

* New translations README.md (Russian)

* New translations README.md (Chinese Simplified)

* New translations README.md (Turkish)

* New translations README.md (Arabic)

* New translations README.md (Spanish)

* New translations README.md (French)

* New translations README.md (Korean)

* New translations README.md (Polish)

* New translations README.md (Dutch)

* New translations README.md (Japanese)

* New translations README.md (Italian)

* New translations README.md (German)

* New translations README.md (Portuguese)

* New translations README.md (Sorani (Kurdish))

* New translations README.md (Portuguese, Brazilian)

* New translations README.md (Vietnamese)

* New translations README.md (Chinese Traditional)

* New translations README.md (Russian)

* New translations README.md (Chinese Simplified)

* New translations README.md (Turkish)

* New translations README.md (Arabic)

* New translations README.md (Spanish)

* New translations README.md (French)

* New translations README.md (Korean)
2021-02-21 20:13:18 +01:00
Thomas O'Donnell
0083e28827
feat(helm): Configure when the module is shown (#2352)
This makes it possible to configure when the helm module is shown based
on the contents of a directory.
2021-02-21 19:57:23 +01:00
Thomas O'Donnell
64288c2e04
feat(java): Configure when the module is shown (#2353)
This makes it possible to configure when the java module is shown
based on the contents of a directory.
2021-02-21 19:57:09 +01:00
Thomas O'Donnell
c0a209f27c
feat(julia): Configure when the module is shown (#2358)
This makes it possible to configure when the julia module is shown
based on the contents of a directory.
2021-02-21 19:56:55 +01:00
Thomas O'Donnell
1a6c625521
feat(kotlin): Configure when the module is shown (#2359)
This makes it possible to configure when the kotlin module is shown
based on the contents of a directory.
2021-02-21 19:56:48 +01:00
Shu Kutsuzawa
fe6f9eeb4d
feat(purescript): Configure when the module is shown (#2357)
This makes it possible to configure when the purescript module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.
2021-02-21 19:53:10 +01:00
Shu Kutsuzawa
efb82454f2
feat(php): Configure when the module is shown (#2356)
This makes it possible to configure when the php module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.
2021-02-21 19:52:19 +01:00
Shu Kutsuzawa
51f752f6b0
feat(perl): Configure when the module is shown (#2355)
This makes it possible to configure when the perl module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.
2021-02-21 19:51:36 +01:00
Shu Kutsuzawa
e73581ddf0
feat(ocaml): Configure when the module is shown (#2354)
This makes it possible to configure when the ocaml module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.
2021-02-21 19:50:40 +01:00
David Knaack
509767adc0
feat(swift): Configure when the module is shown (#2349)
This makes it possible to configure when the swift module is shown
based on the contents of a directory.
2021-02-21 18:01:31 +01:00
David Knaack
a499f30157
feat(rust): Configure when the module is shown (#2350)
This makes it possible to configure when the rust module is shown
based on the contents of a directory.
2021-02-21 18:01:17 +01:00
David Knaack
9ba82e8d92
feat(ruby): Configure when the module is shown (#2351)
This makes it possible to configure when the ruby module is shown
based on the contents of a directory.
2021-02-21 18:01:01 +01:00
Shu Kutsuzawa
c0a0e85556
feat(nodejs): Configure when the module is shown (#2348)
This makes it possible to configure when the nodejs module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.
2021-02-21 13:22:40 +01:00
Shu Kutsuzawa
4651060999
feat(nim): Configure when the module is shown (#2347)
This makes it possible to configure when the nim module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.
2021-02-21 13:21:20 +01:00
Thomas O'Donnell
873a005c42
feat(erlang): Configure when the module is shown (#2346)
* feat(erlang): Configure when the module is shown

This makes it possible to configure when the erlang module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.

* Update docs/config/README.md

Co-authored-by: Shu Kutsuzawa <cappyzawa@gmail.com>

Co-authored-by: Shu Kutsuzawa <cappyzawa@gmail.com>
2021-02-21 13:20:14 +01:00
Matthew Fry
7331e4bec6
docs: Update README.md with instructions for termux (#2257)
* Update README.md

* make Semantic PR bot happy

Co-authored-by: Matthew Fry <matthew@thefrys.net>
2021-02-21 10:36:03 +01:00
Thomas O'Donnell
eaf9868c11
docs(config): Clarify the changing starship config (#2339)
Have clarified changing the starship config file using the
`STARSHIP_CONFIG` env var.
2021-02-21 10:02:41 +01:00
Thomas O'Donnell
71b6fc1777
feat(elm): Configure when the module is shown (#2341)
This makes it possible to configure when the elm module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.
2021-02-20 18:33:00 +01:00
Thomas O'Donnell
9313e90773
feat(elixir): Configure when module is shown (#2340)
This makes it possible to configure when the elixir module is shown
based on the contents of a directory. This should make it possible to be
a lot more granular when configuring the module.
2021-02-20 18:32:04 +01:00
Mikołaj Rosowski
37d3425d21
feat: create shell module (#2329)
* Add the shell module

This module allows to quickly identify which shell is currently used, in case someone frequently switches between them.

* Updated documentation with shell module.

Co-authored-by: mro <mro@fedorabox.localdomain>
2021-02-20 15:40:49 +01:00
Thomas O'Donnell
d52edaa661
feat(dotnet): Configure when module is shown (#2327)
This makes it possible to configure when the dotnet module is shown
based on the contents of a directory. This should make it possible to be
a lot more granular when configuring the module.
2021-02-20 15:38:03 +01:00
Shu Kutsuzawa
5e93160456
feat(lua): Configure when the module is shown (#2326)
This makes it possible to configure when the lua module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.
2021-02-17 19:03:09 +01:00
Shu Kutsuzawa
97fbfffd7e
feat(golang): Configure when the module is shown (#2325)
This makes it possible to configure when the golang module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.
2021-02-17 18:58:21 +01:00
Shu Kutsuzawa
82c7fd6742
feat(terraform): Configure when the module is shown (#2324)
This makes it possible to configure when the terraform module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.
2021-02-17 18:57:40 +01:00
dependabot-preview[bot]
153690b8e2
build(deps-dev): bump vuepress-theme-default-prefers-color-scheme from 1.1.2 to 2.0.0 in /docs (#1946)
* build(deps-dev): bump vuepress-theme-default-prefers-color-scheme

Bumps [vuepress-theme-default-prefers-color-scheme](https://github.com/tolking/vuepress-theme-default-prefers-color-scheme) from 1.1.2 to 2.0.0.
- [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/compare/v1.1.2...v2.0.0)

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

* Remove css-prefers-color-scheme

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Matan Kushner <hello@matchai.dev>
2021-02-16 17:09:59 -05:00
dependabot-preview[bot]
3917b228ff
build(deps-dev): bump @vuepress/plugin-google-analytics in /docs (#2317)
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.8.0 to 1.8.1.
- [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.8.1/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>
2021-02-16 17:00:33 -05:00
dependabot-preview[bot]
cbc7a21b14
build(deps-dev): bump vuepress from 1.8.0 to 1.8.1 in /docs (#2318)
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.8.0 to 1.8.1.
- [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.8.1/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>
2021-02-16 16:48:06 -05:00
Thomas O'Donnell
e8f463bb57
feat(docker_context): Configure when module is shown (#2315)
* feat(docker_context): Configure when module is shown

This makes it possible to configure when the docker_context module is
shown based on the contents of a directory. This should make it possible
to be a lot more granular when configuring the module.

* Update docs/config/README.md

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

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2021-02-16 20:05:43 +01:00
David Knaack
856610d53b
feat(vagrant): Configure when the module is shown (#2314)
* feat(vagrant): Configure when the module is shown

This makes it possible to configure when the vagrant module is shown based on the contents of a directory.

* fix documentation

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

Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2021-02-15 20:21:21 +01:00
Thomas O'Donnell
d0951db35a
feat(dart): Configure when the module is shown (#2312)
* feat(dart): Configure when the module is shown

This makes it possible to configure when the dart module is shown based
on the contents of a directory. This should make it possible to be a lot
more granular when configuring the module.

* docs(dart): add missing detected files

* removed invalid comment
2021-02-14 22:21:52 +01:00
David Knaack
d4843545aa
feat(zig): Configure when the module is shown (#2311)
* feat(zig): Configure when the module is shown

* remove outdated comment
2021-02-14 22:21:44 +01:00
Thomas O'Donnell
81d6f6aa98
feat(crystal): Configure when the module is shown (#2310)
* feat(crystal): Configure when the module is shown

This makes it possible to configure when the crystal module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.

* Update docs/config/README.md

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

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2021-02-14 18:14:55 +01:00
Thomas O'Donnell
47a769cdf8
feat(cmake): Configure when the module is shown (#2280)
This makes it possible to configure when the cmake module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.
2021-02-13 11:38:47 +01:00
Benjamin Fox
20d845f9b3
refactor(directory): Introduce logical-path argument which allows a shell to explicitly specify both a logical and physical filesystem path (#2104)
* refactor(directory): Introduce `logical-path` argument which allows a shell to explicitly specify both a logical and physical filesystem path

Fix `directory::module` to consume both path and logical-path (if provided).  The "logical" path is preferred when rendering the "display path", while the "physical" path is used to resolve the "read only" flag. Repo- and home-directory contraction behavior is maintained, based on the logical path if it is set, or the physical path if it is not.

The custom "get_current_dir" logic has been removed entirely, and the `directory` module now relies on `context.current_dir` / `context.logical_dir` entirely.

Changes have been made to `init/starship.ps1` to work with this new flag:
- Calculate and pass "physical" and "logical" paths explicitly (as other shells do not pass `--logical-path` that they fall back to rendering the physical path)
- Moved the "powershell provider prefix" cleanup code to the PowerShell script - this code _should_ now support any kind of powershell path prefix.

* fix(powershell): Fix an issue with trailing backslashes on file paths causing command line parsing issues.

This is a bit of a footgun!
The work-around chosen is to append a trailing space when a path string ends with a backslash, and then trim any extra whitespace away in the Context constructor.
Other alternatives considered and rejected:
1. Always trim trailing backslashes as the filesystem generally doesn't need them.
2. Escape trailing backslashes with another backslash. This proved complex as PS only quotes string args when the string includes some whitespace, and other backslashes within the string apparently don't need to be escaped.

* fix(powershell): Use Invoke-Native pattern for safely invoking native executables with strings which may contain characters which need to be escaped carefully.

* fix(context): Remove superfluous argument trims

These were in place to clean up extra whitespace sometimes injected by starship.ps1::prompt, and are no longer required with the new Invoke-Native helper in place.

* refactor(directory): Clean up the semantics of `logical_dir` defaulting it to `current_dir` but overridable by the `--logical-dir` flag.

- Restore `use_logical_path` config flag.
- Always attempt to contract repo paths from the `current_dir`.

* fix(directory) :Use logical_dir for contracting the home directory

This keeps the two calls to contract_path in sync.

* fix(directory): Remove test script

* refactor(directory): Convert current_dir to canonical filesystem path when use_logical_path = false

- This requires some clean-up to remove the extended-path prefix on Windows
- The configured logical_dir is ignored entirely in this mode - we calculate a new logical_dir by cleaning up the physical_dir path for display.
- Test coverage

* fix(directory): Use AsRef style for passing Path arguments

* fix(directory): Strip the windows extended-path prefix from the display string later in the render process

* fix(docs): Update docs/config/README.md for use_logical_path

* refactor(context): Populate `current_dir` from `--path` or `std::env::current_dir`, populate `logical_dir` from `--logical-path` or the `PWD` env var

- `current_dir` is always canonicalized
- On Windows, `current_dir` will have an extended-path prefix
- `logical_dir` is now always set
- `directory::module` now just selects between `current_dir` and `logical_dir` when picking which path to render
- Test coverage

* fix(directory): Fix path comparison operations in directory to ignore differences between path prefixes

- Added PathExt extension trait which adds `normalised_equals`, `normalised_starts_with` and `without_prefix`

* fix(path): Add test coverage for PathExt on *nix

* fix(directory): Test coverage for `contract_repo_path`, `contract_path` with variations of verbatim and non-verbatim paths

* fix(directory): Update path-slash to latest

This fixes the issue with the trailing character of some Windows paths being truncated, e.g. `\\server\share` and `C:`

* fix(powershell): Improve UTF8 output handling, argument encoding

- Use `ProcessStartInfo` to launch native executable, replacing manual UTF8 output encoding handling
- If we detect we're on PWSH6+ use the new `System.Diagnostics.ProcessStartInfo.ArgumentList` parameter, otherwise manually escape the argument string
- Move `Get-Cwd` and `Invoke-Native` into the prompt function scope so that they don't leak into the user's shell scope

* fix(path): Make PathExt methods no-ops on *nix

* fix(path): Cargo fmt

* fix(powershell): Remove typo ';'. Fix variable assignment lint.
2021-02-08 15:14:59 +01:00
Thomas O'Donnell
da4bd401c4
feat(python): Configure when the module is shown (#2264)
This makes it possible to configure when the python module is shown
based on the contents of a directory. This should make it possible to
be a lot more granular when configuring the module.

This includes a breaking change since we are removing the
`scan_for_pyfiles` configuration option in favour of setting the
`detect_extensions` to an empty array.
2021-02-07 22:18:52 +01:00
Matan Kushner
f9bebc9ab8
docs(i18n): New Crowdin updates (#2219) 2021-02-06 12:46:15 -05:00
Dan Tsekhanskiy
2bc8a7172d
docs(status): Remove status_ prefix from status module variables (#2260)
* Remove status_ prefix from status module variables

* Revert "Remove status_ prefix from status module variables"

This reverts commit f4c6e9ced3040ef2939189afe7ff8bd08d6fae78.

* docs: Remove status_ prefix from status module variables
2021-02-03 18:52:15 +01:00
David Knaack
22dc8b842e
feat: add support for elvish shell (#1725)
* feat: add support for elvish shell

* improve doc

* elvish 0.15 is out

* fix example init

* update systax for 0.15 stable

* udpate second init example too

* remove warning from swift module

* add warning to status module docs

* prefix elvish version with v
2021-02-02 12:59:55 +01:00
Furkan Türkal
9e21e3cf5f
feat(vagrant): Add support for Vagrant (#1812)
Signed-off-by: Dentrax <furkan.turkal@hotmail.com>
Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>

Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2021-01-30 12:05:16 +01:00
Matan Kushner
6afd9ecaf3
docs(i18n): add Vietnamese doc translations 2021-01-26 17:25:25 -05:00
Matan Kushner
bea79619e0
docs(i18n): New Crowdin updates (#2108) 2021-01-26 17:07:13 -05:00