Commit Graph

674 Commits (37f6b67dc992a6ea3847c7e973f1ee4c07148c9c)

Author SHA1 Message Date
romkatv f722f3d1ce add direnv segment; fixes 291
romkatv 6096321f61 move _p9k_precmd to the end of precmd_functions
romkatv e7520409d1 use more conservative glyphs in 'compatible' and 'powerline' mode
See .
romkatv dfe6a86eb3 don't display ruler in instant prompt when the terminal size is unknown
romkatv d443fccddb better warnings
romkatv 28795b43ce reset style before percent-expanding PROMPT_EOL_MARK
romkatv bdb18cbe2f pick the correct default for PROMPT_EOL_MARK
romkatv de3d1f128b comments
romkatv 627d471fca improve instant prompt usability, update docs and add an option to the wizard to enable it
romkatv f17081ca98 when unable to get tty size for instant prompt, don't emulate prompt_sp and don't print right prompt or gap
romkatv a42b58a93a make right prompt hidable even on the last line
romkatv 5a75b1bfc9 bug fix: unset _p9k__*
romkatv 61bba0f6ee use _p9k__* naming pattern for variables that must not be dumped but must be unset
romkatv 8a2c9430f3 make right prompt hidable
romkatv 863cf50703 fix handling of transient_rprompt
romkatv 88cc59a08a add ${+VTE_VERSION} to param_sig; fix locale-related parts
romkatv a14d8e92dd short-circuit double sourcing of the theme
romkatv 7ab85fbfc3 bug fix: unset _p9k_preinit when tearing down
romkatv b91cba49aa add POWERLEVEL9K_VCS_RECURSE_UNTRACKED_DIRS
romkatv ebf19dfeee add todo
romkatv de63bb8ab2 survive old 'awesome' mapped fonts that miss glyphs
romkatv 7fbba216b0 no_bg_nice to avoid spam on wsl
romkatv e92da0e322 Merge branch 'instant-prompt'
romkatv 0249484302 bump version
romkatv a410349090 redirect stdin to /dev/null while instant prompt is active
romkatv cf01e98ef0 define P9K_TODO_FILTERED_TASK_COUNT and P9K_TODO_TOTAL_TASK_COUNT
These new parameters can be used to customize the content of `todo` prompt.

Example:

    POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT / $P9K_TODO_TOTAL_TASK_COUNT'

The default format is '$P9K_TODO_TOTAL_TASK_COUNT', just like before.

