The most customisable and low-latency cross platform/shell prompt renderer
Find a file
Nick Craver e27d34a1cb
feat: improved theme png rendering
* feat: improved theme png rendering

Overall this improves glyph rendering in the theme PNGs for docs.
Changes:
- Replaces VictorMono with latest Hack nerd font
- When calculating overall width, count glyphs as double wide
- When rendering a glyph, allow ~1.7x space (this seemed right testing many)

I hope this is a net improvement that helps theme renders be a bit more accurate and shine!

* move to 2x for overall width expansion

1.7 introduces some odd offset problems with some backgrounds - 2x is stable.

* Based on data from:
https://github.com/ryanoasis/nerd-fonts/wiki/Glyph-Sets-and-Code-Points
...checking those points for nerd font glyphs in play

I'm unfamiliar with Go here and maybe there's a better way to implement,
but the results are much improved.

* tweak ranges and bg position for font diff

* exclude pixelated (e0c4-e0c7) from doube-width

* simplify cyclomatic complexity

Go checks were unhappy - this isn't a hot path so breaking it out
into a format that matches the docs, for easier maintenance.

* I have no idea what I'm doing

...but I hope this works - bit simpler layout to maintain too.

* fix: add comments

Good PR feedback - adding some more commentary for anyone coming across these bits later

* typo
2021-09-18 15:37:15 +02:00
.github fix(linux): add armv7l build 2021-09-14 22:34:55 +02:00
.vscode refactor(tooltips): better invocation for pwsh 2021-06-22 08:42:35 +02:00
docs feat(az): use template for more flexibility 2021-09-18 13:21:28 +02:00
packages fix: emulate amd64 on surface pro x 2021-09-18 13:44:49 +02:00
src feat: improved theme png rendering 2021-09-18 15:37:15 +02:00
themes feat(az): use template for more flexibility 2021-09-18 13:21:28 +02:00
.all-contributorsrc feat: image background color 2021-09-17 20:34:43 +02:00
.commitlintrc.yml chore: add commitlint type config 2020-12-26 14:20:10 +01:00
.editorconfig refactor: linting checks for all platforms 2020-11-12 14:04:52 +01:00
.gitattributes refactor: linting checks for all platforms 2020-11-12 14:04:52 +01:00
.gitignore feat: export image of the current theme 2021-04-11 10:53:10 +02:00
.markdownlint.yaml chore: replace .md linter 2021-04-24 19:34:09 +02:00
.markdownlintignore chore: replace .md linter 2021-04-24 19:34:09 +02:00
.versionrc.json fix: adjust theme section for changelog 2021-03-05 17:49:47 +01:00
CONTRIBUTING.md chore: adjust contributing docs 2020-12-25 20:48:14 +01:00
COPYING feat: initial commit 2020-09-12 08:57:18 +02:00
README.md chore: mark winget as done 2021-07-01 20:27:10 +02:00

A prompt theme engine for any shell

Release Status

Release Documentation

PS Gallery GitHub Downloads

What started as the offspring of oh-my-posh2 for PowerShell resulted in a cross platform, highly customizable and extensible prompt theme engine. After 4 years of working on oh-my-posh, a modern and more efficient tool was needed to suit my personal needs.

❤ Support ❤

Patreon Liberapay Ko-Fi

Features

  • Shell independent
  • Git status indications
  • Failed command indication
  • Admin indication
  • Current session indications
  • Language info
  • Shell info
  • Configurable

Documentation

Documentation

Roadmap

  • CI
  • Github Releases
  • Create documentation for manual installation
  • Create documentation on the different segments
  • Create easy installation packages
    • Powershell
    • Brew
    • Scoop
    • Winget
  • Swap V2 with V3

Thanks

  • Chris Benti for providing the first influence to start oh-my-posh
  • Keith Dahlby for creating posh-git and making life more enjoyable
  • Robby Russel for creating oh-my-zsh, without him this would probably not be here
  • Janne Mareike Koschinski for providing information on how to get certain information using Go (and the amazing README)
  • Starship for creating an amazing way to initialize the prompt