❤ Oh My Posh: O terminal perfeito no windows é possível! 🎉

⁉ O que é o Oh My Posh?

Creio que todos os devs deveriam ter a possibilidade de ter um terminal perfeito, muitos usuários de linux usam o Oh My ZSH, qual é uma ferramenta qual permite você personalizar o seu terminal, porém para os usuários de Windows, muitos não conhecem o Oh My Posh, por isso optam por baixar o WSL e assim utilizar o Oh My ZSH, e nesse artigo estarei ensinando como instalar e utilizar o Oh My Posh.

👨‍💻 Como posso baixar o Oh My Posh?

Como esse artigo é mais focado para os usuários de Windows, estarei ensinando como instalar no Windows 10 ou 11, porém o Oh My Posh tem sim compatibilidade com o Linux e MacOS.

Primeiramente abra o powershell e digite o seguinte comando para instalar o Oh My Posh via Winget

winget install JanDeDobbeleer.OhMyPosh -s winget

Após a instalação, o comando oh-my-posh estará disponível para você, executando ele, você poderá ver todos os subcomandos e argumentos.

Agora veja abaixo como utilizar no PowerShell ou no Prompt de Comando

PowerShell

Agora para inicializar o Oh My Posh, você precisará executar o seguinte comando oh-my-posh init powershell --config="" | Invoke-Expression.

Para não precisarmos executar esse comando toda vez que abrimos o PowerShell vamos editar o perfil do powershell para executar este comando toda vez que o PowerShell se inicializar, portanto, executamos o comando abaixo para abrir o perfil no Visual Studio Code:

code $PROFILE

Caso você não tenha o Visual Studio Code instalado, você pode utilizar o notepad:

notepad $PROFILE

Após abrir, colocaremos o comando abaixo, no arquivo e salvamos:

oh-my-posh init powershell --config="" | Invoke-Expression

Após isso, toda vez que abrir ao powershell automaticamente se inicializará o Oh My Posh.

Prompt de Comando

Ainda não há suporte pronto para o Prompt de Comando quando se trata de terminais personalizados. Porém, há uma maneira de fazer isto utilizando o Clink, portanto faça o download e continue com os passos abaixo.

Agora, para integrar ao Clink, é estremamente fácil, basta você criar um arquivo chamado oh-my-posh.lua no diretorio de scripts, cujo você poderá ver qual é o seu utilizando clink info, colocar o codigo abaixo e salvar-lo.

load(io.popen('oh-my-posh init cmd --config=""'):read("*a"))()

Após isso, o seu prompt de comando já inicializará com o Oh My Posh.

🤓 Nerds Fonts

Como o Oh My Posh utiliza diversos icones unicodes, cujo não há tanto suporte do windows, recomendamos você instalar também alguma fonte das Nerds Fonts, pode ser qualquer uma fonte de sua preferencia. Depois de instalar a fonte, clica com o botão direito em seu terminal, vá em Propiedades e Fontes, e mude a fonte para qual você baixou.

🌟 Temas

Após fazer a instalação do Oh My Posh, o mesmo oferece cerca de 125 temas diferentes para você utilizar, também há a possibilidade de você criar o seu própio tema.

Caso você tenha se interessado em um tema da lista de temas, pegaremos o nome desse tema e iremos abrir o arquivo de temas em nosso explorer, localizado em %POSH_THEMES_PATH%, você pode colocar esse código em sua barra de navegação do explorer para abrir, depois disso, iremos copiar o nome do arquivo com a extensão e colocar no argumento config que utilizamos para inicializar o Oh My Posh.

Exemplo:

PowerShell

oh-my-posh init powershell --config="$env:POSH_THEMES_PATH/bubblesline.omp.json" | Invoke-Expression

ou

oh-my-posh init powershell --config="C:/Users/Posh/themes/bubblesline.omp.json" | Invoke-Expression

Prompt de Comando

No caso do Clink, você teria que colocar o caminho completo.

load(io.popen('oh-my-posh init cmd --config="C:/Users/Posh/themes/bubblesline.omp.json"'):read("*a"))()

Ao invés do diretório você pode colocar o raw do arquivo que está no github

oh-my-posh init powershell --config="https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/bubblesline.omp.json" | Invoke-Expression

ou

load(io.popen('oh-my-posh init cmd --config="https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/bubblesline.omp.json"'):read("*a"))()

😎 Resultado

Após você concluir todos os passos desse artigo, você poderá desfrutar de um incrível resultado como este:

Prompt de Comando \ PowerShell 7

Estava pensando em escrever sobre e encontrei o seu artigo, ótimo texto amigo (1 ano depois) me ajudou bastante, só a documentação deles n foi suficiente

Já conhecia o oh-my-posh,apesar de que venho usando o oh my bash, e ter passado pelo oh my fish.

Acredito que a maioria das pessoas usam o wsl com oh my zsh por outros motivos além da aparencia em si. Tirando isso, foi uma publicação bem bacana sobre o Windows e seu novo shell

Quando tento usar o comando notepad $PROFILE, o notepad informa que O sistema não pode encontrar o caminho especificado. Alguém teve algum problema semelhante?

Olhando as [instruções do site oficial](https://ohmyposh.dev/docs/installation/prompt/) para o PowerShell, tem essa intrução de utilizar esse comando, caso o comando `notepad $PROFILE` dê algum erro: ```PowerShell New-Item -Path $PROFILE -Type File -Force ``` Isso certifica que o perifil seja criado primeiro.

Ual !! Não conhecia esse terminal. Agora fiquei doido pra baixar.