Commit Graph

118 Commits

Author SHA1 Message Date
Neil Kistner
1c66869117 feat: Add config for ahead/behind count of tracked branch (#281)
Add a configuration option (show_sync_count) to the git_status module that will show/hide the counts ahead/behind of the tracked branch. Currently have this default to false, and would opt-in to show this information.
2019-09-05 00:09:51 -04:00
Matan Kushner
e66d7bae1c
ci: Migrate CI from Azure Pipelines to GitHub Actions (#233)
Migrated CI from Azure Pipelines to GitHub Actions.
Until the release process is figured out in Actions, we'll stick to using Azure pipelines for releases.
2019-09-04 19:13:53 -04:00
Andrew Houts
84688e4981 feat: add hostname module (#286)
Add a hostname module as requested by @chipbuster.
Displays the system hostname as provided by gethostname.
2019-09-04 13:03:31 -04:00
Nick Young
5a0f269d85 fix: Be more restrictive with bash init fallback (#278)
This should improve compatibility with "Git Bash" with Git for Windows by
using psub+source init for all bash shells v4.1 and newer.
2019-09-04 09:23:31 -05:00
Kevin Song
6db0e20585 Change ZSH init to use jobstates for num jobs (#252) 2019-09-03 23:44:44 -04:00
Francisco Lopes
722a0652fd feat: Respect status.showUntrackedFiles 2019-09-02 20:27:04 -04:00
Titouan Vervack
59e8b1fc92 feat: added truncation_length/symbol to git_branch (#268)
Git branches can become very long (e.g. gitlab auto-generated branch
names), thus it would be nice to be able to truncate them to keep your
prompt lenght in line.

This patch adds two new options to the git_branch module:
* truncation_length: The amount of graphemes to of a gitbranch to
truncate to
* truncation_symbol: The symbol that should be used to indicate that a
branch name was trunctated

To be able to correctly work with UTF-8 graphemes, unicode-segmentation
was added as a dependency.
2019-09-02 15:56:59 -04:00
Quinn Strahl
3dd035056d Support vicmd_symbol in fish-shell (#254) 2019-08-31 00:59:18 -07:00
Nick Young
4eb7beca48 fix: Adds nix_shell to module::ALL_MODULES (#264)
So that it can be configured in the user's prompt
2019-08-30 09:39:21 -04:00
Harry Mills
c2a1803681 Fix typo in comment (#260) 2019-08-29 12:40:25 -04:00
Neil Kistner
9853743eda feat: Add commit count for ahead/behind symbols (#247)
Add logic for the git status module to display the number of commits the index is ahead or behind next to the symbol.
2019-08-27 20:11:42 -07:00
Bruno Bigras
fa2d1c05a6 fix: use procsub in bash since termux has no stdin (#241) 2019-08-27 00:02:52 -07:00
Neil Kistner
e034253a5e feat: Add ability to use an alternate directory truncation style (#239)
* Add ability to use an alternate directory truncation style
2019-08-26 21:52:45 -04:00
Ivan Tham
cdea401589 refactor: just match enum (#236)
Remove forced unwrap since match is already exhausted
2019-08-26 14:47:34 -04:00
Bruno Bigras
0fa862a2e9 make the battery module optional for now (#234)
The 'battery' crate doesn't support Termux, so we are temporarily making the battery module optional.
2019-08-26 14:09:39 -04:00
TsubasaKawajiri
08aef016cd fix: battery percentage character on Zsh. #226 (#237)
on Zsh, battery percentage character would print %
this PR fixes print %{ -> %
2019-08-25 21:52:44 -04:00
Bruno Bigras
feb737190e Add nix-shell support (#173) 2019-08-25 11:41:20 -04:00
Matan Kushner
57e807fec6
style: Fix clippy warnings 2019-08-23 13:13:04 -04:00
Bruno Bigras
68cbcb91b7 Use full path to starship in all phases of init (#224) 2019-08-22 12:57:32 -07:00
Thomas O'Donnell
1478f8c2e9 Add support for detecting Python from Pipenv files (#221)
Added the ability to enable the Python module based on the existence of the a `Pipfile`.
2019-08-21 15:54:22 -07:00
Kevin Song
360ea988e5
Add ruby to default module ordering (#217) 2019-08-21 12:41:01 -07:00
Kevin Song
f06247d5d3 fix: Correct ZSH init on older ZSH versions (#213) 2019-08-20 23:49:07 -04:00
Saurav Sharma
075a76897c fix: Change panicking on unknown module to error print and support module listing flag (#197) 2019-08-20 00:42:25 -04:00
Kevin Song
0e82c19f37
feat: Implement a two-phase init which allows us to write normal init scripts (#168)
Implement a two-phase init procedure in starship. The first phase causes the shell to source a subshell, while the second phase (in the subshell) prints the main init script.

This allows us to have nice init scripts with good styling, comments, and no pile of semicolons. Even better, it works as a drop-in replacement, so we don't need to update the docs.
2019-08-19 18:44:53 -07:00
Saurav Sharma
f54322f2ab feat: Add configuration for reordering the prompt module and disabling default order (#171)
Adds functionality for reordering the prompt module through the use of the prompt_order configuration option in starship.toml
2019-08-18 21:35:11 -07:00
Saurav Sharma
664df257bf fix: Solve bash & zsh cursor location confusion issue (#183)
Solves the issue of cursor location confusion on bash and zsh (#110) . Solution: modify ANSIString and wrap non-printing characters with correct escape sequences.
2019-08-18 20:33:12 -07:00
Kevin Song
85ac0a6801 fix: Set default prompt character to ❯ (#177) 2019-08-18 11:34:45 -04:00
Kevin Song
572a07c72d fix: Correct broken zsh init in absence of precmd_functions (#180) 2019-08-18 07:07:38 -04:00
Saghm Rossi
dfe2ae643a fix a few typos (#178) 2019-08-17 20:50:42 -07:00
Kevin Song
8782e300fc
feat: Allow bash users to specify a precmd function (#166)
Allows bash users to run a function before the shell is drawn, by defining a function and setting its name equal to starship_precmd_user_func.
2019-08-17 16:53:59 -07:00
Shu Kutsuzawa
d90c43b8b1 feat: Display Vi mode as PROMPT (#169)
Add Vi-mode indicator for zsh
2019-08-17 12:33:19 -07:00
Saghm Rossi
84c394e7b0 feat: Add option to control git directory truncation (#165) 2019-08-16 20:29:22 -07:00
Saghm Rossi
5ad07bf2d9 docs: Fix typo in directory module description (#163) 2019-08-16 14:16:29 -04:00
Kevin Lane
e262187f4c feat: Display Python package version from poetry (#153) 2019-08-15 16:41:06 -04:00
Kevin Song
22c8c3459f feat: implement cmd_duration for bash (#144) 2019-08-13 22:49:47 -04:00
André Zanellato
b06249d61c feat: implement the ruby module (#131) 2019-08-13 18:43:29 -04:00
Matan Kushner
d296432908
fix: Fix exception caused by the golang module
Fixes #148
2019-08-13 15:06:10 -04:00
Matan Kushner
7424e9674c
fix: Fix issues with nodejs and golang configuration (#146)
* fix: Give all modules a single name
* test: Add missing config tests for nodejs and golang
* test: Rename dir to directory
2019-08-13 12:30:59 -04:00
Kevin Song
a87c0750cc fix: Fix issue with jobs and extra whitespace on MacOS with BSD… (#145)
MacOS wc has a habit of leaving nasty spaces in the output, which was
messing up our argparser.

To fix, quote the output from the jobs command, then have Rust trim out
whitespace in the jobs module before parsing.
2019-08-12 23:41:59 -04:00
MaT1g3R
160a79fa06 feat: Implement configuration to display pyenv version name (#140)
This behavior can be enabled via setting `use_pyenv` to true.
The "pyenv" prefix before the version name can be configured using `pyenv_prefix`.
2019-08-12 21:12:55 -04:00
John Letey
82cf484ced feat: Implement the prompt module for jobs (#85) 2019-08-12 13:42:33 -04:00
Matan Kushner
4c2e9c3304 fix: Move the battery to the newline before character (#139) 2019-08-11 21:46:12 -07:00
MaT1g3R
3669e389b6 feat: Implement Python virtual environment display (#137) 2019-08-11 17:51:13 -04:00
Kevin Song
39598ec691 feat: Add configuration to change the character for non-zero sta… (#133)
Prompt can now switch characters in addition to switching character color. Add configuration options in so that users can do either, both, or neither.
2019-08-10 17:30:30 -04:00
Kevin Song
994a865d4d fix: Add test attribute to cmd_duration tests (#134) 2019-08-10 15:47:34 -04:00
Kevin Song
3daf3ddf26 feat: implement timer module (#118)
Implement a timer module that takes a commandline argument, the number of seconds the last job took to complete, and displays it if appropriate.

Alters shell initialization files to compute this number using date +%s where needed.

Adds a config section to configure minimum amount of time before timer is shown (default is 2s)
2019-08-08 13:25:30 -04:00
Matan Kushner
f40f73dc8e fix: Address longstanding linter errors 2019-08-05 11:05:08 -04:00
Matan Kushner
616b50b4e3 ci: Publish crate to Crates.io with CI 2019-08-05 11:05:08 -04:00
Andrew Dassonville
5dbf4381ac feat: Allow directory truncation length to be configured (#120)
This allows the directory truncation length to be configured. Previously, it was hard-coded to truncate to 3 parent directories.
2019-07-28 21:05:13 -04:00
Andrew Dassonville
75e74e0d74 feat: Use Unix-style slash on Windows (#119)
Prior to this change, starship would use inconsistent slashes when displaying the working directory. With this change, starship uses Unix-style slashes on all platforms. This is consistent with the Git Bash and Cygwin prompts on Windows.
2019-07-28 20:15:40 -04:00