1
0
Fork 0
mirror of https://github.com/romkatv/powerlevel10k.git synced 2024-12-26 08:51:57 +00:00
Commit graph

438 commits

Author SHA1 Message Date
romkatv
99c9a2ea25 write function _p9k_preinit directly instead of roundtripping it through eval + functions 2019-10-06 10:29:23 +02:00
Roman Perepelitsa
2e18704654
Merge pull request #243 from trolley/topic/fix_typo
Correct typo when replacing config file
2019-10-05 10:53:27 +02:00
romkatv
6d16760253 bug fix: don't leave temp state dumps if gitstatus is disabled 2019-10-05 09:57:13 +02:00
Mark Trolley
195a0910d1 Correct typo when replacing config file 2019-10-04 17:07:32 -04:00
romkatv
f8314e5959 stop autoloading and running "color"; p10k does not use it anymore; people who need it can autoload it themselves 2019-10-04 09:48:53 +02:00
romkatv
6765b61823 replace eval with (e) 2019-10-04 09:44:21 +02:00
romkatv
9c8cf7ac5f dump state even if the cache directory is world-readable 2019-10-04 08:55:15 +02:00
romkatv
4faa24a23d require zsh >= 5.4 for state dumps 2019-10-03 20:42:35 +02:00
romkatv
de00d42d6e don't zcompile state dump when root 2019-10-03 20:41:21 +02:00
romkatv
d435235c29 take advantage of async gitstatus start to make p10k startup faster 2019-10-03 20:14:16 +02:00
romkatv
60a6ad81dd further startup speedup: zcompile state dump 2019-10-03 14:52:52 +02:00
romkatv
0cb680edd1 fix bugs in startup speedup and make it yet faster 2019-10-03 14:21:58 +02:00
romkatv
b8d648b339 Revert "Revert "speed up startup by about 3x""
This reverts commit e5e6249ffd.
2019-10-03 09:42:02 +02:00
romkatv
e5e6249ffd Revert "speed up startup by about 3x"
This reverts commit da72685c8b.

Something broke. See #242. Will debug this and roll forward later.
2019-10-02 19:40:50 +02:00
romkatv
da72685c8b speed up startup by about 3x 2019-10-02 15:29:23 +02:00
romkatv
add0875137 bug fix: set _p9k_keymap whenever vi_mode is in use
fixes #232
2019-09-25 09:22:34 +02:00
romkatv
cf00c04d1b aws: consult AWS_VAULT; hide if "default" 2019-09-24 14:29:21 +02:00
romkatv
4a4f7e1eef new prompt segment: dotnet_version
To enable this segment:

  1. Run `p10k configure`.
  2. Open `~/.p10k.zsh` and search for `dotnet_version`.
  3. Uncomment the first occurrence.

Fixes #233.
2019-09-24 10:19:11 +02:00
romkatv
15ff12279c be more lenient towards awful hacks that zplugin users employ 2019-09-20 12:09:47 +02:00
romkatv
8c695f9ad7 survive faulty fifos 2019-09-20 11:44:07 +02:00
romkatv
0067e0d4a1 survive emulate sh; fixes #226 2019-09-20 11:22:14 +02:00
romkatv
4563f744dd use lock as vpn icon where lock is available 2019-09-19 14:34:14 +02:00
romkatv
a7e3a70069 better PROXY_ICON 2019-09-19 14:11:44 +02:00
romkatv
6b234b789d add OVERWRITE vi mode
When using vi_mode segment, the new mode can be enabled by
defining POWERLEVEL9K_VI_OVERWRITE_MODE_STRING.

    POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERWRITE

When using prompt_char, the new mode can be enabled by defining
POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true. The prompt symbol
in OVERWRITE state defaults to '▶'. It can be customized by
defining POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION.

    POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true
    POWERLEVEL9K_PROMPT_CHAR_OK_VIOWR_CONTENT_EXPANSION=R
    POWERLEVEL9K_PROMPT_CHAR_ERROR_VIOWR_CONTENT_EXPANSION=R

Fixes #219.
2019-09-18 13:38:31 +02:00
romkatv
79e0190ba1 s/CONFLICTING/CONFLICTED/ for consistency; see #221 2019-09-18 13:20:33 +02:00
romkatv
80d9df7117 add CONFLICTING state to vcs
The new state is used whenever there is at least one conflicting
change. It is disabled by default. It can be enabled by
defining POWERLEVEL9K_VCS_CONFLICTING_STATE=true.

    POWERLEVEL9K_VCS_CONFLICTING_STATE=true
    POWERLEVEL9K_VCS_CONFLICTING_BACKGROUND=magenta

