1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
prezto/modules/prompt
Kaleb Elwert 47467a1b0e
Update functions to all use POSIX syntax
7 years ago
..
external Update external prompt modules 8 years ago
functions Update functions to all use POSIX syntax 7 years ago
README.md Update functions to all use POSIX syntax 7 years ago
init.zsh [Fix #713] Set prompt theme off in unsupported terminal 10 years ago

README.md

Prompt

Loads prompt themes.

Settings

To select a prompt theme, add the following to zpreztorc, and replace name with the name of the theme you wish to load. Setting it to random will load a random theme.

zstyle ':prezto:module:prompt' theme 'name'

Theming

A prompt theme is an autoloadable function file with a special name, prompt_name_setup, placed anywhere in $fpath, but for the purpose of this project, themes should be placed in the modules/prompt/functions directory.

Theme Functions

There are three theme functions, a setup function, a help function, and a preview function. The setup function must always be defined. The help function and the preview functions are optional.

prompt_name_setup

This function is called by the prompt function to install the theme. This function may define other functions as necessary to maintain the prompt, including a function that displays help or a function used to preview it.

Do not call this function directly.

The most basic example of this function can be seen below.

prompt_name_setup() {
  PROMPT='%m%# '
  RPROMPT=''
}

prompt_name_help

If the prompt_name_setup function is customizable via parameters, a help function should be defined. The user will access it via prompt -h name.

The most basic example of this function can be seen below.

prompt_name_help() {
  cat <<EOH
This prompt is color-scheme-able. You can invoke it thus:

  prompt theme [<color1>] [<color2>]

where the color is for the left-hand prompt.
EOH
}

prompt_name_preview

If the prompt_name_setup function is customizable via parameters, a preview function should be defined. The user will access it via prompt -p name.

The most basic example of this function can be seen below.

prompt_name_preview() {
  if (( $# > 0 )); then
    prompt_preview_theme theme "$@"
  else
    prompt_preview_theme theme red green blue
    print
    prompt_preview_theme theme yellow magenta black
  fi
}

Hook Functions

There are many Zsh hook functions, but mostly the precmd hook will be used.

prompt_name_precmd

This hook is called before the prompt is displayed and is useful for getting information to display in a prompt.

When calling functions to get information to display in a prompt, do not assume that all the dependencies have been loaded. Always check for the availability of a function before you calling it.

Do not register hook functions. They will be registered by the prompt function.

The most basic example of this function can be seen below.

prompt_name_precmd() {
  if (( $+functions[git-info] )); then
    git-info
  fi
}

Authors

The authors of this module should be contacted via the issue tracker.