mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2024-11-16 17:50:09 +00:00
README: Moving Dev Guide to Github wiki
This commit is contained in:
parent
008512cc79
commit
3a857c276d
1 changed files with 6 additions and 53 deletions
59
README.md
59
README.md
|
@ -48,6 +48,7 @@ like with a normal installation and default settings:
|
||||||
- [Gaps Between Segments](#gaps-between-segments)
|
- [Gaps Between Segments](#gaps-between-segments)
|
||||||
- [Meta](#meta)
|
- [Meta](#meta)
|
||||||
- [Kudos](#kudos)
|
- [Kudos](#kudos)
|
||||||
|
- [Developing](#developing)
|
||||||
- [Contributions / Bugs / Contact](#contributions--bugs--contact)
|
- [Contributions / Bugs / Contact](#contributions--bugs--contact)
|
||||||
|
|
||||||
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
||||||
|
@ -414,6 +415,11 @@ This theme wouldn't have happened without inspiration from the original [agnoste
|
||||||
|
|
||||||
Before creating this theme, I also tried [jeremyFreeAgent's theme](https://github.com/jeremyFreeAgent/oh-my-zsh-powerline-theme) and [maverick2000's theme, ZSH2000](https://github.com/maverick2000/zsh2000).
|
Before creating this theme, I also tried [jeremyFreeAgent's theme](https://github.com/jeremyFreeAgent/oh-my-zsh-powerline-theme) and [maverick2000's theme, ZSH2000](https://github.com/maverick2000/zsh2000).
|
||||||
|
|
||||||
|
#### Developing
|
||||||
|
|
||||||
|
Documentation for developers is kept on the [Powerlevel9k Github
|
||||||
|
wiki](https://github.com/bhilburn/powerlevel9k/wiki/Developers'-Guide).
|
||||||
|
|
||||||
#### Contributions / Bugs / Contact
|
#### Contributions / Bugs / Contact
|
||||||
|
|
||||||
If you have any requests or bug reports, please use the tracker in this Github
|
If you have any requests or bug reports, please use the tracker in this Github
|
||||||
|
@ -423,56 +429,3 @@ I'm happy to accept code contributions from anyone who has a bug fix, new featur
|
||||||
|
|
||||||
If you would like to contact me directly, you can find my e-mail address on my
|
If you would like to contact me directly, you can find my e-mail address on my
|
||||||
[Github profile page](https://github.com/bhilburn).
|
[Github profile page](https://github.com/bhilburn).
|
||||||
|
|
||||||
#### Developers Guide
|
|
||||||
|
|
||||||
The theme has grown a lot lately, so I think a little explanation would be
|
|
||||||
helpful.
|
|
||||||
|
|
||||||
##### Basic Knowledge
|
|
||||||
|
|
||||||
Our main entry point are the `PROMPT` and `RPROMPT` variables, which are
|
|
||||||
interpreted by zsh itself. All that this (and any other) theme does is
|
|
||||||
filling these two variables with control instructions (like defining
|
|
||||||
colors, etc.) and ready-to-use data. So within this theme we collect a
|
|
||||||
whole bunch of information to put in that variables. You can find
|
|
||||||
`PROMPT` and `RPROMPT` at the very end of the `powerlevel9k.zsh-theme`.
|
|
||||||
|
|
||||||
This simple diagram may explain the invoking order better:
|
|
||||||
|
|
||||||
```
|
|
||||||
+-----+ +---------+
|
|
||||||
| Zsh |--->| $PROMPT |
|
|
||||||
+-----+ +---------+
|
|
||||||
|
|
|
||||||
V
|
|
||||||
+---------------------+ +------------+ +---------------------+
|
|
||||||
| build_left_prompt() |--->| prompt_*() |->| $1_prompt_segment() |
|
|
||||||
+---------------------+ +------------+ +---------------------+
|
|
||||||
```
|
|
||||||
|
|
||||||
##### Adding Segments
|
|
||||||
|
|
||||||
Feel free to add your own segments. Every segment gets called with an
|
|
||||||
orientation as first parameter (`left` or `right`), so we can figure
|
|
||||||
out on which side we should draw the segment. This information is
|
|
||||||
used at the time we call the actual segment-drawing function:
|
|
||||||
`$1_prompt_segment`. To make the magic color-overwrite mechanism to
|
|
||||||
work, we have to pass our function name as first argument. Usually
|
|
||||||
this is just `$0`. Second parameter is a default background color,
|
|
||||||
third the default foreground color. And finally we pass our content
|
|
||||||
to the function. So our function could look somewhat like this:
|
|
||||||
|
|
||||||
```zsh
|
|
||||||
prompt_echo() {
|
|
||||||
local content='Hello World!'
|
|
||||||
$1_prompt_segment $0 blue red $content
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
At this point we can overwrite our blue-on-red segment by putting
|
|
||||||
|
|
||||||
POWERLEVEL9K_ECHO_FOREGROUND="200"
|
|
||||||
POWERLEVEL9K_ECHO_BACKGROUND="040"
|
|
||||||
|
|
||||||
in our `~/.zshrc`. We now have a pink-on-green segment. Yay!
|
|
||||||
|
|
Loading…
Reference in a new issue