2022-07-08 03:21:08 -07:00
|
|
|
package segments
|
|
|
|
|
|
|
|
import (
|
2022-11-09 11:27:54 -08:00
|
|
|
"oh-my-posh/platform"
|
2022-07-08 03:21:08 -07:00
|
|
|
"oh-my-posh/properties"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Perl struct {
|
|
|
|
language
|
|
|
|
}
|
|
|
|
|
|
|
|
func (p *Perl) Template() string {
|
|
|
|
return languageTemplate
|
|
|
|
}
|
|
|
|
|
2022-11-09 11:27:54 -08:00
|
|
|
func (p *Perl) Init(props properties.Properties, env platform.Environment) {
|
2022-07-08 03:21:08 -07:00
|
|
|
perlRegex := `This is perl.*v(?P<version>(?P<major>[0-9]+)(?:\.(?P<minor>[0-9]+))(?:\.(?P<patch>[0-9]+))?).* built for .+`
|
|
|
|
p.language = language{
|
|
|
|
env: env,
|
|
|
|
props: props,
|
|
|
|
extensions: []string{
|
|
|
|
".perl-version",
|
|
|
|
"*.pl",
|
|
|
|
"*.pm",
|
|
|
|
"*.t",
|
|
|
|
},
|
|
|
|
commands: []*cmd{
|
|
|
|
{
|
|
|
|
executable: "perl",
|
|
|
|
args: []string{"-version"},
|
|
|
|
regex: perlRegex,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (p *Perl) Enabled() bool {
|
|
|
|
return p.language.Enabled()
|
|
|
|
}
|