Fixes .
romkatv d2361d4dda typo
romkatv 56a7d6c245 apply the `stty size` workaround only when using VTE
romkatv 2b860eea53 add no_aliases to a bunch of places
romkatv 981774f178 better workaround for the lying `stty size`
See https://github.com/gnunn1/tilix/issues/1777.
romkatv 6dbe2c860c temporarily disable instant prompt in the configuration wizard. there are issues that I need to deal with
romkatv 2a0c31f0eb call `/bin/stty size` to obtain correct COLUMNS
romkatv 7a2bd8ffa8 workaround for a bug in tilix: $COLUMNS is incorrect in the new shell immediately after splitting; it becomes correct after forking
romkatv b4e1f1f029 revert testing changes
romkatv 4f02ad912f enable instant prompt when configuration wizard runs
romkatv 32f363a1b1 move p10k-instant-prompt-finalize to the static source file
romkatv cf2eef5556 add p10k-instant-prompt-finalize
romkatv d17f22e5b0 better handling of XDG_CACHE_HOME changes
romkatv cb2473751e add diagnostics when prompt_cr is set after sourcing p10k with instant prompt; improve diagnostics for delayed loading of p10k with instant prompt
romkatv f11f76ec5b slightly better handling of options and disabling of instant prompt
romkatv ad16896b9d bump instant prompt version
romkatv fde23891a4 unsetopt prompt_cr prompt_sp from p10k-instant-prompt for good measure
romkatv 461d1ca43d clear instant prompt a little bit later
romkatv a1bab30690 don't use prompt segments with non-hermetic expansions in instant prompt
romkatv 148a8500c1 fix bugs in instant prompt
romkatv 3cf30a25e4 fix bugs in instant prompt
romkatv 41c0a87918 wip: instant prompt (part 4)
romkatv 68d6ffd844 wip: instant prompt (part 3)
romkatv 4536dc2a27 Merge branch 'master' into instant-prompt
romkatv f2cd89ed70 work around a bug in zsh that percent-expands `%1F{2}` as if it was `%F{2}`; fixes
romkatv 41084c089e wip: instant prompt (part 2)
romkatv 164fcad558 save git prompt in ephemeral cache
romkatv 727b483810 wip: instant prompt
romkatv 94de8519b4 cleanup
Melvyn de Kort abf1e3b0af Also show the default profile when set
Melvyn de Kort 9fdbd4a3e7 Add support for awsume
romkatv f21a2e3c46 add ITERM_SHELL_INTEGRATION_INSTALLED to param sig; inline iterm2_prompt_mark
romkatv fc404a2d8a bug fix: display the right OS icon on Android
romkatv 0302e68913 change dir foreground from black to white in rainbow style; looks a bit less ugly
romkatv d7b79a39d5 bug fix: set correct gitstatusd path on android
romkatv 765de21920 bug fix: wrong tail color for rainbow in the wizard
romkatv 09130614ec add rainbow style; delete p9k style
romkatv e85a07aad9 bug fix: normalize colors
romkatv 90bf4c3fef restore "?" as VCS_UNTRACKED_ICON in lean and classic styles
romkatv 5b9e75be3a add POWERLEVEL9K_BATTERY_LEVEL_FOREGROUND; fixes
romkatv 0c59d87f08 add the default powerlevel9k style to the wizard
romkatv 640d513554 add pure style to the configuration wizard
romkatv e31abb850b bug fix: wrap zle-line-finish even on hot start
romkatv bb6540ae6e remove spurious execute permissions
romkatv 9a01aeb673 use jq in azure if available
romkatv 6724f3ae5d md5 -q => md5
romkatv ab160b49f5 add two-level fs cache and use it everywhere instead of the one-level cache
romkatv 7f3637ee0d persist cache more aggressively
romkatv e02d3f1156 don't persist Git state
romkatv cf8d241465 cleanup
romkatv b56ab6400c revamp aws_eb_env. it returns the starred entry from the output of "eb list"
romkatv eb603f0e75 typo
romkatv d48ebac02f bump state version
romkatv 53ce6eb71d save and restore VCS_STATUS_NUM_UNSTAGED_DELETED
romkatv 4ef1a9bbdd add azure prompt segment
romkatv a891b3c2d1 bump state version
romkatv d4cbe14f06 check for gitstatus.plugin.zsh existence in preinit
romkatv 6cd22e24e2 avoid spurious console output where is more more than one dir segment
romkatv 1b0ac8a623 bug fix: respect POWERLEVEL9K_DISABLE_GITSTATUS; see
romkatv 3db63ee611 Revert "add POWERLEVEL9K_DEBUG_DUMP_STATE to aid in debugging #244"
This reverts commit 55a27c1f07.
romkatv 55a27c1f07 add POWERLEVEL9K_DEBUG_DUMP_STATE to aid in debugging
romkatv 99c9a2ea25 write function _p9k_preinit directly instead of roundtripping it through eval + functions
Roman Perepelitsa 2e18704654
Merge pull request from trolley/topic/fix_typo
Correct typo when replacing config file
romkatv 6d16760253 bug fix: don't leave temp state dumps if gitstatus is disabled
Mark Trolley 195a0910d1 Correct typo when replacing config file
romkatv f8314e5959 stop autoloading and running "color"; p10k does not use it anymore; people who need it can autoload it themselves
romkatv 6765b61823 replace eval with (e)
romkatv 9c8cf7ac5f dump state even if the cache directory is world-readable
romkatv 4faa24a23d require zsh >= 5.4 for state dumps
romkatv de00d42d6e don't zcompile state dump when root
romkatv d435235c29 take advantage of async gitstatus start to make p10k startup faster
romkatv 60a6ad81dd further startup speedup: zcompile state dump
romkatv 0cb680edd1 fix bugs in startup speedup and make it yet faster
romkatv b8d648b339 Revert "Revert "speed up startup by about 3x""
This reverts commit e5e6249ffd.
romkatv e5e6249ffd Revert "speed up startup by about 3x"
This reverts commit da72685c8b.

