Commit Graph

333 Commits (dfe6a86eb3341d407cc2723606dfc9a0de02236c)

Author SHA1 Message Date
romkatv 9c9039253c put most of precmd code under !zle 5 years ago
romkatv 3674e69b43 stop setting prompt_cr and prompt_sp 5 years ago
romkatv 040be70d92 change the default value of POWERLEVEL9K_VPN_IP_INTERFACE to recognize wireguard 5 years ago
romkatv fd96e92df6 show battery as CHARGED on macos if it is at 100% and connected to power supply 5 years ago
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
5 years ago
romkatv b394a601a0 if auto_name_dirs is set, show directory without named directory support 5 years ago
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.
5 years ago
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.
5 years ago
romkatv 4bed2dc8c0 wizard: add an option to enable `time` segment 5 years ago
romkatv fff03ea888 change the default value of POWERLEVEL9K_VPN_IP_INTERFACE 5 years ago
romkatv eb58f05621 fix load fg color 5 years ago
romkatv 6582c7b25e include auto_name_dirs in the config signature 5 years ago
romkatv 84a562eca6 typo 5 years ago
romkatv ce532fea3e try POWERLEVEL9K_DIR_PACKAGE_FILES patterns in order and skip files without "name" in them; fixes #190 5 years ago
romkatv 9e505d3dc1 allow network interface to contain colon 5 years ago
romkatv 5f610a0af9 fix network interface and ip parsing 5 years ago
romkatv 3a1ebea014 add more patterns to POWERLEVEL9K_SHORTEN_FOLDER_MARKER 5 years ago
romkatv 0c627eb31d add `proxy` prompt segment 5 years ago
romkatv e4d78d2a72 fix custom prompt when the command is just one word; fixes #189 5 years ago
romkatv 613b1a646e don't unset P9K_SSH 5 years ago
romkatv b3abfc089a fix detection of awesome-mapped-fontconfig in the wizard 5 years ago
romkatv cb1f6c4815 make custom prompts more compatible with p9k 5 years ago
romkatv e537a0ee62 better utf-8 handling 5 years ago
romkatv a5e9af847d simplify nordvpn 5 years ago
romkatv 727d42ff48 expose P9K_SSH and make it available as soon as p10k is sourced 5 years ago
romkatv 3090ae6633 trip terraform whitespace 5 years ago
romkatv 4c12eb7224 add terraform prompt segment 5 years ago
romkatv 925ade3d29 make ZLE_RPROMPT_INDENT emulation condition less strict 5 years ago
romkatv 49063ee757 add ranger prompt; see #171 5 years ago
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.
5 years ago
romkatv 96ba1b6f7d bug fix: don't hide command execution status on reset-prompt
fixes #171
5 years ago
romkatv 620a20fc9f support branch shortening when using gitstatusd 5 years ago
romkatv 7c57ca92e7 enable nvm prompt if function nvm is defined
Same thing with a few other env prompts. Fixes #166.
5 years ago
romkatv bafade8963 add POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY and POWERLEVEL9K_GO_VERSION_PROJECT_ONLY 5 years ago
romkatv 0d7ba09c4f short rust_version only when in a subdirectory of a cargo package
fixes #164
5 years ago
romkatv 626056865d add POWERLEVEL9K_RVM_SHOW_GEMSET and POWERLEVEL9K_RVM_SHOW_PREFIX
Some users want them. See https://github.com/Powerlevel9k/powerlevel9k/pull/1353.
5 years ago
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.
5 years ago
romkatv 429b07d4f8 add P9K_PROMPT_CHAR_STATE; it's experimental, don't use unless you are a trusted tester 5 years ago
romkatv 24a5261a39 wizard: enable os_icon for users who like many icons 5 years ago
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.
5 years ago
romkatv 36d2c588f1 ignore zshexit hook calls done from forks 5 years ago
romkatv 9d6dfeae73 add POWERLEVEL9K_VCS_CONFLICTED_MAX_NUM 5 years ago
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 5 years ago
romkatv d8c509f5c9 require zsh 5.3 for nordvpn segment; fixes #148 5 years ago
romkatv d0fadfff97 add another option for i686 users 5 years ago
romkatv f62d1d5ae3 speciazled diagnostics for i686; more escapes; more opts 5 years ago
romkatv 0f00e5e9e2 defend against global IFS leaks from other code; for #146 5 years ago
romkatv b6a365dd40 add P9K_NORDVPN_TECHNOLOGY 5 years ago
romkatv 37ab63fe69 bug fix: support color names in vcs style; fixes #144 5 years ago
romkatv 3fe113f91d better errors in p10k segment 5 years ago
romkatv 8d2ffb43db add "help" and "segment" commands to p10k 5 years ago
romkatv a6b572da45 add p10k configure 5 years ago
romkatv 0c0641d579 add a teardown hook for zplugin 5 years ago
romkatv 40df756e2d run configuration wizard if POWERLEVEL9K_MODE is the only set parameter 5 years ago
romkatv d6dedc53bc support hot reloading of gitstatus parameters 5 years ago
romkatv 38a3ca7dc3 support gke kubecontext clusters that are mapped to regions instead of zones
fixes #139
5 years ago
Roman Perepelitsa cd8d8e4594
Remove erroneous plus
Fixes #142
5 years ago
romkatv 2e5a085dbe run configuration wizard automatically if no POWERLEVEL9K options are defined 5 years ago
romkatv 5e4628d485 fix fg color of RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL 5 years ago
romkatv 7cf4f7e57d ensure kubecontext namespace is not empty 5 years ago
romkatv 32421d296c expose more P9K_KUBECONTEXT variables for gke and eks contexts 5 years ago
romkatv f337616738 use consisent patterns when parsing yaml 5 years ago
romkatv 05deaa802f kubecontext: handle strings with spaces and ignore multi-line strings 5 years ago
romkatv 2318bda2c3 bug fixes: don't replace '_' with ' ' in gke clusters and clear the default of POWERLEVEL9K_KUBECONTEXT_SHORTEN 5 years ago
romkatv 224b62fbe4 silly typo: '\n' => $'\n'
fixes #140
5 years ago
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.
5 years ago
romkatv bdc211b64f add nodeenv parameters similar to other envs 5 years ago
romkatv ba39eb3421 support POWERLEVEL9K_CONTEXT_${state}_TEMPLATE 5 years ago
romkatv bab487aa6e quote process subs 5 years ago
romkatv f4cdf0e0eb fix POWERLEVEL9K_DIR_CLASSES 5 years ago
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 #136 will get fixed.
5 years ago
romkatv 3466b385ff expose p9k_configure 5 years ago
romkatv 0378a0a54c cleanup 5 years ago
romkatv 57b1f1aa74 default background to black in p9k_prompt_segment; comments 5 years ago
romkatv b27ff42ac3 do nothing in p9k_prompt_segment if not called by p10k 5 years ago
romkatv 80770d6a79 fix status on zsh 5.1 5 years ago
romkatv b66d6a7105 typo 5 years ago
romkatv 436740db8e fix many bugs in status related to pipelines 5 years ago
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.
5 years ago
romkatv 01e66aab67 add a few extra states and parameters to make it possible to configure decent `status` 6 years ago
romkatv cef049e0de nordvpn: add CONNECTING and DISCONECTING states, remove OTHER
See https://github.com/romkatv/powerlevel10k/issues/133.
6 years ago
romkatv 0e31c204f7 cleanup in nordvpn 6 years ago
romkatv fb50402fc9 remove junk 6 years ago
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 #133. Needs more testing.
6 years ago
romkatv 07eae5942d optimize style escaping 6 years ago
romkatv 80fc1fd56a comments 6 years ago
romkatv 694084dd6a document p9k_prompt_segment 6 years ago
romkatv 043ae21090 stop passing arguments to prompt_* functions; rename some internal functions 6 years ago
romkatv 82698c179b delete prompt_icons_test 6 years ago
romkatv 6eaa39e370 daemonize async pump 6 years ago
romkatv 1402ca55b1 correctly handle ZLE_RPROMPT_INDENT changes 6 years ago
romkatv 5a9c774d79 reinit on param changes 6 years ago
romkatv d9f0922945 make prompt_powerlevel9k_teardown and prompt_powerlevel9k_setup reentrant 6 years ago
romkatv 40fa321cc2 move icons.zsh to internal 6 years ago
romkatv be1a97bf47 inline colors.zsh, utilities.zsh and vcs.zsh 6 years ago
romkatv 4a9f441c7b rename all internal vars 6 years ago
romkatv 49768006de bug fixes 6 years ago
romkatv 202f781e59 s/P9K_NODE_VERSION_PROJECT_ONLY/POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY 6 years ago
romkatv 12a99c087d continue param refactoring 6 years ago
romkatv d63fd9a873 start massive refactoring of config params 6 years ago
romkatv 94efac6aab less escaping 6 years ago
romkatv 608684757a more intelligent quoting of expansions 6 years ago
romkatv 37f0a4d548 cleanup 6 years ago
romkatv 6b9a2e0cec got overexcited with backslashes 6 years ago
romkatv ee44359256 wrap unescaped multiline prefixes; fixes #125 6 years ago
romkatv 66d09d6f31 add POWERLEVEL9K_ICON_BEFORE_CONTENT 6 years ago
romkatv 8300a1e363 add POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_EXPANSION 6 years ago
romkatv 5dd3ecab5f make gap between left and right prompt customizable 6 years ago
romkatv fa0c447817 don't use state CHARGED when the battery is at 100% and discharging; use DISCONNECTED instead 6 years ago
romkatv dc601559fa propagate _P9K_SSH similar to Pure 6 years ago
romkatv c4d3ec2cc5 add POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT 6 years ago
romkatv ef06651f68 bug fix: default {RIGHT,LEFT}_MIDDLE_WHITESPACE to space 6 years ago
romkatv 259a2954cd typo 6 years ago
romkatv d65e7eb926 bug fix: don't update _P9K_BG and _P9K_I when a segment has empty content and icon 6 years ago
romkatv fa457a3282 fix purge when dir contains weird shit 6 years ago
romkatv d81b4dbf68 speed up truncate_to_unique 6 years ago
romkatv b7a8139e97 fix POWERLEVEL9K_DIR_MAX_LENGTH 6 years ago
romkatv 233b5c7c88 add POWERLEVEL9K_DIR_MAX_LENGTH 6 years ago
romkatv ebb08c881f add POWERLEVEL9K_DIR_SHORTENED_FOREGROUND 6 years ago
romkatv ff24a9f42b add POWERLEVEL9K_DIR_ANCHOR_BOLD and POWERLEVEL9K_DIR_ANCHOR_FOREGROUND 6 years ago
romkatv 3dac653c52 fix styling bugs in dir 6 years ago
romkatv cd4d1358b3 fix quoting in dir 6 years ago
romkatv 86d6412988 grammar 6 years ago
romkatv c5f32d1ea5 add POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT 6 years ago
romkatv d41e18416f finish auto-shrinking dir; still not tested yet 6 years ago
romkatv 394dffa77b Merge branch 'master' into dev 6 years ago
romkatv f37d7e6742 don't update time unnecessarily 6 years ago
romkatv 7478f07100 ensure there is at least one space between left and right prompts 6 years ago
romkatv 389b2ce5c2 prototype for auto-shrinking dir 6 years ago
romkatv 0660d8c97d bug fix: %-expand POWERLEVEL9K_TIME_FORMAT on every prompt
reported in #77
6 years ago
romkatv 568dc8beb4 add MULTILINE_{FIRST,NEWLINE,LAST}_PROMPT_SUFFIX 6 years ago
romkatv c5f27b1cc5 optimize codegen for icons 6 years ago
romkatv 8b04966624 optimize codegen when VISUAL_IDENTIFIER_EXPANSION doesn't contain $-expansions 6 years ago
romkatv c5e24d843b spello 6 years ago
romkatv dd09ce6efc add POWERLEVEL9K_TIME_UPDATE_ON_COMMAND
This is one of the features discussed in #77.
6 years ago
romkatv 1acc559cc2 Merge branch 'master' into dev 6 years ago
romkatv 1ed5c3f177 make it work in ZSH 5.1 6 years ago
romkatv 00a070d5db generate less code for empty rprompt 6 years ago
romkatv 3bf8931620 bail out of *env prompts if the corresponding *env command doesn't exist 6 years ago
romkatv d75b714d8a add nodenv prompt; #121 6 years ago
romkatv 428665e551 silly typos 6 years ago
romkatv ccfc462faf add P9K_COMMAND_DURATION_SECONDS and POWERLEVEL9K_COMMAND_EXECUTION_TIME_DISABLE_FORMATTING 6 years ago
romkatv 36fa083841 fix bugs in multiline right prompt 6 years ago
romkatv 29aec8c105 allow newline in right prompt; untested 6 years ago
romkatv e986f0a96c replace POWERLEVEL9K_BATTERY_STAGES hack with proper code 6 years ago
romkatv 38da6a3c9b tabs to spaces 6 years ago
romkatv 06aa8da96e round to seconds instead of truncating 6 years ago
romkatv 32537cffaa add POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL 6 years ago
romkatv 22e459ef24 remove trailing spaces for the default prompt_char content 6 years ago
romkatv 26a8b17f6e 1.23s instead of 1.23 in command_execution_time 6 years ago