Fixes #221.
2019-09-18 10:45:30 +02:00
romkatv
ebe6a5198d survive SH_WORD_SPLIT; fixes #220 2019-09-17 21:41:07 +02:00
romkatv
f79ad65243 more robust KEYMAP handling 2019-09-17 09:59:39 +02:00
romkatv
2218060b2d don't assume that KEYMAP is valid everywhere within zle 2019-09-16 13:45:06 +02:00
Frankie Wittevrongel
71329b12f2
Fix typo in declare POWERLEVEL9K_DIR_ANCHOR_BOLD 2019-09-15 19:50:08 +01:00
romkatv
8554c755bd print new line(s) in precmd instead of embedding them in PROMPT 2019-09-12 11:45:17 +02:00
romkatv
9c9039253c put most of precmd code under !zle 2019-09-12 11:35:24 +02:00
romkatv
3674e69b43 stop setting prompt_cr and prompt_sp 2019-09-12 10:58:37 +02:00
romkatv
040be70d92 change the default value of POWERLEVEL9K_VPN_IP_INTERFACE to recognize wireguard 2019-09-12 10:55:56 +02:00
romkatv
1ad0e713a4 use fancier battery icons with nerd fonts 2019-09-09 15:15:31 +02:00
romkatv
fd96e92df6 show battery as CHARGED on macos if it is at 100% and connected to power supply 2019-09-09 14:48:32 +02:00
romkatv
9a8a6ca836 allow prompt segments to be disabled through configuration options
Prompt segment `foo` doesn't get evaluated or shown on the left
if `${POWERLEVEL9K_FOO_LEFT_DISABLED-$POWERLEVEL9K_FOO_DISABLED}`
is equal to `true`.

Example:

    POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
    POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(dir)

  - By default `dir` is shown on the left and on the right.
  - `POWERLEVEL9K_DIR_LEFT_DISABLED=true` disables `dir` on the left.
  - `POWERLEVEL9K_DIR_RIGHT_DISABLED=true` disables `dir` on the right.
  - `POWERLEVEL9K_DIR_DISABLED=true` disables `dir` everywhere.

Note that it's possible to hide segments without disabling their
evaluation through expansions. For example:

  POWERLEVEL9K_DIR_CONTENT_EXPANSION='${HIDE_DIR-$P9K_CONTENT}'
  POWERLEVEL9K_DIR_VISUAL_IDENTIFIER_EXPANSION='${HIDE_DIR-$P9K_VISUAL_IDENTIFIER}'

With these settings, `HIDE_DIR=''` hides `dir` while `unset HIDE_DIR`
restores it.

fixes #205
2019-09-07 10:05:56 +02:00
romkatv
91b715f18f disable or substitute "compatible" icons that cannot be displayed by the stock Menlo on macOS 2019-09-07 09:28:45 +02:00
romkatv
5886154bb1 drop q+ as it it's not supported by old shells 2019-09-06 11:46:30 +02:00
romkatv
ef6f90f598 wizard: fix handling for $ZDOTDIR and $HOME with special symbols ("%", "$", etc.) 2019-09-06 11:30:11 +02:00
romkatv
b394a601a0 if auto_name_dirs is set, show directory without named directory support 2019-09-04 08:40:24 +02:00
romkatv
4d63712093 don't offer to install font if there is no curl 2019-09-04 08:22:41 +02:00
romkatv
200b02b242 better iTerm version filter 2019-09-04 08:16:02 +02:00
romkatv
298fa2f325 bug fix: don't attempt to source .p10k.zsh when wizard exits to restart iTerm2 2019-09-04 08:13:16 +02:00
romkatv
7c513a1e79 minor fixes 2019-09-03 23:07:46 +02:00
romkatv
7f90c103d1 wizard: offer to override font on Termux if it is not MesloLGS NF 2019-09-03 20:07:55 +02:00
romkatv
ebcb8cd307 wizard: offer to install Meslo NF on iTerm2 2019-09-03 20:01:10 +02:00
romkatv
684203221f wizard: offer to install Meslo NF on Termux 2019-09-03 13:55:41 +02:00
romkatv
a30b5963a8 wizard: better text overflow 2019-09-03 12:05:56 +02:00
romkatv
f59997f472 wizard: add round separators, heads and tails 2019-09-03 11:57:13 +02:00
romkatv
37dc2ba5e2 wizard: better text overflow 2019-09-03 10:38:47 +02:00
romkatv
d6041f53aa wizard: make it look better on narrow screens 2019-09-03 10:18:19 +02:00
romkatv
db6d36e09f wizard: reduce the minimum required terminal width from 80 to 51 2019-09-02 17:32:45 +02:00
romkatv
1547336bb6 don't set prompt_cr
Some users prefer to have broken prompt if the last line of command
output doesn't end in \n. Powerlevel10k should respect their choice.