Something broke. See . Will debug this and roll forward later.
romkatv da72685c8b speed up startup by about 3x
romkatv add0875137 bug fix: set _p9k_keymap whenever vi_mode is in use
fixes 
romkatv cf00c04d1b aws: consult AWS_VAULT; hide if "default"
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 .
romkatv 15ff12279c be more lenient towards awful hacks that zplugin users employ
romkatv 8c695f9ad7 survive faulty fifos
romkatv 0067e0d4a1 survive emulate sh; fixes
romkatv 4563f744dd use lock as vpn icon where lock is available
romkatv a7e3a70069 better PROXY_ICON
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 .
romkatv 79e0190ba1 s/CONFLICTING/CONFLICTED/ for consistency; see
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 .
romkatv ebe6a5198d survive SH_WORD_SPLIT; fixes
romkatv f79ad65243 more robust KEYMAP handling
romkatv 2218060b2d don't assume that KEYMAP is valid everywhere within zle
Frankie Wittevrongel 71329b12f2
Fix typo in declare POWERLEVEL9K_DIR_ANCHOR_BOLD
romkatv 8554c755bd print new line(s) in precmd instead of embedding them in PROMPT
romkatv 9c9039253c put most of precmd code under !zle
romkatv 3674e69b43 stop setting prompt_cr and prompt_sp
romkatv 040be70d92 change the default value of POWERLEVEL9K_VPN_IP_INTERFACE to recognize wireguard
romkatv 1ad0e713a4 use fancier battery icons with nerd fonts
romkatv fd96e92df6 show battery as CHARGED on macos if it is at 100% and connected to power supply
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 
romkatv 91b715f18f disable or substitute "compatible" icons that cannot be displayed by the stock Menlo on macOS
romkatv 5886154bb1 drop q+ as it it's not supported by old shells
romkatv ef6f90f598 wizard: fix handling for $ZDOTDIR and $HOME with special symbols ("%", "$", etc.)
romkatv b394a601a0 if auto_name_dirs is set, show directory without named directory support
romkatv 4d63712093 don't offer to install font if there is no curl
romkatv 200b02b242 better iTerm version filter
romkatv 298fa2f325 bug fix: don't attempt to source .p10k.zsh when wizard exits to restart iTerm2
romkatv 7c513a1e79 minor fixes
romkatv 7f90c103d1 wizard: offer to override font on Termux if it is not MesloLGS NF
romkatv ebcb8cd307 wizard: offer to install Meslo NF on iTerm2
romkatv 684203221f wizard: offer to install Meslo NF on Termux
romkatv a30b5963a8 wizard: better text overflow
romkatv f59997f472 wizard: add round separators, heads and tails
romkatv 37dc2ba5e2 wizard: better text overflow
romkatv d6041f53aa wizard: make it look better on narrow screens
romkatv db6d36e09f wizard: reduce the minimum required terminal width from 80 to 51
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 .
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 .
romkatv 61f5552c98 stupid typo
romkatv 4bed2dc8c0 wizard: add an option to enable `time` segment
romkatv fff03ea888 change the default value of POWERLEVEL9K_VPN_IP_INTERFACE
romkatv eb58f05621 fix load fg color
romkatv 6582c7b25e include auto_name_dirs in the config signature
romkatv 84a562eca6 typo
romkatv ce532fea3e try POWERLEVEL9K_DIR_PACKAGE_FILES patterns in order and skip files without "name" in them; fixes
romkatv 9e505d3dc1 allow network interface to contain colon
romkatv 5f610a0af9 fix network interface and ip parsing
romkatv 3a1ebea014 add more patterns to POWERLEVEL9K_SHORTEN_FOLDER_MARKER
romkatv 0c627eb31d add `proxy` prompt segment
romkatv e4d78d2a72 fix custom prompt when the command is just one word; fixes
romkatv 613b1a646e don't unset P9K_SSH
romkatv 7d6400774f tune trailing whitespace for all icons when using typical non-monospace fonts
romkatv b3abfc089a fix detection of awesome-mapped-fontconfig in the wizard
romkatv 06ddd55922 ask awesome-patched font users about python logo; some are stuck with old fonts that don't have it
romkatv cb1f6c4815 make custom prompts more compatible with p9k
romkatv e537a0ee62 better utf-8 handling
romkatv a5e9af847d simplify nordvpn
romkatv 727d42ff48 expose P9K_SSH and make it available as soon as p10k is sourced
romkatv 3090ae6633 trip terraform whitespace
romkatv b3010c0156 use hammer and wrench emoji for terraform with all fonts
romkatv 4c12eb7224 add terraform prompt segment
romkatv 925ade3d29 make ZLE_RPROMPT_INDENT emulation condition less strict
romkatv 49063ee757 add ranger prompt; see
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 .
romkatv 96ba1b6f7d bug fix: don't hide command execution status on reset-prompt
fixes 
romkatv 620a20fc9f support branch shortening when using gitstatusd
romkatv 4ba78dc2be shorten git branch name if over 32 chars long; tune colors
romkatv 7c57ca92e7 enable nvm prompt if function nvm is defined
Same thing with a few other env prompts. Fixes .
romkatv bafade8963 add POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY and POWERLEVEL9K_GO_VERSION_PROJECT_ONLY
romkatv 36174484cc slightly better icons
romkatv 0d7ba09c4f short rust_version only when in a subdirectory of a cargo package
fixes 
romkatv 55a1b92bca strip spaces from os_icon when using narrow icons
romkatv 626056865d add POWERLEVEL9K_RVM_SHOW_GEMSET and POWERLEVEL9K_RVM_SHOW_PREFIX
Some users want them. See https://github.com/Powerlevel9k/powerlevel9k/pull/1353.
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 .
romkatv d6401aad69 add a space after all os icons
romkatv b2ddbdb90d remove one space after VCS_BRANCH_ICON when using wide icons
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 .
romkatv 429b07d4f8 add P9K_PROMPT_CHAR_STATE; it's experimental, don't use unless you are a trusted tester
romkatv 93230ae6ec change os_icon style
romkatv 24a5261a39 wizard: enable os_icon for users who like many icons
romkatv 58fa653b90 don't trust $PWD as it can be changed; use ${(%):-%/} instead
It's possible that  is caused by some code changing PWD.
romkatv 36d2c588f1 ignore zshexit hook calls done from forks
romkatv 9d6dfeae73 add POWERLEVEL9K_VCS_CONFLICTED_MAX_NUM
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
romkatv d8c509f5c9 require zsh 5.3 for nordvpn segment; fixes
romkatv d0fadfff97 add another option for i686 users
romkatv f62d1d5ae3 speciazled diagnostics for i686; more escapes; more opts
romkatv a491e86d92 beautify temp file name when printing it
romkatv 0f00e5e9e2 defend against global IFS leaks from other code; for
romkatv b6a365dd40 add P9K_NORDVPN_TECHNOLOGY
romkatv a29b8264e5 source .p10k.zsh only if it exists
romkatv 5a94a0c9eb be less strict when detecting the presence of .p10k.zsh in .zshrc
romkatv 37ab63fe69 bug fix: support color names in vcs style; fixes
romkatv 3fe113f91d better errors in p10k segment
romkatv 8d2ffb43db add "help" and "segment" commands to p10k
romkatv 6d11cb5f5d format options better
romkatv a6b572da45 add p10k configure
romkatv aabb13e3bb add an option for an even lighter background color
romkatv 0c0641d579 add a teardown hook for zplugin
romkatv dc8e654165 reduce wizard's minimum terminal size requirements
romkatv 40523128dc make classic style look decent if background color differs between segments
romkatv 40df756e2d run configuration wizard if POWERLEVEL9K_MODE is the only set parameter
romkatv d6dedc53bc support hot reloading of gitstatus parameters
romkatv 2ce69f9554 add a pointer to make it easier where the separator is
romkatv 38a3ca7dc3 support gke kubecontext clusters that are mapped to regions instead of zones
fixes 
Roman Perepelitsa cd8d8e4594
Remove erroneous plus
Fixes 
romkatv 4292efc03a cleanup
romkatv 2e5a085dbe run configuration wizard automatically if no POWERLEVEL9K options are defined
romkatv 89f3ec16d0 better message on quit
romkatv f702fe5b78 add separate options for separators, heads and tails; add more choices if using nerdfont
romkatv 5e4628d485 fix fg color of RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL
romkatv a2a21ae95a add an option for right frame without left
romkatv 4c08fa0621 shorten text added to ~/.zshrc and print a banner at the end of the wizard
romkatv 7cf4f7e57d ensure kubecontext namespace is not empty
romkatv 32421d296c expose more P9K_KUBECONTEXT variables for gke and eks contexts
romkatv f337616738 use consisent patterns when parsing yaml
romkatv 05deaa802f kubecontext: handle strings with spaces and ignore multi-line strings
romkatv 2318bda2c3 bug fixes: don't replace '_' with ' ' in gke clusters and clear the default of POWERLEVEL9K_KUBECONTEXT_SHORTEN
romkatv da7d986333 avoid printing grey text without knowing it's visible on the user's background
romkatv 224b62fbe4 silly typo: '\n' => $'\n'
fixes 
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.
romkatv 63f72c756f typo
romkatv 3e0c898e59 make fluent prompt less ugly in classic style
romkatv d872930c5c disable prompt_subst
romkatv 742ddb459f better diagnostics for small screens
romkatv deb0093a02 add a screen for selecting background color
romkatv bdc211b64f add nodeenv parameters similar to other envs
romkatv 6e85de122f add an option to insert prefixes similar to spaceship
romkatv b830c5cc45 comments
romkatv ba39eb3421 support POWERLEVEL9K_CONTEXT_${state}_TEMPLATE
romkatv bab487aa6e quote process subs
romkatv cdbbebf19d add an option to enable/disable useless icons
romkatv 9a7d86d1f2 fix MULTILINE_*_PREFIX icons for awesome-mapped-fontconfig and remove dollars
romkatv f4cdf0e0eb fix POWERLEVEL9K_DIR_CLASSES
romkatv 2cc7df757b Revert "fork before calling _p9k_init_icons"
This reverts commit 6699d15df9.
romkatv 6699d15df9 fork before calling _p9k_init_icons
romkatv e4f04403d0 add an option to remove frame
romkatv a471454b60 make wizard colors work better in Solarized Dark
romkatv 81aa7185e2 update colors to match changes in configs
romkatv 7f6e74f012 Don't show ram prompt if /proc/meminfo lists not-a-number for MemAvailable.
I've never encountered the case where this commit makes a difference
but it's possible that  will get fixed.
romkatv d963f10db9 change EXECUTION_TIME_ICON and NODE_ICON in the default mode; many fonts couldn't render these
Roman Perepelitsa e3f5a1c343
grammar
romkatv 4f94d1d640 typo
romkatv d9e2d122f9 fix bugs in font detection
romkatv d323cad788 print empty line at the end
romkatv 3466b385ff expose p9k_configure
romkatv fb88f83c92 add p9k_configure
romkatv c87396abcb add -f and straight
romkatv 4f482aa7e0 better zshrc writing
romkatv 444245ecc6 more wizard options
romkatv fcc769c58b tune default mode icons
romkatv 0378a0a54c cleanup
romkatv e28d0c37c9 add configure.zsh
romkatv 8edb59049a check that wizard can run
romkatv 0955a5637d cleanup
romkatv ebd32c8cbe simplify code
romkatv 1731b69f5f wizard: encode generation source and options
romkatv 3a741475f8 more progress on the wizard
romkatv 10fd41d187 font config wizard
romkatv 4a59f7f422 Merge branch 'master' into dev
romkatv 57b1f1aa74 default background to black in p9k_prompt_segment; comments
romkatv b27ff42ac3 do nothing in p9k_prompt_segment if not called by p10k
romkatv 80770d6a79 fix status on zsh 5.1
romkatv b66d6a7105 typo
romkatv 436740db8e fix many bugs in status related to pipelines
romkatv 93857552cf recognize vivis and vivli keymaps as visual vi mode
These keymaps are created by https://github.com/b4b4r07/zsh-vimode-visual.
I don't know why anyone would use this instead of the standard `v` and `V` keybindings.

