Kevin Pullin
9924af55db
feat(aws): Use AWS_VAULT as the profile if set ( #984 )
...
* Use AWS_VAULT as the profile if set
[aws-vault](https://github.com/99designs/aws-vault ) sets
the `AWS_VAULT` env var instead of `AWS_PROFILE` when an
aws-vault session is active.
This PR adds support for reading the AWS profile value from
the `AWS_VAULT` env var, giving priority to `AWS_VAULT` if both
it and `AWS_PROFILE` are set.
* Update docs for AWS_VAULT
2020-04-06 16:59:56 +02:00
Barnaby Keene
b685bb2954
feat: add docker context module ( #996 )
...
* feat: add docker context module
Adds a simple module that checks for a Docker config file and if present, reads the `currentContext` value out and displays on the prompt with a whale.
* feat: add `only_with_compose_yml` option to docker_context
When enabled, will only show the docker context name if there's a docker-compose.yml file in the current directory.
* Update src/modules/docker_context.rs
Co-Authored-By: Thomas O'Donnell <andytom@users.noreply.github.com>
* Update src/modules/docker_context.rs
Co-Authored-By: Thomas O'Donnell <andytom@users.noreply.github.com>
* rename `only_with_compose_yml` configuration key to a more generic `only_with_files`
* Update src/modules/docker_context.rs
Co-Authored-By: Thomas O'Donnell <andytom@users.noreply.github.com>
* re-order configuration table
* Update docs/config/README.md
Co-Authored-By: Thomas O'Donnell <andytom@users.noreply.github.com>
* Update src/configs/docker_context.rs
Co-Authored-By: Thomas O'Donnell <andytom@users.noreply.github.com>
Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2020-04-05 21:42:55 +02:00
Shu Kutsuzawa
bd016b6ce2
feat: Enable to display language version when .<lang>-version
file exists. ( #1028 )
...
* adjust https://github.com/sonnym/elmenv
* adjust https://github.com/syndbg/goenv
* adjust https://github.com/jenv/jenv
* adjust https://github.com/nodenv/nodenv
* adjust https://github.com/phpenv/phpenv
* adjust https://github.com/rbenv/rbenv
* add description
* golang.rs is executed rustfmt
* add testcases
2020-04-03 21:02:28 +02:00
sk1985
e38be5073f
feat(kubernetes): context aliases ( #1015 )
...
* Allow kubernetes module to use aliases for contexts
* documentation for kubernetes context aliasing
* Apply suggestions from code review: consistent ordering of options in documentation
Co-Authored-By: Thomas O'Donnell <andytom@users.noreply.github.com>
Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2020-04-03 20:18:44 +02:00
Shu Kutsuzawa
dba3467dee
feat: Add a julia module ( #1030 )
...
* add a julia module
* Update docs/config/README.md
Co-Authored-By: Thomas O'Donnell <andytom@users.noreply.github.com>
* fix based on https://github.com/starship/starship/pull/1030#pullrequestreview-381767326
Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2020-04-03 20:16:34 +02:00
Shu Kutsuzawa
edcec7eed8
feat(package): Add project version for julia ( #1036 )
...
* add project version (for julia) to package module
* update docs
2020-04-03 20:16:22 +02:00
David Knaack
55503bb77b
perf(dotnet): fail faster in the dotnet module ( #1034 )
2020-04-03 12:34:35 -04:00
David Knaack
56d475578e
fix: possible fix for Intermittent Test Failures in GH Actions ( #987 )
...
* fix: possible fix for Intermittent Test Failures in GH Actions
* undo some of the chnages to directory.rs
* typo
* add docs
2020-03-15 12:12:25 -05:00
Thomas O'Donnell
f790b67e3d
refactor: Fix new Clippy suggestions ( #1006 )
...
* Fix new Clippy suggestions
This just cleans up a few new suggestions from Clippy.
* Dummy commit to trigger CI
2020-03-14 11:37:51 -04:00
Matan Kushner
d0e1904758
feat(package): ignore private JS packages ( #975 )
...
`private: true` in `package.json` files means that the package is not supposed to be published to npm, which makes the `version` field meaningless, so we should probably ignore it to not clutter the prompt too much.
2020-03-05 10:49:11 -05:00
KokaKiwi
243e97cfe6
feat: add Elixir module ( #437 )
2020-03-01 22:29:27 -05:00
Tadej Novak
7e66791cb2
feat: add singularity module ( #932 )
2020-02-26 11:18:19 -05:00
Kevin Lane
ce540fff7a
feat: display Gradle project version ( #662 )
...
This PR adds package version support for Gradle projects. The version number is extracted from the `build.gradle` file in the current directory, similar to existing support for other packages.
2020-02-21 14:12:21 -05:00
Thomas O'Donnell
d44c037ba5
test: refactor ruby and php modules to use mocked commands ( #936 )
2020-02-21 11:52:39 -05:00
Onielfa
ddd8cfb388
perf: refactor git status to use HashMap for counts ( #938 )
2020-02-14 20:38:25 -05:00
nesmyslny
0312c7b91e
feat(git_commit): Show the hash of commits when detached HEAD ( #738 )
2020-02-12 14:56:29 -05:00
Thomas O'Donnell
67397d9096
test(golang): refactor golang tests to use mocked command ( #925 )
...
Refactor the golang module tests to use a mocked command and no
longer depend on having a particular version of Go installed.
2020-02-12 13:22:21 -05:00
Brett Mandler
bc600e4321
feat: Add cabal and hpack detection for the haskell module ( #915 )
2020-02-06 19:29:57 -05:00
Andrew Prokhorenkov
cead23edca
test: port Haskell module tests to integration test ( #913 )
2020-02-06 12:12:07 -05:00
Andrew Prokhorenkov
273a937505
feat: Add an Elm module ( #879 )
...
Former-commit-id: d42137309da457a438b554601f0734db963a193e
2020-02-05 22:57:04 -05:00
Youssef Habri
f665df226c
feat: Add Crystal version module ( #170 )
2020-02-04 18:27:06 -05:00
Sam Rose
83337a1a03
perf: Optimize files, folder and extension lookups in Context ( #880 )
2020-02-03 16:57:48 -05:00
Matan Kushner
3365beae09
test(nodejs): Port nodejs module tests from E2E to integraton ( #867 )
...
Replaces the existing nodejs module end-to-end tests with integration tests that don't require preinstalled environmental dependencies.
- Moved the tests to the same file as the module they test
- Created a render_module utility function for rendering modules within tests
- Removed Node.js installation during CI setup
- Add Shell to Context to allow for tests to not run shell-specific code
2020-01-26 16:37:18 -06:00
Andrew Prokhorenkov
6f2c9fb397
feat: add Haskell Stack support ( #546 )
...
Add a Haskell Stack module when a stack.yaml file is detected
2020-01-25 00:48:39 -06:00
Sam Rose
f4c095de92
fix(java): Add detection for *.gradle files ( #871 )
...
Currently the Java module detection looks for build.gradle specifically, but it's possible to rename build.gradle to *.gradle. This change adds Gradle files to the list of detected file extensions.
2020-01-24 10:22:30 -05:00
Peter Bull
b723a7d562
fix(python): Trim "Anaconda, Inc." from version ( #861 )
2020-01-21 11:14:40 -05:00
Thomas O'Donnell
197376633a
fix: Fix incorrect prefix usage in cmd_duration module ( #832 )
...
Fixed the way the cmd_duration module is setting it's prefix to be the
same as the other modules.
2020-01-18 01:15:08 -06:00
Thomas O'Donnell
0fe90bf018
refactor(dotnet): Use exec_cmd
util ( #826 )
...
Have refactored the dotnet module to use the util::exec_cmd rather than
the Command module directly.
2020-01-15 13:52:38 -05:00
Thomas O'Donnell
60ce320912
refactor(php): Use exec_cmd
util( #825 )
2020-01-12 17:50:25 -05:00
Hendrik Rombach
dab27f3334
fix: Correct module description text for git_commit ( #812 )
2020-01-07 12:12:40 -05:00
David Hewson
178f177dac
perf(hg_branch): Replace direct calls to hg
( #803 )
...
perf: don't use hg process to get branch / bookmark information, each call was taking 250ms and it was making on average 2 calls.
the branch and bookmark information is available in files in the root of the repo, use that instead.
now takes 300 micro seconds
fix: do not use .hgignore to decide if it is an hg repo. was providing false positives. #721
fix: after changing branch the new branch was not show (the old branch was shown), the new branch is now correctly shown. #722
fix: if no branch override was set it would say (no branch) however if you commited in that state you would commit to the branch default so say that instead
2020-01-03 17:51:45 -05:00
Jon Grythe Stødle
8e5fa60fc8
feat: Add the starship explain
command ( #699 )
...
This adds the explain argument to Starship, which explains what the printed modules in the prompt are.
2020-01-01 23:19:08 -05:00
marblenix
b82ff321fa
feat(git_status): Add a stash count segment ( #598 )
2019-12-28 22:20:36 -05:00
Tobias Bieniek
ecc8754335
fix(package): Use specified directory instead of current working directory ( #774 )
2019-12-23 22:38:00 -05:00
Matan Kushner
8cf4ce21d9
perf: Dereference before to_string in aws module
2019-12-20 12:58:59 -05:00
Mike Sampson
256a2be949
feat: Implement AWS region aliases ( #646 )
2019-12-20 12:30:47 -05:00
Luca Rinaldi
6a2b0a67b0
feat: cmd_duration module optionally reports milliseconds ( #696 )
2019-12-19 17:38:06 -05:00
Mario Arias
aab35674d2
feat: Adds build.gradle.kts detection to the Java module ( #731 )
2019-12-19 10:17:50 -05:00
David Knaack
6724ce5bb5
fix(powershell): % sign was prefixed with ` ( #730 )
2019-12-13 14:55:20 -05:00
dependabot-preview[bot]
d71373b265
build(deps): bump sysinfo from 0.9.6 to 0.10.2 ( #711 )
2019-12-12 15:32:46 -05:00
Morten Scheel
e38a257656
feat: add composer.json version to Package module ( #716 )
2019-12-11 21:05:39 -05:00
AppleTheGolden
3c835ba34b
fix: Truncate long paths in conda environment names ( #694 )
...
Environment names created via conda create -p [path] tend to be too long for comfort, so this truncates them.
2019-12-09 12:59:02 -05:00
wdullaer
44b37a7bac
feat: Implement terraform module with workspace and version ( #644 )
2019-12-08 20:42:51 -05:00
Dan Wendorf
dee25c7b35
feat: Add prefix config to directory module ( #642 )
2019-12-06 14:19:11 -05:00
Qingping Hou
c5a206e3cf
feat: Add git_commit module ( #673 )
2019-12-06 11:57:42 -05:00
Stephen Ball
46904e5045
feat: Add PHP version module ( #244 )
2019-12-05 13:04:27 -05:00
Luca Rinaldi
1558b22bb0
fix: multiple batteries support in the battery module ( #669 )
...
Closes #656
2019-12-03 11:48:50 -05:00
Thomas O'Donnell
edc62f4518
refactor: Refactor modules to use the exec_cmd util ( #676 )
...
Have refactored the golang, java, nodejs, python, ruby and username
modules to use the new `exec_cmd` util.
2019-12-02 17:42:55 -05:00
Luca Greco
337f213753
feat: Add the hg_branch module ( #569 )
2019-12-02 17:37:18 -05:00
Raidou
2a75a18eb1
fix: Fix panic when using fish-style pwd with unicode symbols ( #672 )
2019-11-29 00:02:22 -05:00
Thomas O'Donnell
45d977aa39
fix: Remove duplicated "v" in package versions ( #648 )
2019-11-20 09:16:07 -05:00
Matias Kotlik
135dddbb4f
feat: Add separator config to the memory module ( #603 )
2019-11-13 10:57:46 +09:00
Thomas O'Donnell
fc2f644237
fix: Add support for multiple Kubeconfig files ( #635 )
...
This adds support for having multiple Kubeconfig file set as part of the
`KUBECONFIG` env var.
2019-11-12 14:34:01 +09:00
Zhenhui Xie
5bb7467b56
refactor: Cleanup after module config refactor ( #630 )
2019-11-07 12:38:30 +09:00
Zhenhui Xie
a3d5ea3e43
refactor: Refactor git state module to use module config ( #605 )
2019-11-06 22:00:31 +09:00
Zhenhui Xie
48726fdd2a
refactor: Refactor nix_shell and java module to use module config ( #606 )
2019-11-06 21:59:12 +09:00
Thomas O'Donnell
42f6868e3f
feat: Enable the python module in virtual envs ( #584 )
...
This will enable the python module when a virtual environment has been
activated, this is detected via the `VIRTUAL_ENV` env var.
2019-11-02 20:10:21 +09:00
Cédric Da Fonseca
fa1267f12f
feat: Add configuration to set how much AWS profile info is shown ( #556 )
2019-11-02 20:08:54 +09:00
Matias Kotlik
e01c41eddf
style: Clean up Golang module ( #612 )
2019-11-01 10:53:28 +09:00
Brian Low
2710d02709
feat: Show git_status counts ( #434 )
...
The git_status module can show the count of files next to their respective symbols.
2019-10-26 15:20:20 +09:00
yuri
b7762a3e91
fix: Show Java version from OpenJ9 Java runtimes ( #507 )
...
This PR tries to improve the version detection across multiple Java VM vendors. The module captures both STDOUT and STDERR outputs of the java -Xinternalversion call.
Eclipse OpenJ9, Azul Zulu, SapMachine, Amazon Corretto and GraalVM outputs are unit tested now.
2019-10-25 10:00:05 +09:00
Zhenhui Xie
aa260899d4
fix: Use logical path instead of physical path when available ( #398 )
...
* Get pathbuf from logical path. (fixes #204 )
(also fixes #397 )
* fix: Update directory module so that use_logical_path will work properly
* Remove test directory::use_logical_and_physical_paths
* Fix merge errors
Co-authored-by: Matan Kushner <hello@matchai.me>
2019-10-24 19:37:44 +09:00
Thomas O'Donnell
e0c90a6502
refactor: Remove to remove unneeded mutability ( #577 )
...
Removed a couple of unneeded `mut`s that were pointed out by `cargo
check`.
2019-10-24 19:31:17 +09:00
Matias Kotlik
86bb923303
refactor: Refactor memory_usage module to use module config. ( #515 )
...
Also addresses a number of bugs:
- the percent sign not displaying correctly on some terminal emulators, including kitty
- changing the symbol in the configuration file didn't do anything
- swap being shown even if the system didn't have any
2019-10-21 00:26:04 +09:00
Thomas O'Donnell
7b9197a67e
fix: Fix the python module ignoring error codes ( #563 )
...
This is a quick fix to stop the python module from displaying error
messages that have been printed to stderr as the version.
2019-10-20 17:42:27 +09:00
Clément Joly
7e21f5c6b6
Refactor: Remove unnecessary parentheses in if condition ( #566 )
2019-10-20 17:36:02 +09:00
Barnaby Keene
2c7e01cd62
refactor: improve as-a-library usage by removing ArgMatches depe… ( #547 )
...
This removes ArgMatches from the Context struct and replaces it with a simple HashMap. This work is towards getting Starship in a better place for use as a library in other shells written in Rust so they don't need to use a command-line interface to invoke and configure things.
Contributes to #521
2019-10-20 17:26:27 +09:00
Zhenhui Xie
aadd8ecf2c
refactor: Refactor modules to use module config ( #514 )
2019-10-19 10:51:38 +09:00
Nguyễn Hồng Quân
27fad02837
fix: Separate Python version string and env name ( #548 )
2019-10-17 18:55:48 +09:00
David Knaack
6ab70796db
feat: Implement PowerShell support ( #470 )
2019-10-16 00:10:16 +09:00
Matias Kotlik
d2eef11148
refactor: Refactor git_branch module to use new module config ( #535 )
2019-10-15 20:48:53 +09:00
Zhenhui Xie
be2d5cf1cd
refactor: Rewrite cmd_duration, directory and env_var module to use module config ( #460 )
...
This PR is a batched rewrite of the following modules:
- cmd_duration
- directory
- env_var
2019-10-15 20:34:48 +09:00
Zach Mertes
5303fd7684
feat: Add configuration for hostname truncation ( #485 )
2019-10-15 01:22:25 +09:00
Keith Wade
10efe3e320
fix: Show leading slash when truncating from root ( #526 )
2019-10-15 00:12:43 +09:00
Thomas Lee
b3275d8ddf
feat: Show AWS region in aws
module ( #482 )
2019-10-15 00:05:03 +09:00
Thomas O'Donnell
cc68dec795
refactor: Refactor Go module to the new module config ( #525 )
2019-10-13 13:16:56 +09:00
Zhenhui Xie
57b38f17bb
refactor: Rewrite hostname, jobs and line_break module to use mo… ( #462 )
2019-10-10 17:21:52 +09:00
Keith Wade
9d48706360
feat: Implement timezone offset config option for the time module ( #463 )
...
This allows users to configure the time module to display time with a timezone offset other than just their local timezone.
2019-10-10 13:42:57 +09:00
Maarten Mulders
8058b51273
feat: Show Java module when build.sbt is present ( #505 )
...
* feat: Show Java icon and info when build.sbt detected
* docs: Mention build.sbt detection
2019-10-07 19:18:01 +09:00
Zhenhui Xie
044e10de1b
chore: Import shared types from super ( #492 )
...
Changes imports statements to make imports more uniform.
2019-10-05 16:13:03 -05:00
AppleTheGolden
7657af0680
feat: Add conda module ( #469 )
2019-10-05 13:25:25 -05:00
Thomas Lee
27e8c8f3eb
refactor: Rewrite time
module to use module config ( #483 )
...
- Config option renamed: `12hr` → `use_12hr`
2019-10-06 00:07:00 +09:00
Zhenhui Xie
bc9e44f45c
fix: Add disable configuration option to kubernetes module ( #491 )
2019-10-05 23:10:16 +09:00
Matan Kushner
f2e20bbea2
revert: chore: Remove logic for the disabled
option from modul… ( #489 )
...
This reverts commit 6c6e0ef1dd
.
2019-10-05 19:03:48 +09:00
Thomas O'Donnell
5a8777ff45
fix: Disable Kubernetes module by default ( #488 )
...
Given the global nature of the Kubernetes module, the module has been disabled by default. The opportunity has also been taken to refactor the Kubernetes module to use the new config module.
2019-10-05 18:31:23 +09:00
Zhenhui Xie
6c6e0ef1dd
chore: Remove logic for the disabled
option from modules ( #486 )
2019-10-05 18:07:33 +09:00
Matan Kushner
05210b9510
refactor: Go from Rust workspaces to a package with nested packages ( #480 )
2019-10-04 22:30:46 +09:00
Zhenhui Xie
dd0b1a1aa2
refactor: Refactoring config ( #383 )
...
This PR refactors config and puts configuration files for all modules in `configs/`.
2019-09-30 21:10:35 +09:00
Matan Kushner
9e9eb6a8ef
fix: Disable memory_usage by default ( #451 )
2019-09-30 16:04:49 +09:00
Tom Hotston
7588137b09
feat: Added ability for setting command duration prefix ( #414 )
2019-09-30 14:26:32 +09:00
Ryo Yamashita
b7dc6c5e96
fix: Prevent rust
module from installing toolchains ( #426 )
...
Prevents the rust module from installing rustup toolchains.
Previously, the rust module would trigger rustup toolchain installations in some cases,
leading to frozen prompts while rustup downloads/installs components. This commit
changes the behaviour to avoid this.
2019-09-29 21:39:48 -05:00
Andrew Houts
0eafb2bde7
feat: add memory usage module ( #403 )
...
Adds a module to display system memory and swap usage.
2019-09-29 00:55:48 -05:00
yuri
63a45d01f9
feat: Use tilde for home_directory when under version control ( #439 )
2019-09-28 22:50:38 -05:00
yuri
d3fc66c0c5
feat: Add Environment Variable module ( #409 )
2019-09-26 17:30:58 +09:00
Thomas O'Donnell
b050c59708
feat: Add AWS module ( #419 )
...
Adds a module for displaying the current AWS profile based
on the AWS_PROFILE envar.
2019-09-25 21:55:47 -05:00
Matan Kushner
caaf3bc6a9
revert: Revert the command duration in ms feature ( #380 ) ( #425 )
...
Due to incompatibilities with the macOS date utility, we are
temporarily reverting this feature.
Refs: #c5e971a
2019-09-25 17:13:58 +09:00
Tom Hotston
c5e971aef8
feat: Add ability for command duration in milliseconds ( #380 )
2019-09-24 14:03:10 -05:00
Gimbar
702ad274cf
feat: Add option to always show the username module ( #408 )
2019-09-22 15:32:11 -05:00
Thomas O'Donnell
08340328dd
refactor: Remove dead code in battery module ( #405 )
2019-09-21 09:41:15 -05:00
谢祯晖
14fe246138
fix: Add display for unknown battery state ( #316 )
2019-09-20 12:52:54 -04:00
Kevin Song
c2875d99b6
feat: add support for logical paths in directory ( #366 )
...
Adds the ability for starship to display the logical path instead of the physical path.
2019-09-20 12:28:09 -04:00
Neil Kistner
cd892ebb60
fix: fish_pwd option handles repeated directories properly ( #399 )
2019-09-20 10:37:55 -04:00
Kuba Clark
71f03ec3e9
feat: Add Java Module ( #314 )
...
Implements a Java module which shows basic Java information when inside a Java project.
2019-09-19 18:02:53 -05:00
Kutsuzawa Ryo
7a98ec1d8e
feat: Add configuration for the git_status
prefix and suffix ( #367 )
2019-09-15 16:44:53 -04:00
Thomas O'Donnell
653def05f0
Enable the python module for tox files ( #369 )
...
Enable the python module if the current directory contains a `tox.ini`
file.
2019-09-15 12:21:40 -04:00
Nick Young
7e891f17c1
perf: Lazy load files from directory ( #335 )
...
Changes context to use `once_cell` to lazily evaluate directory listing on first use.
2019-09-14 09:23:53 -05:00
Matan Kushner
3e23a9a73c
chore: Rename integration_test to acceptance_test ( #356 )
2019-09-12 18:01:13 -05:00
谢祯晖
a6c64e8457
feat: Implement threshold based styling for battery module ( #318 )
2019-09-12 14:06:59 -04:00
谢祯晖
37b5168bfe
fix: Fixups for #138 ( #343 )
...
- Fix unused imports in unit tests
- Add accidently remove module "battery"
2019-09-11 08:43:40 -04:00
John Letey
f9a4514045
feat: Implement the prompt module for time ( #138 )
...
Add a module which displays the current time in a format requested by
the user. Disabled by default.
2019-09-10 12:54:40 -05:00
Neil Kistner
9f70ffb7a7
fix: Lazy load git repo and only run module if not disabled ( #306 )
...
A couple of optimizations are done in this PR. One, we now will check config ahead of time to see if a module is disabled before running any module code. Also, we won't try to discover a git repository unless the module requests access to it.
2019-09-09 19:14:38 -04:00
Kevin Song
9721666d33
feat: Add the ability to configure per-module color styles ( #285 )
...
Add parsing logic, config support, docs, and integration with other modules
for custom styling of each module.
2019-09-07 19:33:06 -05:00
Nick Young
eb724279da
feat: Adds Git State module for showing "REBASING 2/3", etc. ( #276 )
...
- Adds the git_state module.
- Adds git_state to the default prompt order
- Updates the documentation to describe the git_state module
2019-09-05 12:45:04 -04:00
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
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
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
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
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
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
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
85ac0a6801
fix: Set default prompt character to ❯ ( #177 )
2019-08-18 11:34:45 -04:00
Saghm Rossi
dfe2ae643a
fix a few typos ( #178 )
2019-08-17 20:50:42 -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
André Zanellato
b06249d61c
feat: implement the ruby module ( #131 )
2019-08-13 18:43:29 -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
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
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
Matan Kushner
f7eedaf775
refactor: Improve logging where lacking
2019-07-19 18:45:38 -04:00
Tiffany Le-Nguyen
08cf33522a
docs: Add vuepress with initial docs ( #99 )
...
Co-authored-by: Tiffany Le-Nguyen <tlenguyen@expedia.com>
Co-authored-by: Matan Kushner <hello@matchai.me>
2019-07-19 16:18:52 -04:00
Matan Kushner
0703a74048
ci: Add GitHub releases to CI ( #95 )
2019-07-14 17:54:45 -04:00
Matan Kushner
77ba97df19
chore: Refactor getting string values from config ( #94 )
2019-07-14 11:15:47 -04:00
Matan Kushner
463ec26024
feat: Add a disabled
configuration option for modules ( #86 )
...
• Add support for the disabled configuration option
This will allow you to selectively disable modules that you don't want or need. 😄
• Overwrite starship configuration file path with STARSHIP_CONFIG environment variable
• Write tests for the two configuration options that are available
2019-07-02 16:12:53 -04:00
Matan Kushner
097f1b05f1
Add support for prompt configuration ( #62 )
...
- Create `Config` struct that is added to `Context` when initialized
- Read `~/.confg/starship.toml` during initialization (can be updated later to also look at `$XDG_CONFIG_HOME`)
- `Context` now has a method for creating modules. This allows us to provide modules with a reference to the configuration specific to that module
2019-06-10 15:56:17 +01:00
Matan Kushner
8239fbd12b
Refactor integration tests ( #71 )
...
- Create subcommands to be able to print modules independently
- `starship prompt` will print the full prompt
- `starship module <MODULE_NAME>` will print a specific module
e.g. `starship module python`
- Added `--path` flag to print the prompt or modules without being in a specific directory
- Added `--status` flag to provide the status of the last command, instead of requiring it as an argument
- Refactored integration tests to be end-to-end tests, since there was no way in integration tests to set the environment variables for a specific command, which was required for the `username` module
- Moved e2e tests to `tests/testsuite` to allow for a single binary to be built
- Tests will build/run faster
- No more false positives for unused functions
- Added tests for `username`
- Removed codecov + tarpaulin 😢
2019-06-06 13:18:00 +01:00
John Letey
4cd98d862d
fix: Check both stderr and stdout for Python version ( #66 )
...
* fix python version not showing for version < 3.4
* make review changes
2019-05-27 02:28:14 -04:00
Matan Kushner
5b989fcb9c
feat: Add battery module( #63 )
2019-05-22 12:29:39 -04:00
Youssef Habri
08b238114e
feat: Implement the prompt module for username ( #56 )
2019-05-19 22:26:12 -04:00
Matan Kushner
876e7d36b1
fix: handle package version panic ( #57 )
2019-05-16 10:06:34 -06:00
Matan Kushner
2cf69a82b7
ci: Fix CI to work with changes to Azure Pipelines build agent ( #55 )
2019-05-16 09:40:30 -06:00
Matan Kushner
90d6e6cf0b
Implement the git status module ( #45 )
2019-05-13 22:43:11 -06:00
Tim Mulqueen
5fd715e7c3
Implement directory scanner ( #34 )
2019-05-12 13:37:23 -04:00
John Letey
d3ce00c516
Add Go version module ( #44 )
2019-05-11 23:58:45 -04:00
Matan Kushner
8b5055d510
Parallelize prompt modules ( #46 )
2019-05-09 23:51:50 -04:00
Matan Kushner
c6ee5c6ac1
Refactor segments into modules ( #40 )
2019-05-01 16:34:24 -04:00
John Letey
0b9334f438
Add the package version segment ( #35 )
2019-05-01 10:45:56 -04:00
Matan Kushner
9a352c0acc
Add the Git branch segment ( #32 )
...
Added
- Repository to Context for reuse in directory and git_branch
- git_branch to prompt
Changed
- Made segments bold to match spaceship
2019-04-26 22:07:07 -04:00
John Letey
ca12d22ace
Add Python version segment ( #23 )
2019-04-25 11:06:18 -04:00
Matan Kushner
bb2bcd604b
Share dir_files between segments through Context ( #16 )
2019-04-23 14:51:08 -04:00
Tim Mulqueen
643256e877
feat: Add Rust version segment ( #15 )
2019-04-21 19:37:34 -04:00
Matan Kushner
022e0002e4
Use "context" to contain run details ( #14 )
...
* Create "context" to contain run details
* Use context in tests and benchmarks
2019-04-19 16:57:14 -04:00
Matan Kushner
794ae7b2ad
Add integration tests ( #6 )
...
### Changed
- Added current_dir param to segments to make them more testable
- Moved all existing integration tests to a `tests/` dir
### Added
- A whole bunch of new integration tests
2019-04-15 20:54:52 -04:00
Matan Kushner
ab5490bea6
Add README.md badges ( #5 )
2019-04-15 14:38:45 -04:00
Matan Kushner
d2cda32c87
Better test and document the dir segment
2019-04-15 12:04:53 -04:00
Matan Kushner
bca4a7079f
Fix bug in path truncation
...
Paths with 3 components would truncate to 2 despite the truncation length begin set to 3.
2019-04-15 11:40:40 -04:00
Matan Kushner
9d4492c313
Make segments optionals
2019-04-12 23:06:48 -04:00
Matan Kushner
d62bb107f2
Remove unnecessary lifetimes
2019-04-12 19:18:47 -04:00
Matan Kushner
a0e4172602
Use copy to return segment
2019-04-12 19:11:40 -04:00
Matan Kushner
fec5c4db4e
Use builder pattern in char section
2019-04-12 18:12:29 -04:00
Matan Kushner
d82ebc4457
Add builder pattern for segment
2019-04-12 17:49:20 -04:00
Matan Kushner
ab9ba27231
Revert "Parallelize nodejs file checks"
...
This reverts commit 99bdf27eca
.
2019-04-12 13:10:31 -04:00
Matan Kushner
99bdf27eca
Parallelize nodejs file checks
2019-04-12 13:07:41 -04:00
Matan Kushner
7ffadd37bc
Remove duplicate tests
2019-04-11 20:04:04 -04:00
Matan Kushner
c1f5a733c9
More progress in Node section
2019-04-11 19:31:30 -04:00
Matan Kushner
d5493d236d
Begin writing Node section
2019-04-10 09:22:11 -04:00
Matan Kushner
67ab2121c5
Add note and test regarding paths being physical
2019-04-09 00:04:50 -04:00
Matan Kushner
969840a157
Tidy up dir section
2019-04-08 23:35:14 -04:00
Matan Kushner
d58ea0659b
Add a new line before the prompt
2019-04-08 17:35:38 -04:00
Matan Kushner
0e0bed0837
Use truncate_path to simplify dir
2019-04-08 15:33:06 -04:00
Matan Kushner
5086ba2f50
A bit of tidying up
2019-04-07 23:28:38 -04:00
Matan Kushner
168a6fd7b1
Add proper git project root truncation
2019-04-07 23:23:37 -04:00
Matan Kushner
3c07e284fe
Add some clarifying documentation
2019-04-07 17:17:40 -04:00
Matan Kushner
fdacd1cf28
Readd home dir truncation
2019-04-07 17:12:22 -04:00
Matan Kushner
ff94c9f25f
Use git project root for truncation
2019-04-07 16:43:11 -04:00
Matan Kushner
c79cbe63b1
Add stringify_segment rustdoc
2019-04-04 21:35:24 -04:00
Matan Kushner
472b66894d
Rename segements
2019-04-04 20:35:35 -04:00
Matan Kushner
168d568d54
Add line_sep section
2019-04-04 20:33:36 -04:00
Matan Kushner
7136059dcd
Add tests to dir home truncation
2019-04-04 14:32:22 -04:00
Matan Kushner
7683f33bc8
Add dir section with home truncation
2019-04-04 14:18:15 -04:00
Matan Kushner
a81eabd690
Move Segment struct to modules
2019-04-04 12:18:05 -04:00
Matan Kushner
e519c3f4a6
Set status with arg rather than env
2019-04-03 22:58:13 -04:00
Matan Kushner
e2ba7a1354
Add segment structure and logic
2019-04-03 20:14:26 -04:00