See #197.
2019-09-02 13:52:17 +02:00
romkatv
8ace14beb0 don't set prompt_sp
Some users prefer to hide the last line of command output if it
doesn't end in \n. Powerlevel10k should respect their choice.

See #197.
2019-09-02 13:19:38 +02:00
romkatv
61f5552c98 stupid typo 2019-09-01 21:35:40 +02:00
romkatv
4bed2dc8c0 wizard: add an option to enable time segment 2019-09-01 14:43:16 +02:00
romkatv
fff03ea888 change the default value of POWERLEVEL9K_VPN_IP_INTERFACE 2019-08-30 12:01:35 +02:00
romkatv
eb58f05621 fix load fg color 2019-08-29 18:28:04 +02:00
romkatv
6582c7b25e include auto_name_dirs in the config signature 2019-08-29 11:42:14 +02:00
romkatv
84a562eca6 typo 2019-08-28 21:49:08 +02:00
romkatv
ce532fea3e try POWERLEVEL9K_DIR_PACKAGE_FILES patterns in order and skip files without "name" in them; fixes #190 2019-08-28 19:32:10 +02:00
romkatv
9e505d3dc1 allow network interface to contain colon 2019-08-28 19:00:55 +02:00
romkatv
5f610a0af9 fix network interface and ip parsing 2019-08-28 18:55:33 +02:00
romkatv
3a1ebea014 add more patterns to POWERLEVEL9K_SHORTEN_FOLDER_MARKER 2019-08-28 15:41:59 +02:00
romkatv
0c627eb31d add proxy prompt segment 2019-08-27 10:57:54 +02:00
romkatv
e4d78d2a72 fix custom prompt when the command is just one word; fixes #189 2019-08-27 08:53:28 +02:00
romkatv
613b1a646e don't unset P9K_SSH 2019-08-26 17:40:12 +02:00
romkatv
7d6400774f tune trailing whitespace for all icons when using typical non-monospace fonts 2019-08-26 12:06:06 +02:00
romkatv
b3abfc089a fix detection of awesome-mapped-fontconfig in the wizard 2019-08-26 12:05:42 +02:00
romkatv
06ddd55922 ask awesome-patched font users about python logo; some are stuck with old fonts that don't have it 2019-08-26 10:19:55 +02:00
romkatv
cb1f6c4815 make custom prompts more compatible with p9k 2019-08-24 12:58:55 +02:00
romkatv
e537a0ee62 better utf-8 handling 2019-08-20 14:56:43 +02:00
romkatv
a5e9af847d simplify nordvpn 2019-08-20 14:22:27 +02:00
romkatv
727d42ff48 expose P9K_SSH and make it available as soon as p10k is sourced 2019-08-20 11:19:11 +02:00
romkatv
3090ae6633 trip terraform whitespace 2019-08-19 16:35:26 +02:00
romkatv
b3010c0156 use hammer and wrench emoji for terraform with all fonts 2019-08-19 16:09:56 +02:00
romkatv
4c12eb7224 add terraform prompt segment 2019-08-19 16:07:59 +02:00
romkatv
925ade3d29 make ZLE_RPROMPT_INDENT emulation condition less strict 2019-08-19 12:18:11 +02:00
romkatv
49063ee757 add ranger prompt; see #171 2019-08-17 10:01:06 +02:00
romkatv
33e1dd7790 Try harder when running on a system with incorrectly configured locale.
ZSH will still be broken when locale is misconfigured but at least p10k
will work so users will look for help elsewhere.

