feat(python): add virtual env name to template properties

This commit is contained in:
Jan De Dobbeleer 2021-12-04 10:26:30 +01:00 committed by Jan De Dobbeleer
parent 39a27b29ad
commit e866c6bf76
3 changed files with 9 additions and 7 deletions

View file

@ -44,6 +44,7 @@ properties below. Defaults to `{{ .Full }}`
## Template Properties
- `.Venv`: `string` - the virtual environment name (if present)
- `.Full`: `string` - the full version
- `.Major`: `string` - is the major version
- `.Minor`: `string` - is the minor version

View file

@ -13,7 +13,7 @@ Show the current user and host name.
```json
{
"type": "session",
"style": "diamond",
"style": "diamond",
"foreground": "#ffffff",
"background": "#c386f1",
"leading_diamond": "\uE0B6",

View file

@ -4,7 +4,8 @@ import "fmt"
type python struct {
language
venvName string
Venv string
}
const (
@ -13,14 +14,14 @@ const (
)
func (p *python) string() string {
if p.venvName == "" {
if p.Venv == "" {
return p.language.string()
}
version := p.language.string()
if version == "" {
return p.venvName
return p.Venv
}
return fmt.Sprintf("%s %s", p.venvName, version)
return fmt.Sprintf("%s %s", p.Venv, version)
}
func (p *python) init(props properties, env environmentInfo) {
@ -67,14 +68,14 @@ func (p *python) loadContext() {
venv = p.language.env.getenv(venvVar)
name := base(venv, p.language.env)
if p.canUseVenvName(name) {
p.venvName = name
p.Venv = name
break
}
}
}
func (p *python) inContext() bool {
return p.venvName != ""
return p.Venv != ""
}
func (p *python) canUseVenvName(name string) bool {