mirror of
https://github.com/JanDeDobbeleer/oh-my-posh.git
synced 2025-03-05 20:49:04 -08:00
56 lines
762 B
Go
56 lines
762 B
Go
package shell
|
|
|
|
type Feature byte
|
|
|
|
const (
|
|
Jobs Feature = iota
|
|
Azure
|
|
PoshGit
|
|
LineError
|
|
Tooltips
|
|
Transient
|
|
FTCSMarks
|
|
Upgrade
|
|
Notice
|
|
PromptMark
|
|
RPrompt
|
|
CursorPositioning
|
|
)
|
|
|
|
type Features []Feature
|
|
|
|
func (f Features) Lines(shell string) Lines {
|
|
var lines Lines
|
|
|
|
for _, feature := range f {
|
|
var code Code
|
|
|
|
switch shell {
|
|
case PWSH, PWSH5:
|
|
code = feature.Pwsh()
|
|
case ZSH:
|
|
code = feature.Zsh()
|
|
case BASH:
|
|
code = feature.Bash()
|
|
case ELVISH:
|
|
code = feature.Elvish()
|
|
case TCSH:
|
|
code = feature.Tcsh()
|
|
case FISH:
|
|
code = feature.Fish()
|
|
case CMD:
|
|
code = feature.Cmd()
|
|
case NU:
|
|
code = feature.Nu()
|
|
case XONSH:
|
|
code = feature.Xonsh()
|
|
}
|
|
|
|
if len(code) > 0 {
|
|
lines = append(lines, code)
|
|
}
|
|
}
|
|
|
|
return lines
|
|
}
|