Requested in https://github.com/romkatv/powerlevel10k/issues/134.
romkatv 01e66aab67 add a few extra states and parameters to make it possible to configure decent `status`
romkatv c025a878fd draft notes for configuration wizard
romkatv cef049e0de nordvpn: add CONNECTING and DISCONECTING states, remove OTHER
See https://github.com/romkatv/powerlevel10k/issues/133.
romkatv 0e31c204f7 cleanup in nordvpn
romkatv fb50402fc9 remove junk
romkatv b07d0b7083 add nordvpn prompt segment
This segment has four states.

MISSING: nordvpn is not installed. By default the segment is not shown
in this state. Override POWERLEVEL9K_NORDVPN_MISSING_CONTENT_EXPANSION
and/or POWERLEVEL9K_NORDVPN_MISSING_VISUAL_IDENTIFIER_EXPANSION to make
the segment visible.

CONNECTED: nordvpn is connected. By default shows LOCK_ICON as icon and
country code as content. In addition, the following variables are set
for the use by POWERLEVEL9K_NORDVPN_CONNECTED_CONTENT_EXPANSION
and POWERLEVEL9K_NORDVPN_CONNECTED_VISUAL_IDENTIFIER_EXPANSION:
P9K_NORDVPN_PROTOCOL, P9K_NORDVPN_IP_ADDRESS,
P9K_NORDVPN_SERVER, P9K_NORDVPN_COUNTRY, P9K_NORDVPN_CITY and
P9K_NORDVPN_STATUS (always "Connected"). These correspond to the output
lines of `nordvpn status`.

