<feed xmlns='http://www.w3.org/2005/Atom'>
<title>zsh.git/themes/pygmalion.zsh-theme, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cnjoe.info/git/zsh.git/atom/themes/pygmalion.zsh-theme?h=master</id>
<link rel='self' href='http://cnjoe.info/git/zsh.git/atom/themes/pygmalion.zsh-theme?h=master'/>
<link rel='alternate' type='text/html' href='http://cnjoe.info/git/zsh.git/'/>
<updated>2024-07-12T16:18:20Z</updated>
<entry>
<title>refactor(pygmalion): simplify theme logic and prompt sequences (#12550)</title>
<updated>2024-07-12T16:18:20Z</updated>
<author>
<name>Marc Khouri</name>
<email>marc@khouri.ca</email>
</author>
<published>2024-07-12T16:18:20Z</published>
<link rel='alternate' type='text/html' href='http://cnjoe.info/git/zsh.git/commit/?id=fa583cfb87b80e3f7d7577c8b62b7d1385c01337'/>
<id>urn:sha1:fa583cfb87b80e3f7d7577c8b62b7d1385c01337</id>
<content type='text'>
* Simplify Pygmalion Theme

The Pygmalion theme previously had some logic for counting line length and taking action based on line length. The action was removed in c52441b624c0b1fa075bc6110032bd4e75311909, but the counting still needlessly happens. 

This commit removes the code to count line length, and simplifies the Pygmalion theme by moving the "precmd" into the setup. 

As a bonus unintended side effect, this makes the Pygmalion theme compatible with the current async prompting logic (i.e. after this change, Pygmalion is no longer affected by https://github.com/ohmyzsh/ohmyzsh/issues/12328)

* refactor(pygmalion): redo and simplify prompt sequences

With this commit we put the minimal needed color resets, i.e. only
when we don't control the previous text we need to do a full reset.
Otherwise we can just use %F{} to change only the foreground color.

Co-authored-by: Marc Cornellà &lt;marc@mcornella.com&gt;</content>
</entry>
<entry>
<title>fix(themes): fix potential command injection in `pygmalion`, `pygmalion-virtualenv` and `refined`</title>
<updated>2021-11-11T21:45:40Z</updated>
<author>
<name>Marc Cornellà</name>
<email>hello@mcornella.com</email>
</author>
<published>2021-11-09T08:54:21Z</published>
<link rel='alternate' type='text/html' href='http://cnjoe.info/git/zsh.git/commit/?id=b3ba9978cc42a5031c7b68e3cf917ec2e64643bc'/>
<id>urn:sha1:b3ba9978cc42a5031c7b68e3cf917ec2e64643bc</id>
<content type='text'>
The pygmalion and pygmalion-virtualenv themes unsafely handle git prompt information
which results in a double evaluation of this information, so a malicious git repository
could trigger a command injection if the user cloned and entered the repository.

A similar method could be used in the refined theme. All themes have been patched against this
vulnerability.
</content>
</entry>
<entry>
<title>pygmalion: use pure zsh instead of perl (#9210)</title>
<updated>2020-08-28T22:27:06Z</updated>
<author>
<name>Florian Klink</name>
<email>flokli@flokli.de</email>
</author>
<published>2020-08-28T22:27:06Z</published>
<link rel='alternate' type='text/html' href='http://cnjoe.info/git/zsh.git/commit/?id=4ed6fd2b8b6a0efb2f84f00a64503282aca260e7'/>
<id>urn:sha1:4ed6fd2b8b6a0efb2f84f00a64503282aca260e7</id>
<content type='text'>
My system doesn't have `perl` in $PATH, so using this theme clutters the
shell output quite a bit.

Turns out, the same thing can be accomplished in pure zsh (with
extendedglob).

Co-Authored-By: Marc Cornellà &lt;marc.cornella@live.com&gt;
</content>
</entry>
<entry>
<title>pygmalion: revert multiline prompt change</title>
<updated>2020-05-10T18:06:24Z</updated>
<author>
<name>Marc Cornellà</name>
<email>marc.cornella@live.com</email>
</author>
<published>2020-05-10T18:06:24Z</published>
<link rel='alternate' type='text/html' href='http://cnjoe.info/git/zsh.git/commit/?id=c52441b624c0b1fa075bc6110032bd4e75311909'/>
<id>urn:sha1:c52441b624c0b1fa075bc6110032bd4e75311909</id>
<content type='text'>
Fixes #2317
Closes #2321
</content>
</entry>
<entry>
<title>Use safer append to hook function arrays (#8406)</title>
<updated>2019-11-19T17:47:12Z</updated>
<author>
<name>Jacob Tomaw</name>
<email>jacob.tomaw@gmail.com</email>
</author>
<published>2019-11-19T17:47:12Z</published>
<link rel='alternate' type='text/html' href='http://cnjoe.info/git/zsh.git/commit/?id=1ba0af650ac575a7d35b10146d2e7a7b3b2e2ae6'/>
<id>urn:sha1:1ba0af650ac575a7d35b10146d2e7a7b3b2e2ae6</id>
<content type='text'>
Use add-zsh-hook to add functions to hooks. That way they won't be added again
when doing `source ~/.zshrc` multiple times.

Co-authored-by: Marc Cornellà &lt;marc.cornella@live.com&gt;</content>
</entry>
<entry>
<title>fix missing add-zsh-hook in pygmalion.zsh-theme</title>
<updated>2014-09-01T01:49:31Z</updated>
<author>
<name>Letian Zhang</name>
<email>zlthooray@gmail.com</email>
</author>
<published>2014-09-01T01:49:31Z</published>
<link rel='alternate' type='text/html' href='http://cnjoe.info/git/zsh.git/commit/?id=9c1255d358fa98397ce20370fa3843199c663990'/>
<id>urn:sha1:9c1255d358fa98397ce20370fa3843199c663990</id>
<content type='text'>
Fix "command not found: add-zsh-hook" since #3053 removes `autoload -U add-zsh-hook`</content>
</entry>
<entry>
<title>correctly handle path names with spaces</title>
<updated>2011-12-29T13:35:38Z</updated>
<author>
<name>Philip Hofstetter</name>
<email>phofstetter@sensational.ch</email>
</author>
<published>2011-12-29T13:35:38Z</published>
<link rel='alternate' type='text/html' href='http://cnjoe.info/git/zsh.git/commit/?id=3445dada95f7d5c4730b73ebb8b3abb0e5723e26'/>
<id>urn:sha1:3445dada95f7d5c4730b73ebb8b3abb0e5723e26</id>
<content type='text'>
</content>
</entry>
<entry>
<title>make pygmalion theme use two lines when needed</title>
<updated>2011-12-28T14:58:24Z</updated>
<author>
<name>Philip Hofstetter</name>
<email>phofstetter@sensational.ch</email>
</author>
<published>2011-12-28T14:54:47Z</published>
<link rel='alternate' type='text/html' href='http://cnjoe.info/git/zsh.git/commit/?id=77045230f4e2c80f4f312fbbeeb8583a41aa5a92'/>
<id>urn:sha1:77045230f4e2c80f4f312fbbeeb8583a41aa5a92</id>
<content type='text'>
if the length of the prompt (excluding color escapes) exceeds 40
characters, emit the arrow prompt on its own line

This helps a lot on smaller terminals
</content>
</entry>
<entry>
<title>forks miloshadzic theme to add more directory info as well as user and host info</title>
<updated>2011-12-09T18:18:54Z</updated>
<author>
<name>Dominick LoBraico</name>
<email>dj@lobraico.com</email>
</author>
<published>2011-12-09T18:18:54Z</published>
<link rel='alternate' type='text/html' href='http://cnjoe.info/git/zsh.git/commit/?id=d25fb095a9d1f814fe2b4d0f42ffe827780d4a59'/>
<id>urn:sha1:d25fb095a9d1f814fe2b4d0f42ffe827780d4a59</id>
<content type='text'>
</content>
</entry>
</feed>
