ΠΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π½ΠΈΡ Π΅ΠΌΡΠ»Π°ΡΠΎΡ Ghostty 1.0.0 Π΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΎ GPU Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ. ΠΡΠΎΠ΅ΠΊΡΡΡ Π΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄Π΅Π½ ΠΎΡ ΠΠΈΡΡΠ΅Π» Π₯Π°ΡΠΈΠΌΠΎΡΠΎ (Mitchell Hashimoto), ΡΡΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π» Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° HashiCorp ΠΈ ΡΡΠ·Π΄Π°ΡΠ΅Π» Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΊΠ°ΡΠΎ Vagrant ΠΈ Terraform. ΠΠ²ΡΠΎΡΡΡ Π½Π° Ghostty ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π° Π΄Π° Π²Π½Π΅Π΄ΡΠΈ ΡΡΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π² Π½ΠΎΠ²ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅Π½ Π΅ΠΌΡΠ»Π°ΡΠΎΡ β Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΠΎΠ±ΡΠΈΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠΎΠ΄Π΅Π½ Π·Π° Π²ΡΡΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Zig ΠΈ Π΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ ΠΏΠΎΠ΄ MIT Π»ΠΈΡΠ΅Π½Π·. ΠΠΎΡΠΎΠ²ΠΈΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ° ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π·Π° Linux ΠΈ macOS.
ΠΠ° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² ΡΠ±ΠΎΡΠΊΠΈΡΠ΅ Π·Π° Linux Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° GTK, Π° Π·Π° macOS β ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΡΡ SwiftUI, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ Π·Π° Π²ΡΡΠΊΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄ΠΈΠ°Π»ΠΎΠ·ΠΈ, ΠΌΠ΅Π½ΡΡΠ°, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅. ΠΠ° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π² Linux ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡΡ API OpenGL, Π° Π² macOS β Metal. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΡΡΡΠΎ Π΅ ΠΏΠΎΠ²ΠΈΡΠ΅Π½Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΡΠΎΠΊ Π·Π° Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄.
Π ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅ Ghostty ΡΠ΅ ΠΎΠΊΠ°Π·Π° 4 ΠΏΡΡΠΈ ΠΏΠΎ-Π±ΡΡΠ· ΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠΈ iTerm ΠΈ Kitty ΠΈ 2 ΠΏΡΡΠΈ ΠΏΠΎ-Π±ΡΡΠ· ΠΎΡ Terminal.app, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π³ΠΎΠ»ΡΠΌ ΡΠ°ΠΉΠ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«cat big_file.txtΒ». ΠΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Alacritty ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Ghostty Π±Π΅ΡΠ΅ Π½Π° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡΠΎΡΠΎ Π½ΠΈΠ²ΠΎ, Π½ΠΎ Alacritty ΠΈΠ·ΠΎΡΡΠ°Π²Π° ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΎΡ Ghostty.
Π ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ emoji, Ρ ΠΈΠΏΠ΅ΡΠ²ΡΡΠ·ΠΊΠΈ, ΡΠ»ΠΎΠΆΠ½ΠΈ Π³ΡΠ°ΡΠ΅ΠΌΠΈ ΠΈ Π»ΠΈΠ³Π°ΡΡΡΠΈ (ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² Π΅Π΄ΠΈΠ½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, «æ»). ΠΠ° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΡΡ Kitty. ΠΠ° Π²Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° Ghostty Π² Π΄ΡΡΠ³ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libghostty, ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° C ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° Π±ΡΡΠ·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π½ΠΈΡ Π΅ΠΌΡΠ»Π°ΡΠΎΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ Π½ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΡΠΌΠ½ΠΈ ΠΈ ΡΠ²Π΅ΡΠ»ΠΈ ΡΠ΅ΠΌΠΈ, ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅ Π·Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΡΠΈΠΈ, ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠΈΠΈΡΠ΅ ΡΡΠ΅Π· ΡΠ°Π±ΠΎΠ²Π΅. Π’Π΅ΡΠΌΠΈΠ½Π°Π»ΡΡ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ° ECMA-4, Π½ΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ escape ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π½ΠΈΡΠ΅ Π² xterm.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