Fixes #173.
2019-08-17 09:22:31 +02:00
romkatv
96ba1b6f7d bug fix: don't hide command execution status on reset-prompt
fixes #171
2019-08-16 20:26:28 +02:00
romkatv
620a20fc9f support branch shortening when using gitstatusd 2019-08-14 07:28:50 +02:00
romkatv
4ba78dc2be shorten git branch name if over 32 chars long; tune colors 2019-08-14 07:28:50 +02:00
romkatv
7c57ca92e7 enable nvm prompt if function nvm is defined
Same thing with a few other env prompts. Fixes #166.
2019-08-13 08:17:27 +02:00
romkatv
bafade8963 add POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY and POWERLEVEL9K_GO_VERSION_PROJECT_ONLY 2019-08-12 08:56:47 +02:00
romkatv
36174484cc slightly better icons 2019-08-12 08:40:19 +02:00
romkatv
0d7ba09c4f short rust_version only when in a subdirectory of a cargo package
fixes #164
2019-08-12 08:29:59 +02:00
romkatv
55a1b92bca strip spaces from os_icon when using narrow icons 2019-08-10 11:01:47 +02:00
romkatv
626056865d add POWERLEVEL9K_RVM_SHOW_GEMSET and POWERLEVEL9K_RVM_SHOW_PREFIX
Some users want them. See https://github.com/Powerlevel9k/powerlevel9k/pull/1353.
2019-08-10 10:47:22 +02:00
romkatv
cf8b0594a3 Revert "add P9K_PROMPT_CHAR_STATE; it's experimental, don't use unless you are a trusted tester"
This reverts commit 429b07d4f8.

Fixes #154.
2019-08-09 09:18:00 +02:00
romkatv
d6401aad69 add a space after all os icons 2019-08-08 12:05:58 +02:00
romkatv
b2ddbdb90d remove one space after VCS_BRANCH_ICON when using wide icons 2019-08-08 11:42:31 +02:00
romkatv
71a0b76ac0 better distinguish between fontawesome and nerd fonts
There are fonts that aren't from Nerd Fonts and that cannot display
the python logo from Font Awesome. Classify them as awesome-fontconfig
and manually set an alternative icon for all Python segments in the
config.

Fixes #157.
2019-08-08 11:30:25 +02:00
romkatv
429b07d4f8 add P9K_PROMPT_CHAR_STATE; it's experimental, don't use unless you are a trusted tester 2019-08-07 19:10:17 +02:00
romkatv
93230ae6ec change os_icon style 2019-08-07 12:44:51 +02:00
romkatv
24a5261a39 wizard: enable os_icon for users who like many icons 2019-08-07 11:04:35 +02:00
romkatv
58fa653b90 don't trust $PWD as it can be changed; use ${(%):-%/} instead
It's possible that #156 is caused by some code changing PWD.
2019-08-07 08:38:26 +02:00
romkatv
36d2c588f1 ignore zshexit hook calls done from forks 2019-08-06 09:57:04 +02:00
romkatv
9d6dfeae73 add POWERLEVEL9K_VCS_CONFLICTED_MAX_NUM 2019-08-05 22:26:23 +02:00
romkatv
59e96984a1 be more tolerant towards misconfigured locales; users with non-utf-8 locales will still have broken shells but at least p10k will work 2019-08-05 20:23:30 +02:00
romkatv
d8c509f5c9 require zsh 5.3 for nordvpn segment; fixes #148 2019-08-05 11:17:34 +02:00
romkatv
d0fadfff97 add another option for i686 users 2019-08-05 10:43:40 +02:00
romkatv
f62d1d5ae3 speciazled diagnostics for i686; more escapes; more opts 2019-08-05 10:37:04 +02:00
romkatv
a491e86d92 beautify temp file name when printing it 2019-08-02 07:32:22 +02:00
romkatv
0f00e5e9e2 defend against global IFS leaks from other code; for #146 2019-08-02 07:07:23 +02:00
romkatv
b6a365dd40 add P9K_NORDVPN_TECHNOLOGY 2019-08-01 23:18:13 +02:00
romkatv
a29b8264e5 source .p10k.zsh only if it exists 2019-08-01 20:03:34 +02:00
romkatv
5a94a0c9eb be less strict when detecting the presence of .p10k.zsh in .zshrc 2019-08-01 19:32:01 +02:00
romkatv
37ab63fe69 bug fix: support color names in vcs style; fixes #144 2019-08-01 15:09:39 +02:00
romkatv
3fe113f91d better errors in p10k segment 2019-07-31 19:54:49 +02:00
romkatv
8d2ffb43db add "help" and "segment" commands to p10k 2019-07-31 19:41:14 +02:00
romkatv
6d11cb5f5d format options better 2019-07-31 18:35:37 +02:00
romkatv
a6b572da45 add p10k configure 2019-07-31 18:21:37 +02:00
romkatv
aabb13e3bb add an option for an even lighter background color 2019-07-31 14:10:28 +02:00
romkatv
0c0641d579 add a teardown hook for zplugin 2019-07-31 13:03:17 +02:00
romkatv
dc8e654165 reduce wizard's minimum terminal size requirements 2019-07-31 11:40:38 +02:00
romkatv
40523128dc make classic style look decent if background color differs between segments 2019-07-31 10:16:48 +02:00
romkatv
40df756e2d run configuration wizard if POWERLEVEL9K_MODE is the only set parameter 2019-07-31 10:00:27 +02:00
romkatv
d6dedc53bc support hot reloading of gitstatus parameters 2019-07-31 09:53:00 +02:00
romkatv
2ce69f9554 add a pointer to make it easier where the separator is 2019-07-31 00:18:17 +02:00
romkatv
38a3ca7dc3 support gke kubecontext clusters that are mapped to regions instead of zones
fixes #139
2019-07-30 20:00:00 +02:00
Roman Perepelitsa
cd8d8e4594
Remove erroneous plus
Fixes #142
2019-07-30 17:24:46 +02:00
romkatv
4292efc03a cleanup 2019-07-30 15:21:44 +02:00
romkatv
2e5a085dbe run configuration wizard automatically if no POWERLEVEL9K options are defined 2019-07-30 15:11:58 +02:00
romkatv
89f3ec16d0 better message on quit 2019-07-30 15:11:38 +02:00
romkatv
f702fe5b78 add separate options for separators, heads and tails; add more choices if using nerdfont 2019-07-30 14:50:04 +02:00
romkatv
5e4628d485 fix fg color of RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL 2019-07-30 12:49:36 +02:00
romkatv
a2a21ae95a add an option for right frame without left 2019-07-30 12:37:45 +02:00
romkatv
4c08fa0621 shorten text added to ~/.zshrc and print a banner at the end of the wizard 2019-07-30 11:06:04 +02:00
romkatv
7cf4f7e57d ensure kubecontext namespace is not empty 2019-07-30 09:38:27 +02:00
romkatv
32421d296c expose more P9K_KUBECONTEXT variables for gke and eks contexts 2019-07-30 09:02:46 +02:00
romkatv
f337616738 use consisent patterns when parsing yaml 2019-07-30 07:55:18 +02:00
romkatv
05deaa802f kubecontext: handle strings with spaces and ignore multi-line strings 2019-07-30 07:52:26 +02:00
romkatv
2318bda2c3 bug fixes: don't replace '_' with ' ' in gke clusters and clear the default of POWERLEVEL9K_KUBECONTEXT_SHORTEN 2019-07-30 07:14:51 +02:00
romkatv
da7d986333 avoid printing grey text without knowing it's visible on the user's background 2019-07-30 06:18:54 +02:00
romkatv
224b62fbe4 silly typo: '\n' => $'\n'
fixes #140
2019-07-30 06:13:45 +02:00
romkatv
5bcbee96e4 add optional kubecontext shortening for gke and eks contexts
This is done via an optional array parameter that lists
shortening stragies to be applied. Currently there are
only two supported strategies: 'gke' and 'eks'.

  # Shorten gke and eks cluster names:
  #
  #   - gke_projectname_availability-zone_cluster-01         => cluster-01
  #   - arn:aws:eks:us-east-1:XXXXXXXXXXXX:cluster/eks-infra => eks-infra
  #
  # This transformation is applied before class matching and content
  # expansion.
  POWERLEVEL9K_KUBECONTEXT_SHORTEN=(gke eks)

