Wat is er nieuw #2
Deze pagina is vertaald door PageTurner AI (beta). Niet officieel goedgekeurd door het project. Een fout gevonden? Probleem melden →
Had nooit gedacht dat ik deel twee binnen een week zou doen, maar hier zijn we weer!
Functionaliteiten
CLI-interface (ook #2)
In de vorige post heb ik enkele wijzigingen in de CLI-interface belicht. Het blijkt dat ik het
nog eenvoudiger kon maken. Omdat Oh My Posh een promptgenererend hulpprogramma is, slaat het prompt-commando
nergens op omdat dat al impliciet is. Deze is verwijderd, hoewel het blijft werken om
bestaande functionaliteit na een upgrade niet te verstoren.
Init
De volgende initialisatie:
oh-my-posh prompt init pwsh | Invoke-Expression
wordt nu:
oh-my-posh init pwsh | Invoke-Expression
Debug
Om Oh My Posh te debuggen, kun je simpelweg het debug-commando gebruiken. Het is slim genoeg om je configuratie
te herkennen, dus je hoeft de --config-optie niet te specificeren.
oh-my-posh debug
Fish shell
We ondersteunden fish shell al een tijdje, maar we hebben het verbeterd. Ik ben fish gaan gebruiken als mijn primaire shell, dus het kon natuurlijk niet achterblijven. Ik raad je aan om het ook eens te proberen, het is een erg prettige ervaring.
Maar goed, wat is er veranderd? We ondersteunen nu standaard het volgende:
Er lijkt nog geen ondersteuning te zijn voor een secundaire prompt in fish, zodra die beschikbaar is kunnen we die ook eenvoudig toevoegen.
Om hiervan te genieten, upgrade naar de nieuwste versie en initialiseer fish door deze regel toe te voegen aan ~/.config/fish/config.fish:
oh-my-posh init fish | source
Tijdelijke prompt
Nu we het over transient hebben: het heeft wat nieuwe trucjes geleerd. Ten eerste kun je nu de .Code-eigenschap gebruiken om in de sjabloon te werken met de foutcode van het laatste commando (indien aanwezig). Dit kan bijvoorbeeld worden gebruikt om de tijdelijke prompt een andere kleur te geven wanneer het laatste commando is mislukt. Dit impliceerde wel dat we ook ondersteuning nodig hadden voor kleurtemplates, aangezien dat nog niet mogelijk was. Geen nood: we hebben nu een tijdelijke prompt die kleursjablonen ondersteunt.
"transient_prompt": {
"background": "p:yellow",
"background_templates": [
"{{ if gt .Code 0 }}p:red{{ end }}"
],
"foreground": "p:black",
"foreground_templates": [
"{{ if gt .Code 0 }}p:white{{ end }}"
],
"template": "<background,transparent>\ue0b6</> {{ .Folder }} <background,transparent>\ue0b0</><,transparent> </>"
}
Dit geeft het volgende resultaat:

Configuratie versie 2
Weet je nog dat we begin dit jaar een migratie naar configuratieversie 1 deden? Nou, we hebben nu een migratie naar versie 2 uitgevoerd. Als we kijken naar de architectuur van Oh My Posh, zagen we dat de verschillende prompts (tijdelijk, secundair, ...) steeds meer gingen lijken op het model dat door segmenten wordt gebruikt. Het enige verschil was dat template geen eigenschap was, maar een veld van die prompts. Omdat alle segmenten nu sjabloonondersteuning hebben, was het een logische stap om beide modellen op één lijn te brengen en een migratie naar configuratieversie 2 uit te voeren, zodat niemand handmatig werk in het proces hoefde te doen.
De volgende segmentdefinitie:
{
"background": "#9A348E",
"foreground": "#ffffff",
"leading_diamond": "\ue0b6",
"properties": {
"template": "{{ .UserName }} "
},
"style": "diamond",
"type": "session"
}
Wordt nu voor versie 2 gemigreerd naar:
{
"background": "#9A348E",
"foreground": "#ffffff",
"leading_diamond": "\ue0b6",
"style": "diamond",
"template": "{{ .UserName }} ",
"type": "session"
}
Go 1.18
Dit heeft geen directe impact op eindgebruikers, maar wellicht is het interessant om te weten dat Oh My Posh nu standaard go 1.18 gebruikt. Dit brengt duidelijke taalverbeteringen en enkele nieuwe functies waar we mee kunnen experimenteren. Het meest opvallende zijn generics, maar het lijkt erop dat we hier nog niet direct van kunnen profiteren omdat dit nog niet wordt ondersteund voor methoden, en dat is juist de belangrijkste use-case voor ons.
Desalniettemin is het goed om up-to-date te blijven. Als je echter eigenaardigheden opmerkt, laat het ons zeker weten!
Dat was het voor deze week, tot de volgende keer 🤞🏻
Houd die prompt stijlvol, iedereen!