JanDeDobbeleer/oh-my-posh2 là một trong những repo tập trung thiết kế mà TopGit theo dõi, hiện có 5.2k sao, viết chủ yếu bằng PowerShell. A prompt theming engine for Powershell
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
It's been an amazing ride for Oh myPosh, but the time has come to step it up a notch.
Developers nowadays no longer stick to one shell/language, they are all tools we use to solve a certain problem.
The same needs to apply to Oh my Posh. It's time to adjust to that philosophy.
That's why this version of Oh my Posh is entering maintenance mode while I'm working hard on getting V3 out of the door.
Given that V3 is entirely different under the hood, it's hosted separately for now.
From a user perspective, it should give the same experience out-of-the-box, with the added advantage
that custom themes are a first class, no code citizen.
Documentation is also available which should give a better experience than this README has over the past few years :-)
If you're a developer looking to add functionality, please have a look at V3 to see if it already exists there.
If not, feel free to create an issue or PR on V3, I will only be accepting bug fixes on V2 from now on.
Table of Contents
About
Prerequisites
Installation
Configuration
Helper functions
Themes
About
A theme engine for Powershell inspired by the work done by Chris Benti on PS-Config and Oh-My-ZSH on OSX and Linux (hence the name).
More information about why I made this can be found on my blog.
Features:
Easy installation
Awesome prompt themes for PowerShell in ConEmu
Git status indications (powered by posh-git)
Failed command indication
Admin indication
Current session indications (admin, failed command, user)
Configurable
Easily create your own theme
Separate settings for oh-my-posh and posh-git
Does not mess with the default Powershell console
Prerequisites
You should use a modern console host like ConEmu, Alacritty, Terminus, Hyper, FluentTerminal, or the official Windows Terminal to have a great terminal experience on Windows.
There are multiple ways to acquire Windows Terminal - from the Microsoft Store, the GitHub repo, or the below commandline methods:
Via WinGet (official package manager for Windows):
winget install --id=Microsoft.WindowsTerminal -e
Via Chocolatey:
choco install microsoft-windows-terminal
Via Scoop:
scoop install windows-terminal
The fonts I use are Powerline fonts, there is a great repository containing them.
I use Meslo LG M Regular for Powerline Nerd Font in my ConEmu setup together with custom colors. You can find my theme here.
In case you notice weird glyphs after installing a font of choice, make sure the glyphs are available (maybe they have a different location in the font, if so, adjust the correct $ThemeSettings icon). If it turns out the character you want is not supported, select a different font.
Installation
You need to use the PowerShell Gallery to install oh-my-posh.
Also do not forget the Posh-Git settings itself (enable the stash indication for example):
$GitPromptSettings
Hide your username@domain when not in a virtual machine for the Agnoster, Fish, Honukai, Paradox and Sorin themes:
$DefaultUser = 'yourUsernameHere'
Helper functions
Set-Theme: set a theme from the Themes directory. If no match is found, it will not be changed. Autocomplete is available to list and complete available themes.
Set-Theme paradox
Show-ThemeColors: display the colors used by the theme
Show-Colors: display colors configured in ConEmu
Themes
Agnoster
Paradox
Sorin
Darkblood
Avit
Honukai
Fish
Robbyrussell
Pararussel
Material
Star
Zash
Lambda
Emodipt
Operator
Creating your own theme
If you want to create a theme it can be done rather easily by adding a mytheme.psm1 file in the folder indicated in $ThemeSettings.MyThemesLocation (the folder defaults to ~\Documents\WindowsPowerShell\PoshThemes, feel free to change it).
The only required function is Write-Theme. You can use the following template to get started:
#requires -Version 2 -Modules posh-git
function Write-Theme
{
param(
[bool]
$lastCommandFailed,
[string]
$with
)
# enter your prompt building logic here
}
$sl = $global:ThemeSettings #local settings
Feel free to use the public helper functions Get-VCSStatus, Get-VcsInfo, Get-FormattedRootLocation, Get-ShortPath, Set-CursorForRightBlockWrite, Set-CursorUp, Set-Newline or add your own logic completely.
To test the output in ConEmu, just switch to your theme:
Set-Theme mytheme
If you want to include your theme in oh-my-posh, send me a PR and I'll try to give feedback ASAP.
Happy theming!
Adding stack count to a custom theme
As it seems getting access to the stack information when using pushd/popd is sort of mission impossible from within a theme, you can use a workaround proposed by Jonathan Leech-Pepin. In your $PROFILE, add a variable that will act as a correctly scoped pointer to fetch the stack context:
$getStackContext = {Get-Location -Stack}
Next, in your custom theme, access the information you want to display:
$stackCount = (&$getStackContext).count
iTerm2 is creating notifications every time
This is caused by the ConsoleTitle functionality.
As explained by Andrew Stanton-Nurse it's linked to how terminals work with OSC codes.
The fix is to disable the ConsoleTitle functionality when in iTerm2 by adding the following snippet to your $PROFILE.
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/JanDeDobbeleer/oh-my-posh2 là nguồn chính thức.
JanDeDobbeleer/oh-my-posh2 có bao nhiêu sao?
JanDeDobbeleer/oh-my-posh2 có 5.2k sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/JanDeDobbeleer/oh-my-posh2. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
JanDeDobbeleer/oh-my-posh2 có phải mã nguồn mở không?
Có — JanDeDobbeleer/oh-my-posh2 phát hành theo license MIT, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/JanDeDobbeleer/oh-my-posh2.
JanDeDobbeleer/oh-my-posh2 còn đang phát triển không?
Commit gần nhất trên JanDeDobbeleer/oh-my-posh2 là 5.5 năm trước (theo timestamp GitHub). Repo có 278 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
JanDeDobbeleer/oh-my-posh2 là gì?
JanDeDobbeleer/oh-my-posh2 (JanDeDobbeleer/oh-my-posh2) là dự án PowerShell trên GitHub. Theo mô tả gốc: A prompt theming engine for Powershell
JanDeDobbeleer/oh-my-posh2 so với các dự án UI / UX khác thế nào?
JanDeDobbeleer/oh-my-posh2 được TopGit xếp vào nhóm UI / UX, với 5.2k sao GitHub và viết bằng PowerShell. Xem trang chủ đề UI / UX trên TopGit để so sánh với các dự án tương tự theo số sao và mức độ hoạt động.
Đọc đầy đủ README ở tab phía trên.
Muốn nghe thêm một ý kiến về oh-my-posh2?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về oh-my-posh2.