For https://github.com/romkatv/powerlevel10k/issues/139.
2019-07-29 21:56:15 +02:00
romkatv
63f72c756f typo 2019-07-29 19:50:01 +02:00
romkatv
3e0c898e59 make fluent prompt less ugly in classic style 2019-07-29 19:49:00 +02:00
romkatv
d872930c5c disable prompt_subst 2019-07-29 17:45:53 +02:00
romkatv
742ddb459f better diagnostics for small screens 2019-07-29 17:43:25 +02:00
romkatv
deb0093a02 add a screen for selecting background color 2019-07-29 17:33:35 +02:00
romkatv
bdc211b64f add nodeenv parameters similar to other envs 2019-07-29 16:10:28 +02:00
romkatv
6e85de122f add an option to insert prefixes similar to spaceship 2019-07-29 15:38:42 +02:00
romkatv
b830c5cc45 comments 2019-07-29 15:32:42 +02:00
romkatv
ba39eb3421 support POWERLEVEL9K_CONTEXT_${state}_TEMPLATE 2019-07-29 14:36:21 +02:00
romkatv
bab487aa6e quote process subs 2019-07-29 14:18:57 +02:00
romkatv
cdbbebf19d add an option to enable/disable useless icons 2019-07-29 13:15:14 +02:00
romkatv
9a7d86d1f2 fix MULTILINE_*_PREFIX icons for awesome-mapped-fontconfig and remove dollars 2019-07-29 12:45:28 +02:00