DISCONNECTED: nordvpn is disconnected. By default shows LOCK_ICON as
icon and FAIL_ICON as content. P9K_NORDVPN_STATUS is set to "Disconnected".

OTHER: nordvpn is in status other than "Connected" or "Disconnected".
I'm not sure this is possible. By default shows LOCK_ICON as
icon and FAIL_ICON as content. P9K_NORDVPN_STATUS is set to the
actual status (neither empty, "Connected" nor "Disconnected").

Fixes . Needs more testing.
romkatv 07eae5942d optimize style escaping
romkatv 80fc1fd56a comments
romkatv 694084dd6a document p9k_prompt_segment
romkatv 043ae21090 stop passing arguments to prompt_* functions; rename some internal functions
romkatv 82698c179b delete prompt_icons_test
romkatv 6eaa39e370 daemonize async pump
romkatv 1402ca55b1 correctly handle ZLE_RPROMPT_INDENT changes
romkatv 5a9c774d79 reinit on param changes
romkatv d9f0922945 make prompt_powerlevel9k_teardown and prompt_powerlevel9k_setup reentrant
romkatv 40fa321cc2 move icons.zsh to internal
romkatv be1a97bf47 inline colors.zsh, utilities.zsh and vcs.zsh
romkatv 4a9f441c7b rename all internal vars
romkatv 49768006de bug fixes
romkatv 202f781e59 s/P9K_NODE_VERSION_PROJECT_ONLY/POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY
romkatv 12a99c087d continue param refactoring
romkatv d63fd9a873 start massive refactoring of config params
romkatv 94efac6aab less escaping
romkatv 608684757a more intelligent quoting of expansions
romkatv 37f0a4d548 cleanup
romkatv 6b9a2e0cec got overexcited with backslashes
romkatv ee44359256 wrap unescaped multiline prefixes; fixes
romkatv 66d09d6f31 add POWERLEVEL9K_ICON_BEFORE_CONTENT
romkatv 8300a1e363 add POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_EXPANSION
romkatv 5dd3ecab5f make gap between left and right prompt customizable
romkatv fa0c447817 don't use state CHARGED when the battery is at 100% and discharging; use DISCONNECTED instead