SM 1 yıl önce
işleme
9683e8c9e9
100 değiştirilmiş dosya ile 3851 ekleme ve 0 silme
  1. 7 0
      deps.txt
  2. BIN
      zig-out/bin/ghostty
  3. 22 0
      zig-out/share/applications/com.mitchellh.ghostty.desktop
  4. 505 0
      zig-out/share/bash-completion/completions/ghostty.bash
  5. 15 0
      zig-out/share/bat/syntaxes/ghostty.sublime-syntax
  6. 180 0
      zig-out/share/fish/vendor_completions.d/ghostty.fish
  7. 382 0
      zig-out/share/ghostty/shell-integration/bash/bash-preexec.sh
  8. 174 0
      zig-out/share/ghostty/shell-integration/bash/ghostty.bash
  9. 124 0
      zig-out/share/ghostty/shell-integration/elvish/lib/ghostty-integration.elv
  10. 130 0
      zig-out/share/ghostty/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish
  11. 60 0
      zig-out/share/ghostty/shell-integration/zsh/.zshenv
  12. 316 0
      zig-out/share/ghostty/shell-integration/zsh/ghostty-integration
  13. 22 0
      zig-out/share/ghostty/themes/0x96f
  14. 22 0
      zig-out/share/ghostty/themes/3024 Day
  15. 22 0
      zig-out/share/ghostty/themes/3024 Night
  16. 22 0
      zig-out/share/ghostty/themes/Aardvark Blue
  17. 22 0
      zig-out/share/ghostty/themes/Abernathy
  18. 22 0
      zig-out/share/ghostty/themes/Adventure
  19. 22 0
      zig-out/share/ghostty/themes/AdventureTime
  20. 22 0
      zig-out/share/ghostty/themes/Adwaita
  21. 22 0
      zig-out/share/ghostty/themes/Adwaita Dark
  22. 22 0
      zig-out/share/ghostty/themes/Afterglow
  23. 22 0
      zig-out/share/ghostty/themes/Alabaster
  24. 22 0
      zig-out/share/ghostty/themes/AlienBlood
  25. 22 0
      zig-out/share/ghostty/themes/Andromeda
  26. 22 0
      zig-out/share/ghostty/themes/Apple Classic
  27. 22 0
      zig-out/share/ghostty/themes/Apple System Colors
  28. 22 0
      zig-out/share/ghostty/themes/Apple System Colors Light
  29. 22 0
      zig-out/share/ghostty/themes/Ardoise
  30. 22 0
      zig-out/share/ghostty/themes/Argonaut
  31. 22 0
      zig-out/share/ghostty/themes/Arthur
  32. 22 0
      zig-out/share/ghostty/themes/AtelierSulphurpool
  33. 22 0
      zig-out/share/ghostty/themes/Atom
  34. 22 0
      zig-out/share/ghostty/themes/AtomOneDark
  35. 22 0
      zig-out/share/ghostty/themes/AtomOneLight
  36. 22 0
      zig-out/share/ghostty/themes/Aura
  37. 22 0
      zig-out/share/ghostty/themes/Aurora
  38. 22 0
      zig-out/share/ghostty/themes/Ayu Mirage
  39. 22 0
      zig-out/share/ghostty/themes/Banana Blueberry
  40. 22 0
      zig-out/share/ghostty/themes/Batman
  41. 22 0
      zig-out/share/ghostty/themes/Belafonte Day
  42. 22 0
      zig-out/share/ghostty/themes/Belafonte Night
  43. 22 0
      zig-out/share/ghostty/themes/BirdsOfParadise
  44. 22 0
      zig-out/share/ghostty/themes/Black Metal
  45. 22 0
      zig-out/share/ghostty/themes/Black Metal (Bathory)
  46. 22 0
      zig-out/share/ghostty/themes/Black Metal (Burzum)
  47. 22 0
      zig-out/share/ghostty/themes/Black Metal (Dark Funeral)
  48. 22 0
      zig-out/share/ghostty/themes/Black Metal (Gorgoroth)
  49. 22 0
      zig-out/share/ghostty/themes/Black Metal (Immortal)
  50. 22 0
      zig-out/share/ghostty/themes/Black Metal (Khold)
  51. 22 0
      zig-out/share/ghostty/themes/Black Metal (Marduk)
  52. 22 0
      zig-out/share/ghostty/themes/Black Metal (Mayhem)
  53. 22 0
      zig-out/share/ghostty/themes/Black Metal (Nile)
  54. 22 0
      zig-out/share/ghostty/themes/Black Metal (Venom)
  55. 22 0
      zig-out/share/ghostty/themes/Blazer
  56. 22 0
      zig-out/share/ghostty/themes/Blue Matrix
  57. 22 0
      zig-out/share/ghostty/themes/BlueBerryPie
  58. 22 0
      zig-out/share/ghostty/themes/BlueDolphin
  59. 22 0
      zig-out/share/ghostty/themes/BlulocoDark
  60. 22 0
      zig-out/share/ghostty/themes/BlulocoLight
  61. 22 0
      zig-out/share/ghostty/themes/Borland
  62. 22 0
      zig-out/share/ghostty/themes/Box
  63. 22 0
      zig-out/share/ghostty/themes/Breeze
  64. 22 0
      zig-out/share/ghostty/themes/Bright Lights
  65. 22 0
      zig-out/share/ghostty/themes/Broadcast
  66. 22 0
      zig-out/share/ghostty/themes/Brogrammer
  67. 22 0
      zig-out/share/ghostty/themes/Builtin Dark
  68. 22 0
      zig-out/share/ghostty/themes/Builtin Light
  69. 22 0
      zig-out/share/ghostty/themes/Builtin Pastel Dark
  70. 22 0
      zig-out/share/ghostty/themes/Builtin Solarized Dark
  71. 22 0
      zig-out/share/ghostty/themes/Builtin Solarized Light
  72. 22 0
      zig-out/share/ghostty/themes/Builtin Tango Dark
  73. 22 0
      zig-out/share/ghostty/themes/Builtin Tango Light
  74. 22 0
      zig-out/share/ghostty/themes/C64
  75. 22 0
      zig-out/share/ghostty/themes/CGA
  76. 22 0
      zig-out/share/ghostty/themes/CLRS
  77. 22 0
      zig-out/share/ghostty/themes/Calamity
  78. 22 0
      zig-out/share/ghostty/themes/Chalk
  79. 22 0
      zig-out/share/ghostty/themes/Chalkboard
  80. 22 0
      zig-out/share/ghostty/themes/ChallengerDeep
  81. 22 0
      zig-out/share/ghostty/themes/Chester
  82. 22 0
      zig-out/share/ghostty/themes/Ciapre
  83. 22 0
      zig-out/share/ghostty/themes/Cobalt Neon
  84. 22 0
      zig-out/share/ghostty/themes/Cobalt2
  85. 22 0
      zig-out/share/ghostty/themes/CobaltNext
  86. 22 0
      zig-out/share/ghostty/themes/CobaltNext-Dark
  87. 22 0
      zig-out/share/ghostty/themes/CobaltNext-Minimal
  88. 22 0
      zig-out/share/ghostty/themes/CrayonPonyFish
  89. 22 0
      zig-out/share/ghostty/themes/CutiePro
  90. 22 0
      zig-out/share/ghostty/themes/Cyberdyne
  91. 22 0
      zig-out/share/ghostty/themes/CyberpunkScarletProtocol
  92. 22 0
      zig-out/share/ghostty/themes/Dark Modern
  93. 22 0
      zig-out/share/ghostty/themes/Dark Pastel
  94. 22 0
      zig-out/share/ghostty/themes/Dark+
  95. 22 0
      zig-out/share/ghostty/themes/Darkside
  96. 22 0
      zig-out/share/ghostty/themes/Desert
  97. 22 0
      zig-out/share/ghostty/themes/Dimidium
  98. 22 0
      zig-out/share/ghostty/themes/DimmedMonokai
  99. 22 0
      zig-out/share/ghostty/themes/Django
  100. 22 0
      zig-out/share/ghostty/themes/DjangoRebornAgain

+ 7 - 0
deps.txt

@@ -0,0 +1,7 @@
+gtk4
+libadwaita (unless using -Dgtk-adwaita=false)
+blueprint-compiler
+pkg-config
+gettext
+
+https://ghostty.org/docs/install/build

BIN
zig-out/bin/ghostty


+ 22 - 0
zig-out/share/applications/com.mitchellh.ghostty.desktop

@@ -0,0 +1,22 @@
+[Desktop Entry]
+Name=Ghostty
+Type=Application
+Comment=A terminal emulator
+Exec=ghostty
+Icon=com.mitchellh.ghostty
+Categories=System;TerminalEmulator;
+Keywords=terminal;tty;pty;
+StartupNotify=true
+StartupWMClass=com.mitchellh.ghostty
+Terminal=false
+Actions=new-window;
+X-GNOME-UsesNotifications=true
+X-TerminalArgExec=-e
+X-TerminalArgTitle=--title=
+X-TerminalArgAppId=--class=
+X-TerminalArgDir=--working-directory=
+X-TerminalArgHold=--wait-after-command
+
+[Desktop Action new-window]
+Name=New Window
+Exec=ghostty

+ 505 - 0
zig-out/share/bash-completion/completions/ghostty.bash

@@ -0,0 +1,505 @@
+_ghostty() {
+
+  # -o nospace requires we add back a space when a completion is finished
+  # and not part of a --key= completion
+  _add_spaces() {
+    for idx in "${!COMPREPLY[@]}"; do
+      [ -n "${COMPREPLY[idx]}" ] && COMPREPLY[idx]="${COMPREPLY[idx]} ";
+    done
+  }
+
+  _fonts() {
+    local IFS=$'\n'
+    mapfile -t COMPREPLY < <( compgen -P '"' -S '"' -W "$($ghostty +list-fonts | grep '^[A-Z]' )" -- "$cur")
+  }
+
+  _themes() {
+    local IFS=$'\n'
+    mapfile -t COMPREPLY < <( compgen -P '"' -S '"' -W "$($ghostty +list-themes | sed -E 's/^(.*) \(.*$/\1/')" -- "$cur")
+  }
+
+  _files() {
+    mapfile -t COMPREPLY < <( compgen -o filenames -f -- "$cur" )
+    for i in "${!COMPREPLY[@]}"; do
+      if [[ -d "${COMPREPLY[i]}" ]]; then
+        COMPREPLY[i]="${COMPREPLY[i]}/";
+      fi
+      if [[ -f "${COMPREPLY[i]}" ]]; then
+        COMPREPLY[i]="${COMPREPLY[i]} ";
+      fi
+    done
+  }
+
+  _dirs() {
+    mapfile -t COMPREPLY < <( compgen -o dirnames -d -- "$cur" )
+    for i in "${!COMPREPLY[@]}"; do
+      if [[ -d "${COMPREPLY[i]}" ]]; then
+        COMPREPLY[i]="${COMPREPLY[i]}/";
+      fi
+    done
+    if [[ "${#COMPREPLY[@]}" == 0 && -d "$cur" ]]; then
+      COMPREPLY=( "$cur " )
+    fi
+  }
+
+  _handle_config() {
+    local config="--help"
+    config+=" --version"
+    config+=" --font-family="
+    config+=" --font-family-bold="
+    config+=" --font-family-italic="
+    config+=" --font-family-bold-italic="
+    config+=" --font-style="
+    config+=" --font-style-bold="
+    config+=" --font-style-italic="
+    config+=" --font-style-bold-italic="
+    config+=" --font-synthetic-style="
+    config+=" --font-feature="
+    config+=" --font-size="
+    config+=" --font-variation="
+    config+=" --font-variation-bold="
+    config+=" --font-variation-italic="
+    config+=" --font-variation-bold-italic="
+    config+=" --font-codepoint-map="
+    config+=" '--font-thicken '"
+    config+=" --font-thicken-strength="
+    config+=" --alpha-blending="
+    config+=" --adjust-cell-width="
+    config+=" --adjust-cell-height="
+    config+=" --adjust-font-baseline="
+    config+=" --adjust-underline-position="
+    config+=" --adjust-underline-thickness="
+    config+=" --adjust-strikethrough-position="
+    config+=" --adjust-strikethrough-thickness="
+    config+=" --adjust-overline-position="
+    config+=" --adjust-overline-thickness="
+    config+=" --adjust-cursor-thickness="
+    config+=" --adjust-cursor-height="
+    config+=" --adjust-box-thickness="
+    config+=" --grapheme-width-method="
+    config+=" --freetype-load-flags="
+    config+=" --theme="
+    config+=" --background="
+    config+=" --foreground="
+    config+=" --selection-foreground="
+    config+=" --selection-background="
+    config+=" '--selection-invert-fg-bg '"
+    config+=" --minimum-contrast="
+    config+=" --palette="
+    config+=" --cursor-color="
+    config+=" '--cursor-invert-fg-bg '"
+    config+=" --cursor-opacity="
+    config+=" --cursor-style="
+    config+=" '--cursor-style-blink '"
+    config+=" --cursor-text="
+    config+=" '--cursor-click-to-move '"
+    config+=" '--mouse-hide-while-typing '"
+    config+=" --mouse-shift-capture="
+    config+=" --mouse-scroll-multiplier="
+    config+=" --background-opacity="
+    config+=" --background-blur="
+    config+=" --unfocused-split-opacity="
+    config+=" --unfocused-split-fill="
+    config+=" --split-divider-color="
+    config+=" --command="
+    config+=" --initial-command="
+    config+=" --env="
+    config+=" '--wait-after-command '"
+    config+=" --abnormal-command-exit-runtime="
+    config+=" --scrollback-limit="
+    config+=" --link="
+    config+=" '--link-url '"
+    config+=" '--maximize '"
+    config+=" '--fullscreen '"
+    config+=" --title="
+    config+=" --class="
+    config+=" --x11-instance-name="
+    config+=" --working-directory="
+    config+=" --keybind="
+    config+=" --window-padding-x="
+    config+=" --window-padding-y="
+    config+=" '--window-padding-balance '"
+    config+=" --window-padding-color="
+    config+=" '--window-vsync '"
+    config+=" '--window-inherit-working-directory '"
+    config+=" '--window-inherit-font-size '"
+    config+=" --window-decoration="
+    config+=" --window-title-font-family="
+    config+=" --window-subtitle="
+    config+=" --window-theme="
+    config+=" --window-colorspace="
+    config+=" --window-height="
+    config+=" --window-width="
+    config+=" --window-position-x="
+    config+=" --window-position-y="
+    config+=" --window-save-state="
+    config+=" '--window-step-resize '"
+    config+=" --window-new-tab-position="
+    config+=" --window-titlebar-background="
+    config+=" --window-titlebar-foreground="
+    config+=" --resize-overlay="
+    config+=" --resize-overlay-position="
+    config+=" --resize-overlay-duration="
+    config+=" '--focus-follows-mouse '"
+    config+=" --clipboard-read="
+    config+=" --clipboard-write="
+    config+=" '--clipboard-trim-trailing-spaces '"
+    config+=" '--clipboard-paste-protection '"
+    config+=" '--clipboard-paste-bracketed-safe '"
+    config+=" '--title-report '"
+    config+=" --image-storage-limit="
+    config+=" --copy-on-select="
+    config+=" --click-repeat-interval="
+    config+=" --config-file="
+    config+=" '--config-default-files '"
+    config+=" --confirm-close-surface="
+    config+=" '--quit-after-last-window-closed '"
+    config+=" --quit-after-last-window-closed-delay="
+    config+=" '--initial-window '"
+    config+=" --quick-terminal-position="
+    config+=" --quick-terminal-size="
+    config+=" --quick-terminal-screen="
+    config+=" --quick-terminal-animation-duration="
+    config+=" '--quick-terminal-autohide '"
+    config+=" --quick-terminal-space-behavior="
+    config+=" --shell-integration="
+    config+=" --shell-integration-features="
+    config+=" --osc-color-report-format="
+    config+=" '--vt-kam-allowed '"
+    config+=" --custom-shader="
+    config+=" --custom-shader-animation="
+    config+=" --bell-features="
+    config+=" --app-notifications="
+    config+=" --macos-non-native-fullscreen="
+    config+=" --macos-titlebar-style="
+    config+=" --macos-titlebar-proxy-icon="
+    config+=" --macos-option-as-alt="
+    config+=" '--macos-window-shadow '"
+    config+=" --macos-hidden="
+    config+=" '--macos-auto-secure-input '"
+    config+=" '--macos-secure-input-indication '"
+    config+=" --macos-icon="
+    config+=" --macos-icon-frame="
+    config+=" --macos-icon-ghost-color="
+    config+=" --macos-icon-screen-color="
+    config+=" --linux-cgroup="
+    config+=" --linux-cgroup-memory-limit="
+    config+=" --linux-cgroup-processes-limit="
+    config+=" '--linux-cgroup-hard-fail '"
+    config+=" '--gtk-opengl-debug '"
+    config+=" --gtk-single-instance="
+    config+=" '--gtk-titlebar '"
+    config+=" --gtk-tabs-location="
+    config+=" '--gtk-titlebar-hide-when-maximized '"
+    config+=" --gtk-toolbar-style="
+    config+=" '--gtk-wide-tabs '"
+    config+=" --gtk-custom-css="
+    config+=" '--desktop-notifications '"
+    config+=" '--bold-is-bright '"
+    config+=" --term="
+    config+=" --enquiry-response="
+    config+=" --async-backend="
+    config+=" --auto-update="
+    config+=" --auto-update-channel="
+
+    case "$prev" in
+      --font-family) _fonts ;;
+      --font-family-bold) _fonts ;;
+      --font-family-italic) _fonts ;;
+      --font-family-bold-italic) _fonts ;;
+      --font-style) return ;;
+      --font-style-bold) return ;;
+      --font-style-italic) return ;;
+      --font-style-bold-italic) return ;;
+      --font-synthetic-style) mapfile -t COMPREPLY < <( compgen -W "bold no-bold italic no-italic bold-italic no-bold-italic" -- "$cur" ); _add_spaces ;;
+      --font-feature) return ;;
+      --font-size) return ;;
+      --font-variation) return ;;
+      --font-variation-bold) return ;;
+      --font-variation-italic) return ;;
+      --font-variation-bold-italic) return ;;
+      --font-codepoint-map) return ;;
+      --font-thicken) return ;;
+      --font-thicken-strength) return ;;
+      --alpha-blending) mapfile -t COMPREPLY < <( compgen -W "native linear linear-corrected" -- "$cur" ); _add_spaces ;;
+      --adjust-cell-width) return ;;
+      --adjust-cell-height) return ;;
+      --adjust-font-baseline) return ;;
+      --adjust-underline-position) return ;;
+      --adjust-underline-thickness) return ;;
+      --adjust-strikethrough-position) return ;;
+      --adjust-strikethrough-thickness) return ;;
+      --adjust-overline-position) return ;;
+      --adjust-overline-thickness) return ;;
+      --adjust-cursor-thickness) return ;;
+      --adjust-cursor-height) return ;;
+      --adjust-box-thickness) return ;;
+      --grapheme-width-method) mapfile -t COMPREPLY < <( compgen -W "legacy unicode" -- "$cur" ); _add_spaces ;;
+      --freetype-load-flags) mapfile -t COMPREPLY < <( compgen -W "hinting no-hinting force-autohint no-force-autohint monochrome no-monochrome autohint no-autohint" -- "$cur" ); _add_spaces ;;
+      --theme) _themes ;;
+      --background) return ;;
+      --foreground) return ;;
+      --selection-foreground) return ;;
+      --selection-background) return ;;
+      --selection-invert-fg-bg) return ;;
+      --minimum-contrast) return ;;
+      --palette) return ;;
+      --cursor-color) return ;;
+      --cursor-invert-fg-bg) return ;;
+      --cursor-opacity) return ;;
+      --cursor-style) mapfile -t COMPREPLY < <( compgen -W "bar block underline block_hollow" -- "$cur" ); _add_spaces ;;
+      --cursor-style-blink) return ;;
+      --cursor-text) return ;;
+      --cursor-click-to-move) return ;;
+      --mouse-hide-while-typing) return ;;
+      --mouse-shift-capture) mapfile -t COMPREPLY < <( compgen -W "false true always never" -- "$cur" ); _add_spaces ;;
+      --mouse-scroll-multiplier) return ;;
+      --background-opacity) return ;;
+      --background-blur) return ;;
+      --unfocused-split-opacity) return ;;
+      --unfocused-split-fill) return ;;
+      --split-divider-color) return ;;
+      --command) return ;;
+      --initial-command) return ;;
+      --env) return ;;
+      --wait-after-command) return ;;
+      --abnormal-command-exit-runtime) return ;;
+      --scrollback-limit) return ;;
+      --link) return ;;
+      --link-url) return ;;
+      --maximize) return ;;
+      --fullscreen) return ;;
+      --title) return ;;
+      --class) return ;;
+      --x11-instance-name) return ;;
+      --working-directory) _dirs ;;
+      --keybind) return ;;
+      --window-padding-x) return ;;
+      --window-padding-y) return ;;
+      --window-padding-balance) return ;;
+      --window-padding-color) mapfile -t COMPREPLY < <( compgen -W "background extend extend-always" -- "$cur" ); _add_spaces ;;
+      --window-vsync) return ;;
+      --window-inherit-working-directory) return ;;
+      --window-inherit-font-size) return ;;
+      --window-decoration) mapfile -t COMPREPLY < <( compgen -W "auto client server none" -- "$cur" ); _add_spaces ;;
+      --window-title-font-family) return ;;
+      --window-subtitle) mapfile -t COMPREPLY < <( compgen -W "false working-directory" -- "$cur" ); _add_spaces ;;
+      --window-theme) mapfile -t COMPREPLY < <( compgen -W "auto system light dark ghostty" -- "$cur" ); _add_spaces ;;
+      --window-colorspace) mapfile -t COMPREPLY < <( compgen -W "srgb display-p3" -- "$cur" ); _add_spaces ;;
+      --window-height) return ;;
+      --window-width) return ;;
+      --window-position-x) return ;;
+      --window-position-y) return ;;
+      --window-save-state) mapfile -t COMPREPLY < <( compgen -W "default never always" -- "$cur" ); _add_spaces ;;
+      --window-step-resize) return ;;
+      --window-new-tab-position) mapfile -t COMPREPLY < <( compgen -W "current end" -- "$cur" ); _add_spaces ;;
+      --window-titlebar-background) return ;;
+      --window-titlebar-foreground) return ;;
+      --resize-overlay) mapfile -t COMPREPLY < <( compgen -W "always never after-first" -- "$cur" ); _add_spaces ;;
+      --resize-overlay-position) mapfile -t COMPREPLY < <( compgen -W "center top-left top-center top-right bottom-left bottom-center bottom-right" -- "$cur" ); _add_spaces ;;
+      --resize-overlay-duration) return ;;
+      --focus-follows-mouse) return ;;
+      --clipboard-read) mapfile -t COMPREPLY < <( compgen -W "allow deny ask" -- "$cur" ); _add_spaces ;;
+      --clipboard-write) mapfile -t COMPREPLY < <( compgen -W "allow deny ask" -- "$cur" ); _add_spaces ;;
+      --clipboard-trim-trailing-spaces) return ;;
+      --clipboard-paste-protection) return ;;
+      --clipboard-paste-bracketed-safe) return ;;
+      --title-report) return ;;
+      --image-storage-limit) return ;;
+      --copy-on-select) mapfile -t COMPREPLY < <( compgen -W "false true clipboard" -- "$cur" ); _add_spaces ;;
+      --click-repeat-interval) return ;;
+      --config-file) _files ;;
+      --config-default-files) return ;;
+      --confirm-close-surface) mapfile -t COMPREPLY < <( compgen -W "false true always" -- "$cur" ); _add_spaces ;;
+      --quit-after-last-window-closed) return ;;
+      --quit-after-last-window-closed-delay) return ;;
+      --initial-window) return ;;
+      --quick-terminal-position) mapfile -t COMPREPLY < <( compgen -W "top bottom left right center" -- "$cur" ); _add_spaces ;;
+      --quick-terminal-size) return ;;
+      --quick-terminal-screen) mapfile -t COMPREPLY < <( compgen -W "main mouse macos-menu-bar" -- "$cur" ); _add_spaces ;;
+      --quick-terminal-animation-duration) return ;;
+      --quick-terminal-autohide) return ;;
+      --quick-terminal-space-behavior) mapfile -t COMPREPLY < <( compgen -W "remain move" -- "$cur" ); _add_spaces ;;
+      --shell-integration) mapfile -t COMPREPLY < <( compgen -W "none detect bash elvish fish zsh" -- "$cur" ); _add_spaces ;;
+      --shell-integration-features) mapfile -t COMPREPLY < <( compgen -W "cursor no-cursor sudo no-sudo title no-title" -- "$cur" ); _add_spaces ;;
+      --osc-color-report-format) mapfile -t COMPREPLY < <( compgen -W "none 8-bit 16-bit" -- "$cur" ); _add_spaces ;;
+      --vt-kam-allowed) return ;;
+      --custom-shader) _files ;;
+      --custom-shader-animation) mapfile -t COMPREPLY < <( compgen -W "false true always" -- "$cur" ); _add_spaces ;;
+      --bell-features) mapfile -t COMPREPLY < <( compgen -W "system no-system" -- "$cur" ); _add_spaces ;;
+      --app-notifications) mapfile -t COMPREPLY < <( compgen -W "clipboard-copy no-clipboard-copy" -- "$cur" ); _add_spaces ;;
+      --macos-non-native-fullscreen) mapfile -t COMPREPLY < <( compgen -W "false true visible-menu padded-notch" -- "$cur" ); _add_spaces ;;
+      --macos-titlebar-style) mapfile -t COMPREPLY < <( compgen -W "native transparent tabs hidden" -- "$cur" ); _add_spaces ;;
+      --macos-titlebar-proxy-icon) mapfile -t COMPREPLY < <( compgen -W "visible hidden" -- "$cur" ); _add_spaces ;;
+      --macos-option-as-alt) return ;;
+      --macos-window-shadow) return ;;
+      --macos-hidden) mapfile -t COMPREPLY < <( compgen -W "never always" -- "$cur" ); _add_spaces ;;
+      --macos-auto-secure-input) return ;;
+      --macos-secure-input-indication) return ;;
+      --macos-icon) mapfile -t COMPREPLY < <( compgen -W "official blueprint chalkboard microchip glass holographic paper retro xray custom-style" -- "$cur" ); _add_spaces ;;
+      --macos-icon-frame) mapfile -t COMPREPLY < <( compgen -W "aluminum beige plastic chrome" -- "$cur" ); _add_spaces ;;
+      --macos-icon-ghost-color) return ;;
+      --macos-icon-screen-color) return ;;
+      --linux-cgroup) mapfile -t COMPREPLY < <( compgen -W "never always single-instance" -- "$cur" ); _add_spaces ;;
+      --linux-cgroup-memory-limit) return ;;
+      --linux-cgroup-processes-limit) return ;;
+      --linux-cgroup-hard-fail) return ;;
+      --gtk-opengl-debug) return ;;
+      --gtk-single-instance) mapfile -t COMPREPLY < <( compgen -W "desktop false true" -- "$cur" ); _add_spaces ;;
+      --gtk-titlebar) return ;;
+      --gtk-tabs-location) mapfile -t COMPREPLY < <( compgen -W "top bottom hidden" -- "$cur" ); _add_spaces ;;
+      --gtk-titlebar-hide-when-maximized) return ;;
+      --gtk-toolbar-style) mapfile -t COMPREPLY < <( compgen -W "flat raised raised-border" -- "$cur" ); _add_spaces ;;
+      --gtk-wide-tabs) return ;;
+      --gtk-custom-css) _files ;;
+      --desktop-notifications) return ;;
+      --bold-is-bright) return ;;
+      --term) return ;;
+      --enquiry-response) return ;;
+      --async-backend) mapfile -t COMPREPLY < <( compgen -W "auto epoll io_uring" -- "$cur" ); _add_spaces ;;
+      --auto-update) return ;;
+      --auto-update-channel) return ;;
+      *) mapfile -t COMPREPLY < <( compgen -W "$config" -- "$cur" ) ;;
+    esac
+
+    return 0
+  }
+
+  _handle_actions() {
+    local list_fonts="--family= --style= '--bold ' '--italic ' --help"
+    local list_keybinds="'--default ' '--docs ' '--plain ' --help"
+    local list_themes="'--path ' '--plain ' --color= --help"
+    local list_actions="'--docs ' --help"
+    local show_config="'--default ' '--changes-only ' '--docs ' --help"
+    local validate_config="--config-file= --help"
+    local show_face="--cp= --string= --style= --presentation= --help"
+
+    case "${COMP_WORDS[1]}" in
+      +list-fonts)
+        case $prev in
+          --family) return;;
+          --style) return;;
+          --bold) return ;;
+          --italic) return ;;
+          *) mapfile -t COMPREPLY < <( compgen -W "$list_fonts" -- "$cur" ) ;;
+        esac
+      ;;
+      +list-keybinds)
+        case $prev in
+          --default) return ;;
+          --docs) return ;;
+          --plain) return ;;
+          *) mapfile -t COMPREPLY < <( compgen -W "$list_keybinds" -- "$cur" ) ;;
+        esac
+      ;;
+      +list-themes)
+        case $prev in
+          --path) return ;;
+          --plain) return ;;
+          --color) mapfile -t COMPREPLY < <( compgen -W "all dark light" -- "$cur" ); _add_spaces ;;
+          *) mapfile -t COMPREPLY < <( compgen -W "$list_themes" -- "$cur" ) ;;
+        esac
+      ;;
+      +list-actions)
+        case $prev in
+          --docs) return ;;
+          *) mapfile -t COMPREPLY < <( compgen -W "$list_actions" -- "$cur" ) ;;
+        esac
+      ;;
+      +show-config)
+        case $prev in
+          --default) return ;;
+          --changes-only) return ;;
+          --docs) return ;;
+          *) mapfile -t COMPREPLY < <( compgen -W "$show_config" -- "$cur" ) ;;
+        esac
+      ;;
+      +validate-config)
+        case $prev in
+          --config-file) return ;;
+          *) mapfile -t COMPREPLY < <( compgen -W "$validate_config" -- "$cur" ) ;;
+        esac
+      ;;
+      +show-face)
+        case $prev in
+          --cp) return;;
+          --string) return;;
+          --style) mapfile -t COMPREPLY < <( compgen -W "regular bold italic bold_italic" -- "$cur" ); _add_spaces ;;
+          --presentation) mapfile -t COMPREPLY < <( compgen -W "text emoji" -- "$cur" ); _add_spaces ;;
+          *) mapfile -t COMPREPLY < <( compgen -W "$show_face" -- "$cur" ) ;;
+        esac
+      ;;
+      *) mapfile -t COMPREPLY < <( compgen -W "--help" -- "$cur" ) ;;
+    esac
+
+    return 0
+  }
+
+  # begin main logic
+  local topLevel="-e"
+  topLevel+=" --help"
+  topLevel+=" --version"
+  topLevel+=" +list-fonts"
+  topLevel+=" +list-keybinds"
+  topLevel+=" +list-themes"
+  topLevel+=" +list-colors"
+  topLevel+=" +list-actions"
+  topLevel+=" +show-config"
+  topLevel+=" +validate-config"
+  topLevel+=" +show-face"
+  topLevel+=" +crash-report"
+  topLevel+=" +boo"
+
+  local cur=""; local prev=""; local prevWasEq=false; COMPREPLY=()
+  local ghostty="$1"
+
+  # script assumes default COMP_WORDBREAKS of roughly $' \t\n"\'><=;|&(:'
+  # if = is missing this script will degrade to matching on keys only.
+  # eg: --key=
+  # this can be improved if needed see: https://github.com/ghostty-org/ghostty/discussions/2994
+
+  if [ "$2" = "=" ]; then cur=""
+  else                    cur="$2"
+  fi
+
+  if [ "$3" = "=" ]; then prev="${COMP_WORDS[COMP_CWORD-2]}"; prevWasEq=true;
+  else                    prev="${COMP_WORDS[COMP_CWORD-1]}"
+  fi
+
+  # current completion is double quoted add a space so the curor progresses
+  if [[ "$2" == \"*\" ]]; then
+    COMPREPLY=( "$cur " );
+    return;
+  fi
+
+  case "$COMP_CWORD" in
+    1)
+      case "${COMP_WORDS[1]}" in
+        -e | --help | --version) return 0 ;;
+        --*) _handle_config ;;
+        *) mapfile -t COMPREPLY < <( compgen -W "${topLevel}" -- "$cur" ); _add_spaces ;;
+      esac
+      ;;
+    *)
+      case "$prev" in
+        -e | --help | --version) return 0 ;;
+        *)
+          if [[ "=" != "${COMP_WORDS[COMP_CWORD]}" && $prevWasEq != true ]]; then
+            # must be completing with a space after the key eg: '--<key> '
+            # clear out prev so we don't run any of the key specific completions
+            prev=""
+          fi
+
+          case "${COMP_WORDS[1]}" in
+            --*) _handle_config ;;
+            +*) _handle_actions ;;
+          esac
+          ;;
+      esac
+      ;;
+  esac
+
+  return 0
+}
+
+complete -o nospace -o bashdefault -F _ghostty ghostty

Dosya farkı çok büyük olduğundan ihmal edildi
+ 15 - 0
zig-out/share/bat/syntaxes/ghostty.sublime-syntax


+ 180 - 0
zig-out/share/fish/vendor_completions.d/ghostty.fish

@@ -0,0 +1,180 @@
+set -l commands "+list-fonts +list-keybinds +list-themes +list-colors +list-actions +show-config +validate-config +show-face +crash-report +boo"
+complete -c ghostty -f
+complete -c ghostty -s e -l help -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l version -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-family -r -f  -a "(ghostty +list-fonts | grep '^[A-Z]')"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-family-bold -r -f  -a "(ghostty +list-fonts | grep '^[A-Z]')"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-family-italic -r -f  -a "(ghostty +list-fonts | grep '^[A-Z]')"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-family-bold-italic -r -f  -a "(ghostty +list-fonts | grep '^[A-Z]')"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-style -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-style-bold -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-style-italic -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-style-bold-italic -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-synthetic-style -r -f -a "bold no-bold italic no-italic bold-italic no-bold-italic"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-feature -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-size -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-variation -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-variation-bold -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-variation-italic -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-variation-bold-italic -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-codepoint-map -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-thicken  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l font-thicken-strength -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l alpha-blending -r -f -a "native linear linear-corrected"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l adjust-cell-width -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l adjust-cell-height -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l adjust-font-baseline -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l adjust-underline-position -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l adjust-underline-thickness -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l adjust-strikethrough-position -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l adjust-strikethrough-thickness -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l adjust-overline-position -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l adjust-overline-thickness -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l adjust-cursor-thickness -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l adjust-cursor-height -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l adjust-box-thickness -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l grapheme-width-method -r -f -a "legacy unicode"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l freetype-load-flags -r -f -a "hinting no-hinting force-autohint no-force-autohint monochrome no-monochrome autohint no-autohint"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l theme -r -f -a "(ghostty +list-themes | sed -E 's/^(.*) \(.*\$/\1/')"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l background -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l foreground -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l selection-foreground -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l selection-background -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l selection-invert-fg-bg  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l minimum-contrast -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l palette -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l cursor-color -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l cursor-invert-fg-bg  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l cursor-opacity -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l cursor-style -r -f -a "bar block underline block_hollow"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l cursor-style-blink -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l cursor-text -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l cursor-click-to-move  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l mouse-hide-while-typing  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l mouse-shift-capture -r -f -a "false true always never"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l mouse-scroll-multiplier -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l background-opacity -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l background-blur -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l unfocused-split-opacity -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l unfocused-split-fill -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l split-divider-color -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l command -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l initial-command -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l env -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l wait-after-command  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l abnormal-command-exit-runtime -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l scrollback-limit -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l link -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l link-url  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l maximize  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l fullscreen  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l title -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l class -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l x11-instance-name -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l working-directory -r -f -k -a "(__fish_complete_directories)"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l keybind -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-padding-x -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-padding-y -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-padding-balance  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-padding-color -r -f -a "background extend extend-always"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-vsync  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-inherit-working-directory  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-inherit-font-size  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-decoration -r -f -a "auto client server none"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-title-font-family -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-subtitle -r -f -a "false working-directory"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-theme -r -f -a "auto system light dark ghostty"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-colorspace -r -f -a "srgb display-p3"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-height -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-width -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-position-x -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-position-y -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-save-state -r -f -a "default never always"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-step-resize  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-new-tab-position -r -f -a "current end"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-titlebar-background -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l window-titlebar-foreground -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l resize-overlay -r -f -a "always never after-first"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l resize-overlay-position -r -f -a "center top-left top-center top-right bottom-left bottom-center bottom-right"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l resize-overlay-duration -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l focus-follows-mouse  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l clipboard-read -r -f -a "allow deny ask"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l clipboard-write -r -f -a "allow deny ask"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l clipboard-trim-trailing-spaces  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l clipboard-paste-protection  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l clipboard-paste-bracketed-safe  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l title-report  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l image-storage-limit -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l copy-on-select -r -f -a "false true clipboard"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l click-repeat-interval -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l config-file -r -F
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l config-default-files  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l confirm-close-surface -r -f -a "false true always"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l quit-after-last-window-closed  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l quit-after-last-window-closed-delay -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l initial-window  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l quick-terminal-position -r -f -a "top bottom left right center"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l quick-terminal-size -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l quick-terminal-screen -r -f -a "main mouse macos-menu-bar"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l quick-terminal-animation-duration -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l quick-terminal-autohide  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l quick-terminal-space-behavior -r -f -a "remain move"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l shell-integration -r -f -a "none detect bash elvish fish zsh"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l shell-integration-features -r -f -a "cursor no-cursor sudo no-sudo title no-title"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l osc-color-report-format -r -f -a "none 8-bit 16-bit"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l vt-kam-allowed  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l custom-shader -r -F
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l custom-shader-animation -r -f -a "false true always"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l bell-features -r -f -a "system no-system"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l app-notifications -r -f -a "clipboard-copy no-clipboard-copy"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l macos-non-native-fullscreen -r -f -a "false true visible-menu padded-notch"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l macos-titlebar-style -r -f -a "native transparent tabs hidden"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l macos-titlebar-proxy-icon -r -f -a "visible hidden"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l macos-option-as-alt -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l macos-window-shadow  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l macos-hidden -r -f -a "never always"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l macos-auto-secure-input  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l macos-secure-input-indication  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l macos-icon -r -f -a "official blueprint chalkboard microchip glass holographic paper retro xray custom-style"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l macos-icon-frame -r -f -a "aluminum beige plastic chrome"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l macos-icon-ghost-color -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l macos-icon-screen-color -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l linux-cgroup -r -f -a "never always single-instance"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l linux-cgroup-memory-limit -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l linux-cgroup-processes-limit -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l linux-cgroup-hard-fail  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l gtk-opengl-debug  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l gtk-single-instance -r -f -a "desktop false true"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l gtk-titlebar  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l gtk-tabs-location -r -f -a "top bottom hidden"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l gtk-titlebar-hide-when-maximized  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l gtk-toolbar-style -r -f -a "flat raised raised-border"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l gtk-wide-tabs  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l gtk-custom-css -r -F
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l desktop-notifications  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l bold-is-bright  -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l term -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l enquiry-response -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l async-backend -r -f -a "auto epoll io_uring"
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l auto-update -r -f
+complete -c ghostty -n "not __fish_seen_subcommand_from $commands" -l auto-update-channel -r -f
+complete -c ghostty -n "string match -q -- '+*' (commandline -pt)" -f -a "+list-fonts +list-keybinds +list-themes +list-colors +list-actions +show-config +validate-config +show-face +crash-report +boo"
+complete -c ghostty -n "__fish_seen_subcommand_from +list-fonts" -l family -r -f
+complete -c ghostty -n "__fish_seen_subcommand_from +list-fonts" -l style -r -f
+complete -c ghostty -n "__fish_seen_subcommand_from +list-fonts" -l bold -f
+complete -c ghostty -n "__fish_seen_subcommand_from +list-fonts" -l italic -f
+complete -c ghostty -n "__fish_seen_subcommand_from +list-keybinds" -l default -f
+complete -c ghostty -n "__fish_seen_subcommand_from +list-keybinds" -l docs -f
+complete -c ghostty -n "__fish_seen_subcommand_from +list-keybinds" -l plain -f
+complete -c ghostty -n "__fish_seen_subcommand_from +list-themes" -l path -f
+complete -c ghostty -n "__fish_seen_subcommand_from +list-themes" -l plain -f
+complete -c ghostty -n "__fish_seen_subcommand_from +list-themes" -l color -r -f -a "all dark light"
+complete -c ghostty -n "__fish_seen_subcommand_from +list-actions" -l docs -f
+complete -c ghostty -n "__fish_seen_subcommand_from +show-config" -l default -f
+complete -c ghostty -n "__fish_seen_subcommand_from +show-config" -l changes-only -f
+complete -c ghostty -n "__fish_seen_subcommand_from +show-config" -l docs -f
+complete -c ghostty -n "__fish_seen_subcommand_from +validate-config" -l config-file -r -F
+complete -c ghostty -n "__fish_seen_subcommand_from +show-face" -l cp -r -f
+complete -c ghostty -n "__fish_seen_subcommand_from +show-face" -l string -r -f
+complete -c ghostty -n "__fish_seen_subcommand_from +show-face" -l style -r -f -a "regular bold italic bold_italic"
+complete -c ghostty -n "__fish_seen_subcommand_from +show-face" -l presentation -r -f -a "text emoji"

+ 382 - 0
zig-out/share/ghostty/shell-integration/bash/bash-preexec.sh

@@ -0,0 +1,382 @@
+# bash-preexec.sh -- Bash support for ZSH-like 'preexec' and 'precmd' functions.
+# https://github.com/rcaloras/bash-preexec
+#
+#
+# 'preexec' functions are executed before each interactive command is
+# executed, with the interactive command as its argument. The 'precmd'
+# function is executed before each prompt is displayed.
+#
+# Author: Ryan Caloras (ryan@bashhub.com)
+# Forked from Original Author: Glyph Lefkowitz
+#
+# V0.5.0
+#
+
+# General Usage:
+#
+#  1. Source this file at the end of your bash profile so as not to interfere
+#     with anything else that's using PROMPT_COMMAND.
+#
+#  2. Add any precmd or preexec functions by appending them to their arrays:
+#       e.g.
+#       precmd_functions+=(my_precmd_function)
+#       precmd_functions+=(some_other_precmd_function)
+#
+#       preexec_functions+=(my_preexec_function)
+#
+#  3. Consider changing anything using the DEBUG trap or PROMPT_COMMAND
+#     to use preexec and precmd instead. Preexisting usages will be
+#     preserved, but doing so manually may be less surprising.
+#
+#  Note: This module requires two Bash features which you must not otherwise be
+#  using: the "DEBUG" trap, and the "PROMPT_COMMAND" variable. If you override
+#  either of these after bash-preexec has been installed it will most likely break.
+
+# Tell shellcheck what kind of file this is.
+# shellcheck shell=bash
+
+# Make sure this is bash that's running and return otherwise.
+# Use POSIX syntax for this line:
+if [ -z "${BASH_VERSION-}" ]; then
+    return 1;
+fi
+
+# We only support Bash 3.1+.
+# Note: BASH_VERSINFO is first available in Bash-2.0.
+if [[ -z "${BASH_VERSINFO-}" ]] || (( BASH_VERSINFO[0] < 3 || (BASH_VERSINFO[0] == 3 && BASH_VERSINFO[1] < 1) )); then
+    return 1
+fi
+
+# Avoid duplicate inclusion
+if [[ -n "${bash_preexec_imported:-}" || -n "${__bp_imported:-}" ]]; then
+    return 0
+fi
+bash_preexec_imported="defined"
+
+# WARNING: This variable is no longer used and should not be relied upon.
+# Use ${bash_preexec_imported} instead.
+# shellcheck disable=SC2034
+__bp_imported="${bash_preexec_imported}"
+
+# Should be available to each precmd and preexec
+# functions, should they want it. $? and $_ are available as $? and $_, but
+# $PIPESTATUS is available only in a copy, $BP_PIPESTATUS.
+# TODO: Figure out how to restore PIPESTATUS before each precmd or preexec
+# function.
+__bp_last_ret_value="$?"
+BP_PIPESTATUS=("${PIPESTATUS[@]}")
+__bp_last_argument_prev_command="$_"
+
+__bp_inside_precmd=0
+__bp_inside_preexec=0
+
+# Initial PROMPT_COMMAND string that is removed from PROMPT_COMMAND post __bp_install
+__bp_install_string=$'__bp_trap_string="$(trap -p DEBUG)"\ntrap - DEBUG\n__bp_install'
+
+# Fails if any of the given variables are readonly
+# Reference https://stackoverflow.com/a/4441178
+__bp_require_not_readonly() {
+  local var
+  for var; do
+    if ! ( unset "$var" 2> /dev/null ); then
+      echo "bash-preexec requires write access to ${var}" >&2
+      return 1
+    fi
+  done
+}
+
+# Remove ignorespace and or replace ignoreboth from HISTCONTROL
+# so we can accurately invoke preexec with a command from our
+# history even if it starts with a space.
+__bp_adjust_histcontrol() {
+    local histcontrol
+    histcontrol="${HISTCONTROL:-}"
+    histcontrol="${histcontrol//ignorespace}"
+    # Replace ignoreboth with ignoredups
+    if [[ "$histcontrol" == *"ignoreboth"* ]]; then
+        histcontrol="ignoredups:${histcontrol//ignoreboth}"
+    fi;
+    export HISTCONTROL="$histcontrol"
+}
+
+# This variable describes whether we are currently in "interactive mode";
+# i.e. whether this shell has just executed a prompt and is waiting for user
+# input.  It documents whether the current command invoked by the trace hook is
+# run interactively by the user; it's set immediately after the prompt hook,
+# and unset as soon as the trace hook is run.
+__bp_preexec_interactive_mode=""
+
+# These arrays are used to add functions to be run before, or after, prompts.
+declare -a precmd_functions
+declare -a preexec_functions
+
+# Trims leading and trailing whitespace from $2 and writes it to the variable
+# name passed as $1
+__bp_trim_whitespace() {
+    local var=${1:?} text=${2:-}
+    text="${text#"${text%%[![:space:]]*}"}"   # remove leading whitespace characters
+    text="${text%"${text##*[![:space:]]}"}"   # remove trailing whitespace characters
+    printf -v "$var" '%s' "$text"
+}
+
+
+# Trims whitespace and removes any leading or trailing semicolons from $2 and
+# writes the resulting string to the variable name passed as $1. Used for
+# manipulating substrings in PROMPT_COMMAND
+__bp_sanitize_string() {
+    local var=${1:?} text=${2:-} sanitized
+    __bp_trim_whitespace sanitized "$text"
+    sanitized=${sanitized%;}
+    sanitized=${sanitized#;}
+    __bp_trim_whitespace sanitized "$sanitized"
+    printf -v "$var" '%s' "$sanitized"
+}
+
+# This function is installed as part of the PROMPT_COMMAND;
+# It sets a variable to indicate that the prompt was just displayed,
+# to allow the DEBUG trap to know that the next command is likely interactive.
+__bp_interactive_mode() {
+    __bp_preexec_interactive_mode="on";
+}
+
+
+# This function is installed as part of the PROMPT_COMMAND.
+# It will invoke any functions defined in the precmd_functions array.
+__bp_precmd_invoke_cmd() {
+    # Save the returned value from our last command, and from each process in
+    # its pipeline. Note: this MUST be the first thing done in this function.
+    # BP_PIPESTATUS may be unused, ignore
+    # shellcheck disable=SC2034
+
+    __bp_last_ret_value="$?" BP_PIPESTATUS=("${PIPESTATUS[@]}")
+
+    # Don't invoke precmds if we are inside an execution of an "original
+    # prompt command" by another precmd execution loop. This avoids infinite
+    # recursion.
+    if (( __bp_inside_precmd > 0 )); then
+      return
+    fi
+    local __bp_inside_precmd=1
+
+    # Invoke every function defined in our function array.
+    local precmd_function
+    for precmd_function in "${precmd_functions[@]}"; do
+
+        # Only execute this function if it actually exists.
+        # Test existence of functions with: declare -[Ff]
+        if type -t "$precmd_function" 1>/dev/null; then
+            __bp_set_ret_value "$__bp_last_ret_value" "$__bp_last_argument_prev_command"
+            # Quote our function invocation to prevent issues with IFS
+            "$precmd_function"
+        fi
+    done
+
+    __bp_set_ret_value "$__bp_last_ret_value"
+}
+
+# Sets a return value in $?. We may want to get access to the $? variable in our
+# precmd functions. This is available for instance in zsh. We can simulate it in bash
+# by setting the value here.
+__bp_set_ret_value() {
+    return ${1:+"$1"}
+}
+
+__bp_in_prompt_command() {
+
+    local prompt_command_array IFS=$'\n;'
+    read -rd '' -a prompt_command_array <<< "${PROMPT_COMMAND[*]:-}"
+
+    local trimmed_arg
+    __bp_trim_whitespace trimmed_arg "${1:-}"
+
+    local command trimmed_command
+    for command in "${prompt_command_array[@]:-}"; do
+        __bp_trim_whitespace trimmed_command "$command"
+        if [[ "$trimmed_command" == "$trimmed_arg" ]]; then
+            return 0
+        fi
+    done
+
+    return 1
+}
+
+# This function is installed as the DEBUG trap.  It is invoked before each
+# interactive prompt display.  Its purpose is to inspect the current
+# environment to attempt to detect if the current command is being invoked
+# interactively, and invoke 'preexec' if so.
+__bp_preexec_invoke_exec() {
+
+    # Save the contents of $_ so that it can be restored later on.
+    # https://stackoverflow.com/questions/40944532/bash-preserve-in-a-debug-trap#40944702
+    __bp_last_argument_prev_command="${1:-}"
+    # Don't invoke preexecs if we are inside of another preexec.
+    if (( __bp_inside_preexec > 0 )); then
+      return
+    fi
+    local __bp_inside_preexec=1
+
+    # Checks if the file descriptor is not standard out (i.e. '1')
+    # __bp_delay_install checks if we're in test. Needed for bats to run.
+    # Prevents preexec from being invoked for functions in PS1
+    if [[ ! -t 1 && -z "${__bp_delay_install:-}" ]]; then
+        return
+    fi
+
+    if [[ -n "${COMP_POINT:-}" || -n "${READLINE_POINT:-}" ]]; then
+        # We're in the middle of a completer or a keybinding set up by "bind
+        # -x".  This obviously can't be an interactively issued command.
+        return
+    fi
+    if [[ -z "${__bp_preexec_interactive_mode:-}" ]]; then
+        # We're doing something related to displaying the prompt.  Let the
+        # prompt set the title instead of me.
+        return
+    else
+        # If we're in a subshell, then the prompt won't be re-displayed to put
+        # us back into interactive mode, so let's not set the variable back.
+        # In other words, if you have a subshell like
+        #   (sleep 1; sleep 2)
+        # You want to see the 'sleep 2' as a set_command_title as well.
+        if [[ 0 -eq "${BASH_SUBSHELL:-}" ]]; then
+            __bp_preexec_interactive_mode=""
+        fi
+    fi
+
+    if  __bp_in_prompt_command "${BASH_COMMAND:-}"; then
+        # If we're executing something inside our prompt_command then we don't
+        # want to call preexec. Bash prior to 3.1 can't detect this at all :/
+        __bp_preexec_interactive_mode=""
+        return
+    fi
+
+    local this_command
+    this_command=$(LC_ALL=C HISTTIMEFORMAT='' builtin history 1)
+    this_command="${this_command#*[[:digit:]][* ] }"
+
+    # Sanity check to make sure we have something to invoke our function with.
+    if [[ -z "$this_command" ]]; then
+        return
+    fi
+
+    # Invoke every function defined in our function array.
+    local preexec_function
+    local preexec_function_ret_value
+    local preexec_ret_value=0
+    for preexec_function in "${preexec_functions[@]:-}"; do
+
+        # Only execute each function if it actually exists.
+        # Test existence of function with: declare -[fF]
+        if type -t "$preexec_function" 1>/dev/null; then
+            __bp_set_ret_value "${__bp_last_ret_value:-}"
+            # Quote our function invocation to prevent issues with IFS
+            "$preexec_function" "$this_command"
+            preexec_function_ret_value="$?"
+            if [[ "$preexec_function_ret_value" != 0 ]]; then
+                preexec_ret_value="$preexec_function_ret_value"
+            fi
+        fi
+    done
+
+    # Restore the last argument of the last executed command, and set the return
+    # value of the DEBUG trap to be the return code of the last preexec function
+    # to return an error.
+    # If `extdebug` is enabled a non-zero return value from any preexec function
+    # will cause the user's command not to execute.
+    # Run `shopt -s extdebug` to enable
+    __bp_set_ret_value "$preexec_ret_value" "$__bp_last_argument_prev_command"
+}
+
+__bp_install() {
+    # Exit if we already have this installed.
+    if [[ "${PROMPT_COMMAND[*]:-}" == *"__bp_precmd_invoke_cmd"* ]]; then
+        return 1;
+    fi
+
+    trap '__bp_preexec_invoke_exec "$_"' DEBUG
+
+    # Preserve any prior DEBUG trap as a preexec function
+    eval "local trap_argv=(${__bp_trap_string:-})"
+    local prior_trap=${trap_argv[2]:-}
+    unset __bp_trap_string
+    if [[ -n "$prior_trap" ]]; then
+        eval '__bp_original_debug_trap() {
+          '"$prior_trap"'
+        }'
+        preexec_functions+=(__bp_original_debug_trap)
+    fi
+
+    # Adjust our HISTCONTROL Variable if needed.
+    #
+    # GHOSTTY: Don't modify HISTCONTROL. This hack is only needed to improve the
+    # accuracy of the command argument passed to the preexec functions, and we
+    # don't use that argument in our bash shell integration script (and nor does
+    # the __bp_original_debug_trap function above, which is the only other active
+    # preexec function).
+    #__bp_adjust_histcontrol
+
+    # Issue #25. Setting debug trap for subshells causes sessions to exit for
+    # backgrounded subshell commands (e.g. (pwd)& ). Believe this is a bug in Bash.
+    #
+    # Disabling this by default. It can be enabled by setting this variable.
+    if [[ -n "${__bp_enable_subshells:-}" ]]; then
+
+        # Set so debug trap will work be invoked in subshells.
+        set -o functrace > /dev/null 2>&1
+        shopt -s extdebug > /dev/null 2>&1
+    fi;
+
+    local existing_prompt_command
+    # Remove setting our trap install string and sanitize the existing prompt command string
+    existing_prompt_command="${PROMPT_COMMAND:-}"
+    # Edge case of appending to PROMPT_COMMAND
+    existing_prompt_command="${existing_prompt_command//$__bp_install_string/:}" # no-op
+    existing_prompt_command="${existing_prompt_command//$'\n':$'\n'/$'\n'}" # remove known-token only
+    existing_prompt_command="${existing_prompt_command//$'\n':;/$'\n'}" # remove known-token only
+    __bp_sanitize_string existing_prompt_command "$existing_prompt_command"
+    if [[ "${existing_prompt_command:-:}" == ":" ]]; then
+        existing_prompt_command=
+    fi
+
+    # Install our hooks in PROMPT_COMMAND to allow our trap to know when we've
+    # actually entered something.
+    PROMPT_COMMAND='__bp_precmd_invoke_cmd'
+    PROMPT_COMMAND+=${existing_prompt_command:+$'\n'$existing_prompt_command}
+    if (( BASH_VERSINFO[0] > 5 || (BASH_VERSINFO[0] == 5 && BASH_VERSINFO[1] >= 1) )); then
+        PROMPT_COMMAND+=('__bp_interactive_mode')
+    else
+        # shellcheck disable=SC2179 # PROMPT_COMMAND is not an array in bash <= 5.0
+        PROMPT_COMMAND+=$'\n__bp_interactive_mode'
+    fi
+
+    # Add two functions to our arrays for convenience
+    # of definition.
+    precmd_functions+=(precmd)
+    preexec_functions+=(preexec)
+
+    # Invoke our two functions manually that were added to $PROMPT_COMMAND
+    __bp_precmd_invoke_cmd
+    __bp_interactive_mode
+}
+
+# Sets an installation string as part of our PROMPT_COMMAND to install
+# after our session has started. This allows bash-preexec to be included
+# at any point in our bash profile.
+__bp_install_after_session_init() {
+    # bash-preexec needs to modify these variables in order to work correctly
+    # if it can't, just stop the installation
+    __bp_require_not_readonly PROMPT_COMMAND HISTCONTROL HISTTIMEFORMAT || return
+
+    local sanitized_prompt_command
+    __bp_sanitize_string sanitized_prompt_command "${PROMPT_COMMAND:-}"
+    if [[ -n "$sanitized_prompt_command" ]]; then
+        # shellcheck disable=SC2178 # PROMPT_COMMAND is not an array in bash <= 5.0
+        PROMPT_COMMAND=${sanitized_prompt_command}$'\n'
+    fi;
+    # shellcheck disable=SC2179 # PROMPT_COMMAND is not an array in bash <= 5.0
+    PROMPT_COMMAND+=${__bp_install_string}
+}
+
+# Run our install so long as we're not delaying it.
+if [[ -z "${__bp_delay_install:-}" ]]; then
+    __bp_install_after_session_init
+fi;

+ 174 - 0
zig-out/share/ghostty/shell-integration/bash/ghostty.bash

@@ -0,0 +1,174 @@
+# Parts of this script are based on Kitty's bash integration. Kitty is
+# distributed under GPLv3, so this file is also distributed under GPLv3.
+# The license header is reproduced below:
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# We need to be in interactive mode and we need to have the Ghostty
+# resources dir set which also tells us we're running in Ghostty.
+if [[ "$-" != *i* ]] ; then builtin return; fi
+if [ -z "$GHOSTTY_RESOURCES_DIR" ]; then builtin return; fi
+
+# When automatic shell integration is active, we were started in POSIX
+# mode and need to manually recreate the bash startup sequence.
+if [ -n "$GHOSTTY_BASH_INJECT" ]; then
+  # Store a temporary copy of our startup flags and unset these global
+  # environment variables so we can safely handle reentrancy.
+  builtin declare __ghostty_bash_flags="$GHOSTTY_BASH_INJECT"
+  builtin unset ENV GHOSTTY_BASH_INJECT
+
+  # Restore bash's default 'posix' behavior. Also reset 'inherit_errexit',
+  # which doesn't happen as part of the 'posix' reset.
+  builtin set +o posix
+  builtin shopt -u inherit_errexit 2>/dev/null
+
+  # Unexport HISTFILE if it was set by the shell integration code.
+  if [[ -n "$GHOSTTY_BASH_UNEXPORT_HISTFILE" ]]; then
+    builtin export -n HISTFILE
+    builtin unset GHOSTTY_BASH_UNEXPORT_HISTFILE
+  fi
+
+  # Manually source the startup files. See INVOCATION in bash(1) and
+  # run_startup_files() in shell.c in the Bash source code.
+  if builtin shopt -q login_shell; then
+    if [[ $__ghostty_bash_flags != *"--noprofile"* ]]; then
+      [ -r /etc/profile ] && builtin source "/etc/profile"
+      for __ghostty_rcfile in "$HOME/.bash_profile" "$HOME/.bash_login" "$HOME/.profile"; do
+        [ -r "$__ghostty_rcfile" ] && { builtin source "$__ghostty_rcfile"; break; }
+      done
+    fi
+  else
+    if [[ $__ghostty_bash_flags != *"--norc"* ]]; then
+      # The location of the system bashrc is determined at bash build
+      # time via -DSYS_BASHRC and can therefore vary across distros:
+      #  Arch, Debian, Ubuntu use /etc/bash.bashrc
+      #  Fedora uses /etc/bashrc sourced from ~/.bashrc instead of SYS_BASHRC
+      #  Void Linux uses /etc/bash/bashrc
+      #  Nixos uses /etc/bashrc
+      for __ghostty_rcfile in /etc/bash.bashrc /etc/bash/bashrc /etc/bashrc; do
+        [ -r "$__ghostty_rcfile" ] && { builtin source "$__ghostty_rcfile"; break; }
+      done
+      if [[ -z "$GHOSTTY_BASH_RCFILE" ]]; then GHOSTTY_BASH_RCFILE="$HOME/.bashrc"; fi
+      [ -r "$GHOSTTY_BASH_RCFILE" ] && builtin source "$GHOSTTY_BASH_RCFILE"
+    fi
+  fi
+
+  builtin unset __ghostty_rcfile
+  builtin unset __ghostty_bash_flags
+  builtin unset GHOSTTY_BASH_RCFILE
+fi
+
+# Sudo
+if [[ "$GHOSTTY_SHELL_FEATURES" == *"sudo"* && -n "$TERMINFO" ]]; then
+  # Wrap `sudo` command to ensure Ghostty terminfo is preserved.
+  #
+  # This approach supports wrapping a `sudo` alias, but the alias definition
+  # must come _after_ this function is defined. Otherwise, the alias expansion
+  # will take precedence over this function, and it won't be wrapped.
+  function sudo {
+    builtin local sudo_has_sudoedit_flags="no"
+    for arg in "$@"; do
+      # Check if argument is '-e' or '--edit' (sudoedit flags)
+      if [[ "$arg" == "-e" || $arg == "--edit" ]]; then
+        sudo_has_sudoedit_flags="yes"
+        builtin break
+      fi
+      # Check if argument is neither an option nor a key-value pair
+      if [[ "$arg" != -* && "$arg" != *=* ]]; then
+        builtin break
+      fi
+    done
+    if [[ "$sudo_has_sudoedit_flags" == "yes" ]]; then
+      builtin command sudo "$@";
+    else
+      builtin command sudo TERMINFO="$TERMINFO" "$@";
+    fi
+  }
+fi
+
+# Import bash-preexec, safe to do multiple times
+builtin source "$GHOSTTY_RESOURCES_DIR/shell-integration/bash/bash-preexec.sh"
+
+# This is set to 1 when we're executing a command so that we don't
+# send prompt marks multiple times.
+_ghostty_executing=""
+_ghostty_last_reported_cwd=""
+
+function __ghostty_precmd() {
+    local ret="$?"
+    if test "$_ghostty_executing" != "0"; then
+      _GHOSTTY_SAVE_PS0="$PS0"
+      _GHOSTTY_SAVE_PS1="$PS1"
+      _GHOSTTY_SAVE_PS2="$PS2"
+
+      # Marks
+      PS1=$PS1'\[\e]133;B\a\]'
+      PS2=$PS2'\[\e]133;B\a\]'
+
+      # bash doesn't redraw the leading lines in a multiline prompt so
+      # mark the last line as a secondary prompt (k=s) to prevent the
+      # preceding lines from being erased by ghostty after a resize.
+      if [[ "${PS1}" == *"\n"* || "${PS1}" == *$'\n'* ]]; then
+        PS1=$PS1'\[\e]133;A;k=s\a\]'
+      fi
+
+      # Cursor
+      if [[ "$GHOSTTY_SHELL_FEATURES" == *"cursor"* ]]; then
+        PS1=$PS1'\[\e[5 q\]'
+        PS0=$PS0'\[\e[0 q\]'
+      fi
+
+      # Title (working directory)
+      if [[ "$GHOSTTY_SHELL_FEATURES" == *"title"* ]]; then
+        PS1=$PS1'\[\e]2;\w\a\]'
+      fi
+    fi
+
+    if test "$_ghostty_executing" != ""; then
+      # End of current command. Report its status.
+      builtin printf "\e]133;D;%s;aid=%s\a" "$ret" "$BASHPID"
+    fi
+
+    # unfortunately bash provides no hooks to detect cwd changes
+    # in particular this means cwd reporting will not happen for a
+    # command like cd /test && cat. PS0 is evaluated before cd is run.
+    if [[ "$_ghostty_last_reported_cwd" != "$PWD" ]]; then
+      _ghostty_last_reported_cwd="$PWD"
+      builtin printf "\e]7;kitty-shell-cwd://%s%s\a" "$HOSTNAME" "$PWD"
+    fi
+
+    # Fresh line and start of prompt.
+    builtin printf "\e]133;A;aid=%s\a" "$BASHPID"
+    _ghostty_executing=0
+}
+
+function __ghostty_preexec() {
+    builtin local cmd="$1"
+
+    PS0="$_GHOSTTY_SAVE_PS0"
+    PS1="$_GHOSTTY_SAVE_PS1"
+    PS2="$_GHOSTTY_SAVE_PS2"
+
+    # Title (current command)
+    if [[ -n $cmd && "$GHOSTTY_SHELL_FEATURES" == *"title"* ]]; then
+      builtin printf "\e]2;%s\a" "${cmd//[[:cntrl:]]}"
+    fi
+
+    # End of input, start of output.
+    builtin printf "\e]133;C;\a"
+    _ghostty_executing=1
+}
+
+preexec_functions+=(__ghostty_preexec)
+precmd_functions+=(__ghostty_precmd)

+ 124 - 0
zig-out/share/ghostty/shell-integration/elvish/lib/ghostty-integration.elv

@@ -0,0 +1,124 @@
+{
+  fn restore-xdg-dirs {
+    use str
+    var integration-dir = $E:GHOSTTY_SHELL_INTEGRATION_XDG_DIR
+    var xdg-dirs = [(str:split ':' $E:XDG_DATA_DIRS)]
+    var len = (count $xdg-dirs)
+
+    var index = $nil
+    range $len | each {|dir-index|
+      if (eq $xdg-dirs[$dir-index] $integration-dir) {
+        set index = $dir-index
+        break
+      }
+    }
+    if (eq $nil $index) { return } # will appear as an error
+
+    if (== 0 $index) {
+      set xdg-dirs = $xdg-dirs[1..]
+    } elif (== (- $len 1) $index) {
+      set xdg-dirs = $xdg-dirs[0..(- $len 1)]
+    } else {
+      # no builtin function for this : )
+      set xdg-dirs = [ (take $index $xdg-dirs) (drop (+ 1 $index) $xdg-dirs) ]
+    }
+
+    if (== 0 (count $xdg-dirs)) {
+      unset-env XDG_DATA_DIRS
+    } else {
+      set-env XDG_DATA_DIRS (str:join ':' $xdg-dirs)
+    }
+    unset-env GHOSTTY_SHELL_INTEGRATION_XDG_DIR
+  }
+  if (and (has-env GHOSTTY_SHELL_INTEGRATION_XDG_DIR) (has-env XDG_DATA_DIRS)) {
+    restore-xdg-dirs
+  }
+}
+
+{
+  use str
+
+  # helper used by `mark-*` functions
+  fn set-prompt-state {|new| set-env __ghostty_prompt_state $new }
+
+  fn mark-prompt-start {
+    if (not-eq prompt-start (constantly $E:__ghostty_prompt_state)) {
+      printf "\e]133;D\a"
+    }
+    set-prompt-state 'prompt-start'
+    printf "\e]133;A\a"
+  }
+
+  fn mark-output-start {|_|
+    set-prompt-state 'pre-exec'
+    printf "\e]133;C\a"
+  }
+
+  fn mark-output-end {|cmd-info|
+    set-prompt-state 'post-exec'
+
+    var exit-status = 0
+
+    # in case of error: retrieve exit status,
+    # unless does not exist (= builtin function failure), then default to 1
+    if (not-eq $nil $cmd-info[error]) {
+      set exit-status = 1
+
+      if (has-key $cmd-info[error] reason) {
+        if (has-key $cmd-info[error][reason] exit-status) {
+          set exit-status = $cmd-info[error][reason][exit-status]
+        }
+      }
+    }
+
+    printf "\e]133;D;"$exit-status"\a"
+  }
+
+  fn report-pwd {
+    use platform
+    printf "\e]7;kitty-shell-cwd://%s%s\a" (platform:hostname) $pwd
+  }
+
+  fn sudo-with-terminfo {|@args|
+    var sudoedit = $false
+    for arg $args {
+      use str
+      if (str:has-prefix $arg -) {
+        if (has-value [e -edit] $arg[1..]) {
+          set sudoedit = $true
+          break
+        }
+        continue
+      }
+
+      if (not (has-value $arg =)) { break }
+    }
+
+    if (not $sudoedit) { set args = [ TERMINFO=$E:TERMINFO $@args ] }
+    (external sudo) $@args
+  }
+
+  defer {
+    mark-prompt-start
+    report-pwd
+  }
+
+  set edit:before-readline = (conj $edit:before-readline $mark-prompt-start~)
+  set edit:after-readline  = (conj $edit:after-readline $mark-output-start~)
+  set edit:after-command   = (conj $edit:after-command $mark-output-end~)
+
+  var features = [(str:split ',' $E:GHOSTTY_SHELL_FEATURES)]
+
+  if (has-value $features title) {
+    set after-chdir = (conj $after-chdir {|_| report-pwd })
+  }
+  if (has-value $features cursor) {
+    fn beam  { printf "\e[5 q" }
+    fn block { printf "\e[0 q" }
+    set edit:before-readline = (conj $edit:before-readline $beam~)
+    set edit:after-readline  = (conj $edit:after-readline {|_| block })
+  }
+  if (and (has-value $features sudo) (not-eq "" $E:TERMINFO) (has-external sudo)) {
+    edit:add-var sudo~ $sudo-with-terminfo~
+  }
+}

+ 130 - 0
zig-out/share/ghostty/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish

@@ -0,0 +1,130 @@
+# This shell script aims to be written in a way where it can't really fail
+# or all failure scenarios are handled, so that we never leave the shell in
+# a weird state. If you find a way to break this, please report a bug!
+
+function ghostty_restore_xdg_data_dir -d "restore the original XDG_DATA_DIR value"
+    # If we don't have our own data dir then we don't need to do anything.
+    if not set -q GHOSTTY_SHELL_INTEGRATION_XDG_DIR
+        return
+    end
+
+    # If the data dir isn't set at all then we don't need to do anything.
+    if not set -q XDG_DATA_DIRS
+        return
+    end
+
+    # We need to do this so that XDG_DATA_DIRS turns into an array.
+    set --function --path xdg_data_dirs "$XDG_DATA_DIRS"
+
+    # If our data dir is in the list then remove it.
+    if set --function index (contains --index "$GHOSTTY_SHELL_INTEGRATION_XDG_DIR" $xdg_data_dirs)
+        set --erase --function xdg_data_dirs[$index]
+    end
+
+    # Re-export our data dir
+    if set -q xdg_data_dirs[1]
+        set --global --export --unpath XDG_DATA_DIRS "$xdg_data_dirs"
+    else
+        set --erase --global XDG_DATA_DIRS
+    end
+
+    set --erase GHOSTTY_SHELL_INTEGRATION_XDG_DIR
+end
+
+function ghostty_exit -d "exit the shell integration setup"
+    functions -e ghostty_restore_xdg_data_dir
+    functions -e ghostty_exit
+    exit 0
+end
+
+# We always try to restore the XDG data dir
+ghostty_restore_xdg_data_dir
+
+# If we aren't interactive or we've already run, don't run.
+status --is-interactive || ghostty_exit
+
+# We do the full setup on the first prompt render. We do this so that other
+# shell integrations that setup the prompt and modify things are able to run
+# first. We want to run _last_.
+function __ghostty_setup --on-event fish_prompt -d "Setup ghostty integration"
+    functions -e __ghostty_setup
+
+    set --local features (string split , $GHOSTTY_SHELL_FEATURES)
+
+    if contains cursor $features
+        # Change the cursor to a beam on prompt.
+        function __ghostty_set_cursor_beam --on-event fish_prompt -d "Set cursor shape"
+            echo -en "\e[5 q"
+        end
+        function __ghostty_reset_cursor --on-event fish_preexec -d "Reset cursor shape"
+            echo -en "\e[0 q"
+        end
+    end
+
+    # When using sudo shell integration feature, ensure $TERMINFO is set
+    # and `sudo` is not already a function or alias
+    if contains sudo $features; and test -n "$TERMINFO"; and test "file" = (type -t sudo 2> /dev/null; or echo "x")
+        # Wrap `sudo` command to ensure Ghostty terminfo is preserved
+        function sudo -d "Wrap sudo to preserve terminfo"
+            set --function sudo_has_sudoedit_flags "no"
+            for arg in $argv
+                # Check if argument is '-e' or '--edit' (sudoedit flags)
+                if string match -q -- "-e" "$arg"; or string match -q -- "--edit" "$arg"
+                    set --function sudo_has_sudoedit_flags "yes"
+                    break
+                end
+                # Check if argument is neither an option nor a key-value pair
+                if not string match -r -q -- "^-" "$arg"; and not string match -r -q -- "=" "$arg"
+                    break
+                end
+            end
+            if test "$sudo_has_sudoedit_flags" = "yes"
+                command sudo $argv
+            else
+                command sudo TERMINFO="$TERMINFO" $argv
+            end
+        end
+    end
+
+    # Setup prompt marking
+    function __ghostty_mark_prompt_start --on-event fish_prompt --on-event fish_cancel --on-event fish_posterror
+        # If we never got the output end event, then we need to send it now.
+        if test "$__ghostty_prompt_state" != prompt-start
+            echo -en "\e]133;D\a"
+        end
+
+        set --global __ghostty_prompt_state prompt-start
+        echo -en "\e]133;A\a"
+    end
+
+    function __ghostty_mark_output_start --on-event fish_preexec
+        set --global __ghostty_prompt_state pre-exec
+        echo -en "\e]133;C\a"
+    end
+
+    function __ghostty_mark_output_end --on-event fish_postexec
+        set --global __ghostty_prompt_state post-exec
+        echo -en "\e]133;D;$status\a"
+    end
+
+    # Report pwd. This is actually built-in to fish but only for terminals
+    # that match an allowlist and that isn't us.
+    function __update_cwd_osc --on-variable PWD -d 'Notify capable terminals when $PWD changes'
+        if status --is-command-substitution || set -q INSIDE_EMACS
+            return
+        end
+        printf \e\]7\;file://%s%s\a $hostname (string escape --style=url $PWD)
+    end
+
+    # Enable fish to handle reflow because Ghostty clears the prompt on resize.
+    set --global fish_handle_reflow 1
+
+    # Initial calls for first prompt
+    if contains cursor $features
+        __ghostty_set_cursor_beam
+    end
+    __ghostty_mark_prompt_start
+    __update_cwd_osc
+end
+
+ghostty_exit

+ 60 - 0
zig-out/share/ghostty/shell-integration/zsh/.zshenv

@@ -0,0 +1,60 @@
+# Based on (started as) a copy of Kitty's zsh integration. Kitty is
+# distributed under GPLv3, so this file is also distributed under GPLv3.
+# The license header is reproduced below:
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file can get sourced with aliases enabled. To avoid alias expansion
+# we quote everything that can be quoted. Some aliases will still break us
+# though.
+
+# Restore the original ZDOTDIR value.
+if [[ -n "${GHOSTTY_ZSH_ZDOTDIR+X}" ]]; then
+    'builtin' 'export' ZDOTDIR="$GHOSTTY_ZSH_ZDOTDIR"
+    'builtin' 'unset' 'GHOSTTY_ZSH_ZDOTDIR'
+else
+    'builtin' 'unset' 'ZDOTDIR'
+fi
+
+# Use try-always to have the right error code.
+{
+    # Zsh treats empty $ZDOTDIR as if it was "/". We do the same.
+    #
+    # Source the user's zshenv before sourcing ghostty.zsh because the former
+    # might set fpath and other things without which ghostty.zsh won't work.
+    #
+    # Use typeset in case we are in a function with warn_create_global in
+    # effect. Unlikely but better safe than sorry.
+    'builtin' 'typeset' _ghostty_file=${ZDOTDIR-~}"/.zshenv"
+    # Zsh ignores unreadable rc files. We do the same.
+    # Zsh ignores rc files that are directories, and so does source.
+    [[ ! -r "$_ghostty_file" ]] || 'builtin' 'source' '--' "$_ghostty_file"
+} always {
+    if [[ -o 'interactive' ]]; then
+        'builtin' 'autoload' '--' 'is-at-least'
+        'is-at-least' "5.1" || {
+            builtin echo "ZSH ${ZSH_VERSION} is too old for ghostty shell integration" > /dev/stderr
+            return
+        }
+        # ${(%):-%x} is the path to the current file.
+        # On top of it we add :A:h to get the directory.
+        'builtin' 'typeset' _ghostty_file="${${(%):-%x}:A:h}"/ghostty-integration
+        if [[ -r "$_ghostty_file" ]]; then
+            'builtin' 'autoload' '-Uz' '--' "$_ghostty_file"
+            "${_ghostty_file:t}"
+            'builtin' 'unfunction' '--' "${_ghostty_file:t}"
+        fi
+    fi
+    'builtin' 'unset' '_ghostty_file'
+}

+ 316 - 0
zig-out/share/ghostty/shell-integration/zsh/ghostty-integration

@@ -0,0 +1,316 @@
+# Based on (started as) a copy of Kitty's zsh integration. Kitty is
+# distributed under GPLv3, so this file is also distributed under GPLv3.
+# The license header is reproduced below:
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+#
+# Enables integration between zsh and ghostty.
+#
+# This is an autoloadable function. It's invoked automatically in shells
+# directly spawned by Ghostty but not in any other shells. For example, running
+# `exec zsh`, `sudo -E zsh`, `tmux`, or plain `zsh` will create a shell where
+# ghostty-integration won't automatically run. Zsh users who want integration with
+# Ghostty in all shells should add the following lines to their .zshrc:
+#
+#   if [[ -n $GHOSTTY_RESOURCES_DIR ]]; then
+#     source "$GHOSTTY_RESOURCES_DIR"/shell-integration/zsh/ghostty-integration
+#   fi
+#
+# Implementation note: We can assume that alias expansion is disabled in this
+# file, so no need to quote defensively. We still have to defensively prefix all
+# builtins with `builtin` to avoid accidentally invoking user-defined functions.
+# We avoid `function` reserved word as an additional defensive measure.
+
+# Note that updating options with `builtin emulate -L zsh` affects the global options
+# if it's called outside of a function. So nearly all code has to be in functions.
+_entrypoint() {
+    builtin emulate -L zsh -o no_warn_create_global -o no_aliases
+
+    [[ -o interactive ]]              || builtin return 0  # non-interactive shell
+    (( ! $+_ghostty_state ))          || builtin return 0  # already initialized
+
+    # 0: no OSC 133 [AC] marks have been written yet.
+    # 1: the last written OSC 133 C has not been closed with D yet.
+    # 2: none of the above.
+    builtin typeset -gi _ghostty_state
+
+    # Attempt to create a writable file descriptor to the TTY so that we can print
+    # to the TTY later even when STDOUT is redirected. This code is fairly subtle.
+    #
+    # - It's tempting to do `[[ -t 1 ]] && exec {_ghostty_state}>&1` but we cannot do this
+    #   because it'll create a file descriptor >= 10 without O_CLOEXEC. This file
+    #   descriptor will leak to child processes.
+    # - If we do `exec {3}>&1`, the file descriptor won't leak to the child processes
+    #   but it'll still leak if the current process is replaced with another. In
+    #   addition, it'll break user code that relies on fd 3 being available.
+    # - Zsh doesn't expose dup3, which would have allowed us to copy STDOUT with
+    #   O_CLOEXEC. The only way to create a file descriptor with O_CLOEXEC is via
+    #   sysopen.
+    # - `zmodload zsh/system` and `sysopen -o cloexec -wu _ghostty_fd -- /dev/tty` can
+    #   fail with an error message to STDERR (the latter can happen even if /dev/tty
+    #   is writable), hence the redirection of STDERR. We do it for the whole block
+    #   for performance reasons (redirections are slow).
+    # - We must open the file descriptor right here rather than in _ghostty_deferred_init
+    #   because there are broken zsh plugins out there that run `exec {fd}< <(cmd)`
+    #   and then close the file descriptor more than once while suppressing errors.
+    #   This could end up closing our file descriptor if we opened it in
+    #   _ghostty_deferred_init.
+    typeset -gi _ghostty_fd
+    {
+        builtin zmodload zsh/system && (( $+builtins[sysopen] )) && {
+            { [[ -w     $TTY ]] && builtin sysopen -o cloexec -wu _ghostty_fd --     $TTY } ||
+            { [[ -w /dev/tty ]] && builtin sysopen -o cloexec -wu _ghostty_fd -- /dev/tty }
+        }
+    } 2>/dev/null || (( _ghostty_fd = 1 ))
+
+    # Defer initialization so that other zsh init files can be configure
+    # the integration.
+    builtin typeset -ag precmd_functions
+    precmd_functions+=(_ghostty_deferred_init)
+}
+
+_ghostty_deferred_init() {
+    builtin emulate -L zsh -o no_warn_create_global -o no_aliases
+
+    # The directory where ghostty-integration is located: /../shell-integration/zsh.
+    builtin local self_dir="${functions_source[_ghostty_deferred_init]:A:h}"
+
+    # Enable semantic markup with OSC 133.
+    _ghostty_precmd() {
+        builtin local -i cmd_status=$?
+        builtin emulate -L zsh -o no_warn_create_global -o no_aliases
+
+        # Don't write OSC 133 D when our precmd handler is invoked from zle.
+        # Some plugins do that to update prompt on cd.
+        if ! builtin zle; then
+            # This code works incorrectly in the presence of a precmd or chpwd
+            # hook that prints. For example, sindresorhus/pure prints an empty
+            # line on precmd and marlonrichert/zsh-snap prints $PWD on chpwd.
+            # We'll end up writing our OSC 133 D mark too late.
+            #
+            # Another failure mode is when the output of a command doesn't end
+            # with LF and prompst_sp is set (it is by default). In this case
+            # we'll incorrectly state that '%' from prompt_sp is a part of the
+            # command's output.
+            if (( _ghostty_state == 1 )); then
+                # The last written OSC 133 C has not been closed with D yet.
+                # Close it and supply status.
+                builtin print -nu $_ghostty_fd '\e]133;D;'$cmd_status'\a'
+                (( _ghostty_state = 2 ))
+            elif (( _ghostty_state == 2 )); then
+                # There might be an unclosed OSC 133 C. Close that.
+                builtin print -nu $_ghostty_fd '\e]133;D\a'
+            fi
+        fi
+
+        builtin local mark1=$'%{\e]133;A\a%}'
+        if [[ -o prompt_percent ]]; then
+            builtin typeset -g precmd_functions
+            if [[ ${precmd_functions[-1]} == _ghostty_precmd ]]; then
+                # This is the best case for us: we can add our marks to PS1 and
+                # PS2. This way our marks will be printed whenever zsh
+                # redisplays prompt: on reset-prompt, on SIGWINCH, and on
+                # SIGCHLD if notify is set. Themes that update prompt
+                # asynchronously from a `zle -F` handler might still remove our
+                # marks. Oh well.
+                builtin local mark2=$'%{\e]133;A;k=s\a%}'
+                # Add marks conditionally to avoid a situation where we have
+                # several marks in place. These conditions can have false
+                # positives and false negatives though.
+                #
+                # - False positive (with prompt_percent): PS1="%(?.$mark1.)"
+                # - False negative (with prompt_subst):   PS1='$mark1'
+                [[ $PS1 == *$mark1* ]] || PS1=${mark1}${PS1}
+                # PS2 mark is needed when clearing the prompt on resize
+                [[ $PS2 == *$mark2* ]] || PS2=${mark2}${PS2}
+                (( _ghostty_state = 2 ))
+            else
+                # If our precmd hook is not the last, we cannot rely on prompt
+                # changes to stick, so we don't even try. At least we can move
+                # our hook to the end to have better luck next time. If there is
+                # another piece of code that wants to take this privileged
+                # position, this won't work well. We'll break them as much as
+                # they are breaking us.
+                precmd_functions=(${precmd_functions:#_ghostty_precmd} _ghostty_precmd)
+                # Plugins that invoke precmd hooks from zle do that before zle
+                # is trashed. This means that the cursor is in the middle of
+                # BUFFER and we cannot print our mark there. Prompt might
+                # already have a mark, so the following reset-prompt will write
+                # it. If it doesn't, there is nothing we can do.
+                if ! builtin zle; then
+                    builtin print -rnu $_ghostty_fd -- $mark1[3,-3]
+                    (( _ghostty_state = 2 ))
+                fi
+            fi
+        elif ! builtin zle; then
+            # Without prompt_percent we cannot patch prompt. Just print the
+            # mark, except when we are invoked from zle. In the latter case we
+            # cannot do anything.
+            builtin print -rnu $_ghostty_fd -- $mark1[3,-3]
+            (( _ghostty_state = 2 ))
+        fi
+    }
+
+    _ghostty_preexec() {
+        builtin emulate -L zsh -o no_warn_create_global -o no_aliases
+
+        # This can potentially break user prompt. Oh well. The robustness of
+        # this code can be improved in the case prompt_subst is set because
+        # it'll allow us distinguish (not perfectly but close enough) between
+        # our own prompt, user prompt, and our own prompt with user additions on
+        # top. We cannot force prompt_subst on the user though, so we would
+        # still need this code for the no_prompt_subst case.
+        PS1=${PS1//$'%{\e]133;A\a%}'}
+        PS2=${PS2//$'%{\e]133;A;k=s\a%}'}
+
+        # This will work incorrectly in the presence of a preexec hook that
+        # prints. For example, if MichaelAquilina/zsh-you-should-use installs
+        # its preexec hook before us, we'll incorrectly mark its output as
+        # belonging to the command (as if the user typed it into zle) rather
+        # than command output.
+        builtin print -nu $_ghostty_fd '\e]133;C\a'
+        (( _ghostty_state = 1 ))
+    }
+
+    # Enable reporting current working dir to terminal. Ghostty supports
+    # the kitty-shell-cwd format.
+    _ghostty_report_pwd() { builtin print -nu $_ghostty_fd '\e]7;kitty-shell-cwd://'"$HOST""$PWD"'\a'; }
+    chpwd_functions=(${chpwd_functions[@]} "_ghostty_report_pwd")
+    # An executed program could change cwd and report the changed cwd, so also report cwd at each new prompt
+    # as in this case chpwd_functions is insufficient. chpwd_functions is still needed for things like: cd x && something
+    functions[_ghostty_precmd]+="
+        _ghostty_report_pwd"
+    _ghostty_report_pwd
+
+    if [[ "$GHOSTTY_SHELL_FEATURES" == *"title"* ]]; then
+      # Enable terminal title changes.
+      functions[_ghostty_precmd]+="
+          builtin print -rnu $_ghostty_fd \$'\\e]2;'\"\${(%):-%(4~|…/%3~|%~)}\"\$'\\a'"
+      functions[_ghostty_preexec]+="
+          builtin print -rnu $_ghostty_fd \$'\\e]2;'\"\${(V)1}\"\$'\\a'"
+    fi
+
+    if [[ "$GHOSTTY_SHELL_FEATURES" == *"cursor"* ]]; then
+      # Enable cursor shape changes depending on the current keymap.
+      # This implementation leaks blinking block cursor into external commands
+      # executed from zle. For example, users of fzf-based widgets may find
+      # themselves with a blinking block cursor within fzf.
+      _ghostty_zle_line_init _ghostty_zle_line_finish _ghostty_zle_keymap_select() {
+	  case ${KEYMAP-} in
+	      # Blinking block cursor.
+	      vicmd|visual) builtin print -nu "$_ghostty_fd" '\e[1 q';;
+	      # Blinking bar cursor.
+	      *)            builtin print -nu "$_ghostty_fd" '\e[5 q';;
+	  esac
+      }
+      # Restore the blinking default shape before executing an external command
+      functions[_ghostty_preexec]+="
+	  builtin print -rnu $_ghostty_fd \$'\\e[0 q'"
+    fi
+
+    # Sudo
+    if [[ "$GHOSTTY_SHELL_FEATURES" == *"sudo"* ]] && [[ -n "$TERMINFO" ]]; then
+      # Wrap `sudo` command to ensure Ghostty terminfo is preserved
+      sudo() {
+        builtin local sudo_has_sudoedit_flags="no"
+        for arg in "$@"; do
+          # Check if argument is '-e' or '--edit' (sudoedit flags)
+          if [[ "$arg" == "-e" || $arg == "--edit" ]]; then
+            sudo_has_sudoedit_flags="yes"
+            builtin break
+          fi
+          # Check if argument is neither an option nor a key-value pair
+          if [[ "$arg" != -* && "$arg" != *=* ]]; then
+            builtin break
+          fi
+        done
+        if [[ "$sudo_has_sudoedit_flags" == "yes" ]]; then
+          builtin command sudo "$@";
+        else
+          builtin command sudo TERMINFO="$TERMINFO" "$@";
+        fi
+      }
+    fi
+
+    # Some zsh users manually run `source ~/.zshrc` in order to apply rc file
+    # changes to the current shell. This is a terrible practice that breaks many
+    # things, including our shell integration. For example, Oh My Zsh and Prezto
+    # (both very popular among zsh users) will remove zle-line-init and
+    # zle-line-finish hooks if .zshrc is manually sourced. Prezto will also remove
+    # zle-keymap-select.
+    #
+    # Another common (and much more robust) way to apply rc file changes to the
+    # current shell is `exec zsh`. This will remove our integration from the shell
+    # unless it's explicitly invoked from .zshrc. This is not an issue with
+    # `exec zsh` but rather with our implementation of automatic shell integration.
+
+    # In the ideal world we would use add-zle-hook-widget to hook zle-line-init
+    # and similar widget. This breaks user configs though, so we have do this
+    # horrible thing instead.
+    builtin local hook func widget orig_widget flag
+    for hook in line-init line-finish keymap-select; do
+        func=_ghostty_zle_${hook/-/_}
+        (( $+functions[$func] )) || builtin continue
+        widget=zle-$hook
+        if [[ $widgets[$widget] == user:azhw:* &&
+              $+functions[add-zle-hook-widget] -eq 1 ]]; then
+            # If the widget is already hooked by add-zle-hook-widget at the top
+            # level, add our hook at the end. We MUST do it this way. We cannot
+            # just wrap the widget ourselves in this case because it would
+            # trigger bugs in add-zle-hook-widget.
+            add-zle-hook-widget $hook $func
+        else
+            if (( $+widgets[$widget] )); then
+                # There is a widget but it's not from add-zle-hook-widget. We
+                # can rename the original widget, install our own and invoke
+                # the original when we are called.
+                #
+                # Note: The leading dot is to work around bugs in
+                # zsh-syntax-highlighting.
+                orig_widget=._ghostty_orig_$widget
+                builtin zle -A $widget $orig_widget
+                if [[ $widgets[$widget] == user:* ]]; then
+                    # No -w here to preserve $WIDGET within the original widget.
+                    flag=
+                else
+                    flag=w
+                fi
+                functions[$func]+="
+                    builtin zle $orig_widget -N$flag -- \"\$@\""
+            fi
+            builtin zle -N $widget $func
+        fi
+    done
+
+    if (( $+functions[_ghostty_preexec] )); then
+        builtin typeset -ag preexec_functions
+        preexec_functions+=(_ghostty_preexec)
+    fi
+
+    builtin typeset -ag precmd_functions
+    if (( $+functions[_ghostty_precmd] )); then
+        precmd_functions=(${precmd_functions:/_ghostty_deferred_init/_ghostty_precmd})
+        _ghostty_precmd
+    else
+        precmd_functions=(${precmd_functions:#_ghostty_deferred_init})
+    fi
+
+    # Unfunction _ghostty_deferred_init to save memory. Don't unfunction
+    # ghostty-integration though because decent public functions aren't supposed to
+    # to unfunction themselves when invoked. Unfunctioning is done by calling code.
+    builtin unfunction _ghostty_deferred_init
+}
+
+_entrypoint

+ 22 - 0
zig-out/share/ghostty/themes/0x96f

@@ -0,0 +1,22 @@
+palette = 0=#262427
+palette = 1=#ff7272
+palette = 2=#bcdf59
+palette = 3=#ffca58
+palette = 4=#49cae4
+palette = 5=#a093e2
+palette = 6=#aee8f4
+palette = 7=#fcfcfa
+palette = 8=#545452
+palette = 9=#ff8787
+palette = 10=#c6e472
+palette = 11=#ffd271
+palette = 12=#64d2e8
+palette = 13=#aea3e6
+palette = 14=#baebf6
+palette = 15=#fcfcfa
+background = #262427
+foreground = #fcfcfa
+cursor-color = #fcfcfa
+cursor-text = #000000
+selection-background = #fcfcfa
+selection-foreground = #262427

+ 22 - 0
zig-out/share/ghostty/themes/3024 Day

@@ -0,0 +1,22 @@
+palette = 0=#090300
+palette = 1=#db2d20
+palette = 2=#01a252
+palette = 3=#fded02
+palette = 4=#01a0e4
+palette = 5=#a16a94
+palette = 6=#b5e4f4
+palette = 7=#a5a2a2
+palette = 8=#5c5855
+palette = 9=#e8bbd0
+palette = 10=#3a3432
+palette = 11=#4a4543
+palette = 12=#807d7c
+palette = 13=#d6d5d4
+palette = 14=#cdab53
+palette = 15=#f7f7f7
+background = #f7f7f7
+foreground = #4a4543
+cursor-color = #4a4543
+cursor-text = #f7f7f7
+selection-background = #a5a2a2
+selection-foreground = #4a4543

+ 22 - 0
zig-out/share/ghostty/themes/3024 Night

@@ -0,0 +1,22 @@
+palette = 0=#090300
+palette = 1=#db2d20
+palette = 2=#01a252
+palette = 3=#fded02
+palette = 4=#01a0e4
+palette = 5=#a16a94
+palette = 6=#b5e4f4
+palette = 7=#a5a2a2
+palette = 8=#5c5855
+palette = 9=#e8bbd0
+palette = 10=#3a3432
+palette = 11=#4a4543
+palette = 12=#807d7c
+palette = 13=#d6d5d4
+palette = 14=#cdab53
+palette = 15=#f7f7f7
+background = #090300
+foreground = #a5a2a2
+cursor-color = #a5a2a2
+cursor-text = #090300
+selection-background = #4a4543
+selection-foreground = #a5a2a2

+ 22 - 0
zig-out/share/ghostty/themes/Aardvark Blue

@@ -0,0 +1,22 @@
+palette = 0=#191919
+palette = 1=#aa342e
+palette = 2=#4b8c0f
+palette = 3=#dbba00
+palette = 4=#1370d3
+palette = 5=#c43ac3
+palette = 6=#008eb0
+palette = 7=#bebebe
+palette = 8=#454545
+palette = 9=#f05b50
+palette = 10=#95dc55
+palette = 11=#ffe763
+palette = 12=#60a4ec
+palette = 13=#e26be2
+palette = 14=#60b6cb
+palette = 15=#f7f7f7
+background = #102040
+foreground = #dddddd
+cursor-color = #007acc
+cursor-text = #bfdbfe
+selection-background = #bfdbfe
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Abernathy

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#cd0000
+palette = 2=#00cd00
+palette = 3=#cdcd00
+palette = 4=#1093f5
+palette = 5=#cd00cd
+palette = 6=#00cdcd
+palette = 7=#faebd7
+palette = 8=#404040
+palette = 9=#ff0000
+palette = 10=#00ff00
+palette = 11=#ffff00
+palette = 12=#11b5f6
+palette = 13=#ff00ff
+palette = 14=#00ffff
+palette = 15=#ffffff
+background = #111416
+foreground = #eeeeec
+cursor-color = #bbbbbb
+cursor-text = #ffffff
+selection-background = #eeeeec
+selection-foreground = #333333

+ 22 - 0
zig-out/share/ghostty/themes/Adventure

@@ -0,0 +1,22 @@
+palette = 0=#040404
+palette = 1=#d84a33
+palette = 2=#5da602
+palette = 3=#eebb6e
+palette = 4=#417ab3
+palette = 5=#e5c499
+palette = 6=#bdcfe5
+palette = 7=#dbded8
+palette = 8=#685656
+palette = 9=#d76b42
+palette = 10=#99b52c
+palette = 11=#ffb670
+palette = 12=#97d7ef
+palette = 13=#aa7900
+palette = 14=#bdcfe5
+palette = 15=#e4d5c7
+background = #040404
+foreground = #feffff
+cursor-color = #feffff
+cursor-text = #000000
+selection-background = #606060
+selection-foreground = #ffffff

+ 22 - 0
zig-out/share/ghostty/themes/AdventureTime

@@ -0,0 +1,22 @@
+palette = 0=#050404
+palette = 1=#bd0013
+palette = 2=#4ab118
+palette = 3=#e7741e
+palette = 4=#0f4ac6
+palette = 5=#665993
+palette = 6=#70a598
+palette = 7=#f8dcc0
+palette = 8=#4e7cbf
+palette = 9=#fc5f5a
+palette = 10=#9eff6e
+palette = 11=#efc11a
+palette = 12=#1997c6
+palette = 13=#9b5953
+palette = 14=#c8faf4
+palette = 15=#f6f5fb
+background = #1f1d45
+foreground = #f8dcc0
+cursor-color = #efbf38
+cursor-text = #08080a
+selection-background = #706b4e
+selection-foreground = #f3d9c4

+ 22 - 0
zig-out/share/ghostty/themes/Adwaita

@@ -0,0 +1,22 @@
+palette = 0=#241f31
+palette = 1=#c01c28
+palette = 2=#2ec27e
+palette = 3=#f5c211
+palette = 4=#1e78e4
+palette = 5=#9841bb
+palette = 6=#0ab9dc
+palette = 7=#c0bfbc
+palette = 8=#5e5c64
+palette = 9=#ed333b
+palette = 10=#57e389
+palette = 11=#f8e45c
+palette = 12=#51a1ff
+palette = 13=#c061cb
+palette = 14=#4fd2fd
+palette = 15=#f6f5f4
+background = #ffffff
+foreground = #000000
+cursor-color = #000000
+cursor-text = #ffffff
+selection-background = #c0bfbc
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Adwaita Dark

@@ -0,0 +1,22 @@
+palette = 0=#241f31
+palette = 1=#c01c28
+palette = 2=#2ec27e
+palette = 3=#f5c211
+palette = 4=#1e78e4
+palette = 5=#9841bb
+palette = 6=#0ab9dc
+palette = 7=#c0bfbc
+palette = 8=#5e5c64
+palette = 9=#ed333b
+palette = 10=#57e389
+palette = 11=#f8e45c
+palette = 12=#51a1ff
+palette = 13=#c061cb
+palette = 14=#4fd2fd
+palette = 15=#f6f5f4
+background = #1e1e1e
+foreground = #ffffff
+cursor-color = #ffffff
+cursor-text = #1e1e1e
+selection-background = #ffffff
+selection-foreground = #5e5c64

+ 22 - 0
zig-out/share/ghostty/themes/Afterglow

@@ -0,0 +1,22 @@
+palette = 0=#151515
+palette = 1=#ac4142
+palette = 2=#7e8e50
+palette = 3=#e5b567
+palette = 4=#6c99bb
+palette = 5=#9f4e85
+palette = 6=#7dd6cf
+palette = 7=#d0d0d0
+palette = 8=#505050
+palette = 9=#ac4142
+palette = 10=#7e8e50
+palette = 11=#e5b567
+palette = 12=#6c99bb
+palette = 13=#9f4e85
+palette = 14=#7dd6cf
+palette = 15=#f5f5f5
+background = #212121
+foreground = #d0d0d0
+cursor-color = #d0d0d0
+cursor-text = #151515
+selection-background = #303030
+selection-foreground = #d0d0d0

+ 22 - 0
zig-out/share/ghostty/themes/Alabaster

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#aa3731
+palette = 2=#448c27
+palette = 3=#cb9000
+palette = 4=#325cc0
+palette = 5=#7a3e9d
+palette = 6=#0083b2
+palette = 7=#f7f7f7
+palette = 8=#777777
+palette = 9=#f05050
+palette = 10=#60cb00
+palette = 11=#ffbc5d
+palette = 12=#007acc
+palette = 13=#e64ce6
+palette = 14=#00aacb
+palette = 15=#f7f7f7
+background = #f7f7f7
+foreground = #000000
+cursor-color = #007acc
+cursor-text = #bfdbfe
+selection-background = #bfdbfe
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/AlienBlood

@@ -0,0 +1,22 @@
+palette = 0=#112616
+palette = 1=#7f2b27
+palette = 2=#2f7e25
+palette = 3=#717f24
+palette = 4=#2f6a7f
+palette = 5=#47587f
+palette = 6=#327f77
+palette = 7=#647d75
+palette = 8=#3c4812
+palette = 9=#e08009
+palette = 10=#18e000
+palette = 11=#bde000
+palette = 12=#00aae0
+palette = 13=#0058e0
+palette = 14=#00e0c4
+palette = 15=#73fa91
+background = #0f1610
+foreground = #637d75
+cursor-color = #73fa91
+cursor-text = #0f1610
+selection-background = #1d4125
+selection-foreground = #73fa91

+ 22 - 0
zig-out/share/ghostty/themes/Andromeda

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#cd3131
+palette = 2=#05bc79
+palette = 3=#e5e512
+palette = 4=#2472c8
+palette = 5=#bc3fbc
+palette = 6=#0fa8cd
+palette = 7=#e5e5e5
+palette = 8=#666666
+palette = 9=#cd3131
+palette = 10=#05bc79
+palette = 11=#e5e512
+palette = 12=#2472c8
+palette = 13=#bc3fbc
+palette = 14=#0fa8cd
+palette = 15=#e5e5e5
+background = #262a33
+foreground = #e5e5e5
+cursor-color = #f8f8f0
+cursor-text = #cfcfc2
+selection-background = #5a5c62
+selection-foreground = #ece7e7

+ 22 - 0
zig-out/share/ghostty/themes/Apple Classic

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#c91b00
+palette = 2=#00c200
+palette = 3=#c7c400
+palette = 4=#0225c7
+palette = 5=#ca30c7
+palette = 6=#00c5c7
+palette = 7=#c7c7c7
+palette = 8=#686868
+palette = 9=#ff6e67
+palette = 10=#5ffa68
+palette = 11=#fffc67
+palette = 12=#6871ff
+palette = 13=#ff77ff
+palette = 14=#60fdff
+palette = 15=#ffffff
+background = #2c2b2b
+foreground = #d5a200
+cursor-color = #c7c7c7
+cursor-text = #ffffff
+selection-background = #6b5b02
+selection-foreground = #67e000

+ 22 - 0
zig-out/share/ghostty/themes/Apple System Colors

@@ -0,0 +1,22 @@
+palette = 0=#1a1a1a
+palette = 1=#cc372e
+palette = 2=#26a439
+palette = 3=#cdac08
+palette = 4=#0869cb
+palette = 5=#9647bf
+palette = 6=#479ec2
+palette = 7=#98989d
+palette = 8=#464646
+palette = 9=#ff453a
+palette = 10=#32d74b
+palette = 11=#ffd60a
+palette = 12=#0a84ff
+palette = 13=#bf5af2
+palette = 14=#76d6ff
+palette = 15=#ffffff
+background = #1e1e1e
+foreground = #ffffff
+cursor-color = #98989d
+cursor-text = #ffffff
+selection-background = #3f638b
+selection-foreground = #ffffff

+ 22 - 0
zig-out/share/ghostty/themes/Apple System Colors Light

@@ -0,0 +1,22 @@
+palette = 0=#1a1a1a
+palette = 1=#bc4437
+palette = 2=#51a148
+palette = 3=#c7ad3a
+palette = 4=#2e68c5
+palette = 5=#8c4bb8
+palette = 6=#5e9cbe
+palette = 7=#98989d
+palette = 8=#464646
+palette = 9=#eb5545
+palette = 10=#6bd45f
+palette = 11=#f8d84a
+palette = 12=#3b82f7
+palette = 13=#b260ea
+palette = 14=#8dd3fb
+palette = 15=#ffffff
+background = #feffff
+foreground = #000000
+cursor-color = #98989d
+cursor-text = #ffffff
+selection-background = #b4d7ff
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Ardoise

@@ -0,0 +1,22 @@
+palette = 0=#2c2c2c
+palette = 1=#d3322d
+palette = 2=#588b35
+palette = 3=#fca93a
+palette = 4=#2465c2
+palette = 5=#7332b4
+palette = 6=#64e1b8
+palette = 7=#f7f7f7
+palette = 8=#535353
+palette = 9=#fa5852
+palette = 10=#8dc252
+palette = 11=#ffea51
+palette = 12=#6ab5f8
+palette = 13=#be68ca
+palette = 14=#89ffdb
+palette = 15=#fefefe
+background = #1e1e1e
+foreground = #eaeaea
+cursor-color = #f7f7f7
+cursor-text = #000000
+selection-background = #46515e
+selection-foreground = #f1f3f5

+ 22 - 0
zig-out/share/ghostty/themes/Argonaut

@@ -0,0 +1,22 @@
+palette = 0=#232323
+palette = 1=#ff000f
+palette = 2=#8ce10b
+palette = 3=#ffb900
+palette = 4=#008df8
+palette = 5=#6d43a6
+palette = 6=#00d8eb
+palette = 7=#ffffff
+palette = 8=#444444
+palette = 9=#ff2740
+palette = 10=#abe15b
+palette = 11=#ffd242
+palette = 12=#0092ff
+palette = 13=#9a5feb
+palette = 14=#67fff0
+palette = 15=#ffffff
+background = #0e1019
+foreground = #fffaf4
+cursor-color = #ff0018
+cursor-text = #ff0018
+selection-background = #002a3b
+selection-foreground = #ffffff

+ 22 - 0
zig-out/share/ghostty/themes/Arthur

@@ -0,0 +1,22 @@
+palette = 0=#3d352a
+palette = 1=#cd5c5c
+palette = 2=#86af80
+palette = 3=#e8ae5b
+palette = 4=#6495ed
+palette = 5=#deb887
+palette = 6=#b0c4de
+palette = 7=#bbaa99
+palette = 8=#554444
+palette = 9=#cc5533
+palette = 10=#88aa22
+palette = 11=#ffa75d
+palette = 12=#87ceeb
+palette = 13=#996600
+palette = 14=#b0c4de
+palette = 15=#ddccbb
+background = #1c1c1c
+foreground = #ddeedd
+cursor-color = #e2bbef
+cursor-text = #000000
+selection-background = #4d4d4d
+selection-foreground = #ffffff

+ 22 - 0
zig-out/share/ghostty/themes/AtelierSulphurpool

@@ -0,0 +1,22 @@
+palette = 0=#202746
+palette = 1=#c94922
+palette = 2=#ac9739
+palette = 3=#c08b30
+palette = 4=#3d8fd1
+palette = 5=#6679cc
+palette = 6=#22a2c9
+palette = 7=#979db4
+palette = 8=#6b7394
+palette = 9=#c76b29
+palette = 10=#293256
+palette = 11=#5e6687
+palette = 12=#898ea4
+palette = 13=#dfe2f1
+palette = 14=#9c637a
+palette = 15=#f5f7ff
+background = #202746
+foreground = #979db4
+cursor-color = #979db4
+cursor-text = #202746
+selection-background = #5e6687
+selection-foreground = #979db4

+ 22 - 0
zig-out/share/ghostty/themes/Atom

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#fd5ff1
+palette = 2=#87c38a
+palette = 3=#ffd7b1
+palette = 4=#85befd
+palette = 5=#b9b6fc
+palette = 6=#85befd
+palette = 7=#e0e0e0
+palette = 8=#000000
+palette = 9=#fd5ff1
+palette = 10=#94fa36
+palette = 11=#f5ffa8
+palette = 12=#96cbfe
+palette = 13=#b9b6fc
+palette = 14=#85befd
+palette = 15=#e0e0e0
+background = #161719
+foreground = #c5c8c6
+cursor-color = #d0d0d0
+cursor-text = #151515
+selection-background = #444444
+selection-foreground = #c5c8c6

+ 22 - 0
zig-out/share/ghostty/themes/AtomOneDark

@@ -0,0 +1,22 @@
+palette = 0=#21252b
+palette = 1=#e06c75
+palette = 2=#98c379
+palette = 3=#e5c07b
+palette = 4=#61afef
+palette = 5=#c678dd
+palette = 6=#56b6c2
+palette = 7=#abb2bf
+palette = 8=#767676
+palette = 9=#e06c75
+palette = 10=#98c379
+palette = 11=#e5c07b
+palette = 12=#61afef
+palette = 13=#c678dd
+palette = 14=#56b6c2
+palette = 15=#abb2bf
+background = #21252b
+foreground = #abb2bf
+cursor-color = #abb2bf
+cursor-text = #abb2bf
+selection-background = #323844
+selection-foreground = #abb2bf

+ 22 - 0
zig-out/share/ghostty/themes/AtomOneLight

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#de3e35
+palette = 2=#3f953a
+palette = 3=#d2b67c
+palette = 4=#2f5af3
+palette = 5=#950095
+palette = 6=#3f953a
+palette = 7=#bbbbbb
+palette = 8=#000000
+palette = 9=#de3e35
+palette = 10=#3f953a
+palette = 11=#d2b67c
+palette = 12=#2f5af3
+palette = 13=#a00095
+palette = 14=#3f953a
+palette = 15=#ffffff
+background = #f9f9f9
+foreground = #2a2c33
+cursor-color = #bbbbbb
+cursor-text = #ffffff
+selection-background = #ededed
+selection-foreground = #2a2c33

+ 22 - 0
zig-out/share/ghostty/themes/Aura

@@ -0,0 +1,22 @@
+palette = 0=#110f18
+palette = 1=#ff6767
+palette = 2=#61ffca
+palette = 3=#ffca85
+palette = 4=#a277ff
+palette = 5=#a277ff
+palette = 6=#61ffca
+palette = 7=#edecee
+palette = 8=#4d4d4d
+palette = 9=#ffca85
+palette = 10=#a277ff
+palette = 11=#ffca85
+palette = 12=#a277ff
+palette = 13=#a277ff
+palette = 14=#61ffca
+palette = 15=#edecee
+background = #15141b
+foreground = #edecee
+cursor-color = #a277ff
+cursor-text = #edecee
+selection-background = #a277ff
+selection-foreground = #edecee

+ 22 - 0
zig-out/share/ghostty/themes/Aurora

@@ -0,0 +1,22 @@
+palette = 0=#23262e
+palette = 1=#f0266f
+palette = 2=#8fd46d
+palette = 3=#ffe66d
+palette = 4=#0321d7
+palette = 5=#ee5d43
+palette = 6=#03d6b8
+palette = 7=#c74ded
+palette = 8=#292e38
+palette = 9=#f92672
+palette = 10=#8fd46d
+palette = 11=#ffe66d
+palette = 12=#03d6b8
+palette = 13=#ee5d43
+palette = 14=#03d6b8
+palette = 15=#c74ded
+background = #23262e
+foreground = #ffca28
+cursor-color = #ee5d43
+cursor-text = #ffd29c
+selection-background = #292e38
+selection-foreground = #00e8c6

+ 22 - 0
zig-out/share/ghostty/themes/Ayu Mirage

@@ -0,0 +1,22 @@
+palette = 0=#191e2a
+palette = 1=#ed8274
+palette = 2=#a6cc70
+palette = 3=#fad07b
+palette = 4=#6dcbfa
+palette = 5=#cfbafa
+palette = 6=#90e1c6
+palette = 7=#c7c7c7
+palette = 8=#686868
+palette = 9=#f28779
+palette = 10=#bae67e
+palette = 11=#ffd580
+palette = 12=#73d0ff
+palette = 13=#d4bfff
+palette = 14=#95e6cb
+palette = 15=#ffffff
+background = #1f2430
+foreground = #cbccc6
+cursor-color = #ffcc66
+cursor-text = #1f2430
+selection-background = #33415e
+selection-foreground = #cbccc6

+ 22 - 0
zig-out/share/ghostty/themes/Banana Blueberry

@@ -0,0 +1,22 @@
+palette = 0=#17141f
+palette = 1=#ff6b7f
+palette = 2=#00bd9c
+palette = 3=#e6c62f
+palette = 4=#22e8df
+palette = 5=#dc396a
+palette = 6=#56b6c2
+palette = 7=#f1f1f1
+palette = 8=#495162
+palette = 9=#fe9ea1
+palette = 10=#98c379
+palette = 11=#f9e46b
+palette = 12=#91fff4
+palette = 13=#da70d6
+palette = 14=#bcf3ff
+palette = 15=#ffffff
+background = #191323
+foreground = #cccccc
+cursor-color = #e07d13
+cursor-text = #ffffff
+selection-background = #220525
+selection-foreground = #f4f4f4

+ 22 - 0
zig-out/share/ghostty/themes/Batman

@@ -0,0 +1,22 @@
+palette = 0=#1b1d1e
+palette = 1=#e6dc44
+palette = 2=#c8be46
+palette = 3=#f4fd22
+palette = 4=#737174
+palette = 5=#747271
+palette = 6=#62605f
+palette = 7=#c6c5bf
+palette = 8=#505354
+palette = 9=#fff78e
+palette = 10=#fff27d
+palette = 11=#feed6c
+palette = 12=#919495
+palette = 13=#9a9a9d
+palette = 14=#a3a3a6
+palette = 15=#dadbd6
+background = #1b1d1e
+foreground = #6f6f6f
+cursor-color = #fcef0c
+cursor-text = #000000
+selection-background = #4d504c
+selection-foreground = #f0e04a

+ 22 - 0
zig-out/share/ghostty/themes/Belafonte Day

@@ -0,0 +1,22 @@
+palette = 0=#20111b
+palette = 1=#be100e
+palette = 2=#858162
+palette = 3=#eaa549
+palette = 4=#426a79
+palette = 5=#97522c
+palette = 6=#989a9c
+palette = 7=#968c83
+palette = 8=#5e5252
+palette = 9=#be100e
+palette = 10=#858162
+palette = 11=#eaa549
+palette = 12=#426a79
+palette = 13=#97522c
+palette = 14=#989a9c
+palette = 15=#d5ccba
+background = #d5ccba
+foreground = #45373c
+cursor-color = #45373c
+cursor-text = #d5ccba
+selection-background = #968c83
+selection-foreground = #45373c

+ 22 - 0
zig-out/share/ghostty/themes/Belafonte Night

@@ -0,0 +1,22 @@
+palette = 0=#20111b
+palette = 1=#be100e
+palette = 2=#858162
+palette = 3=#eaa549
+palette = 4=#426a79
+palette = 5=#97522c
+palette = 6=#989a9c
+palette = 7=#968c83
+palette = 8=#5e5252
+palette = 9=#be100e
+palette = 10=#858162
+palette = 11=#eaa549
+palette = 12=#426a79
+palette = 13=#97522c
+palette = 14=#989a9c
+palette = 15=#d5ccba
+background = #20111b
+foreground = #968c83
+cursor-color = #968c83
+cursor-text = #20111b
+selection-background = #45373c
+selection-foreground = #968c83

+ 22 - 0
zig-out/share/ghostty/themes/BirdsOfParadise

@@ -0,0 +1,22 @@
+palette = 0=#573d26
+palette = 1=#be2d26
+palette = 2=#6ba18a
+palette = 3=#e99d2a
+palette = 4=#5a86ad
+palette = 5=#ac80a6
+palette = 6=#74a6ad
+palette = 7=#e0dbb7
+palette = 8=#9b6c4a
+palette = 9=#e84627
+palette = 10=#95d8ba
+palette = 11=#d0d150
+palette = 12=#b8d3ed
+palette = 13=#d19ecb
+palette = 14=#93cfd7
+palette = 15=#fff9d5
+background = #2a1f1d
+foreground = #e0dbb7
+cursor-color = #573d26
+cursor-text = #573d26
+selection-background = #563c27
+selection-foreground = #e0dbbb

+ 22 - 0
zig-out/share/ghostty/themes/Black Metal

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#486e6f
+palette = 2=#dd9999
+palette = 3=#a06666
+palette = 4=#888888
+palette = 5=#999999
+palette = 6=#aaaaaa
+palette = 7=#c1c1c1
+palette = 8=#333333
+palette = 9=#486e6f
+palette = 10=#dd9999
+palette = 11=#a06666
+palette = 12=#888888
+palette = 13=#999999
+palette = 14=#aaaaaa
+palette = 15=#c1c1c1
+background = #000000
+foreground = #c1c1c1
+cursor-color = #c1c1c1
+cursor-text = #c1c1c1
+selection-background = #c1c1c1
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Black Metal (Bathory)

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#5f8787
+palette = 2=#fbcb97
+palette = 3=#e78a53
+palette = 4=#888888
+palette = 5=#999999
+palette = 6=#aaaaaa
+palette = 7=#c1c1c1
+palette = 8=#333333
+palette = 9=#5f8787
+palette = 10=#fbcb97
+palette = 11=#e78a53
+palette = 12=#888888
+palette = 13=#999999
+palette = 14=#aaaaaa
+palette = 15=#c1c1c1
+background = #000000
+foreground = #c1c1c1
+cursor-color = #c1c1c1
+cursor-text = #c1c1c1
+selection-background = #c1c1c1
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Black Metal (Burzum)

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#5f8787
+palette = 2=#ddeecc
+palette = 3=#99bbaa
+palette = 4=#888888
+palette = 5=#999999
+palette = 6=#aaaaaa
+palette = 7=#c1c1c1
+palette = 8=#333333
+palette = 9=#5f8787
+palette = 10=#ddeecc
+palette = 11=#99bbaa
+palette = 12=#888888
+palette = 13=#999999
+palette = 14=#aaaaaa
+palette = 15=#c1c1c1
+background = #000000
+foreground = #c1c1c1
+cursor-color = #c1c1c1
+cursor-text = #c1c1c1
+selection-background = #c1c1c1
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Black Metal (Dark Funeral)

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#5f8787
+palette = 2=#d0dfee
+palette = 3=#5f81a5
+palette = 4=#888888
+palette = 5=#999999
+palette = 6=#aaaaaa
+palette = 7=#c1c1c1
+palette = 8=#333333
+palette = 9=#5f8787
+palette = 10=#d0dfee
+palette = 11=#5f81a5
+palette = 12=#888888
+palette = 13=#999999
+palette = 14=#aaaaaa
+palette = 15=#c1c1c1
+background = #000000
+foreground = #c1c1c1
+cursor-color = #c1c1c1
+cursor-text = #c1c1c1
+selection-background = #c1c1c1
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Black Metal (Gorgoroth)

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#5f8787
+palette = 2=#9b8d7f
+palette = 3=#8c7f70
+palette = 4=#888888
+palette = 5=#999999
+palette = 6=#aaaaaa
+palette = 7=#c1c1c1
+palette = 8=#333333
+palette = 9=#5f8787
+palette = 10=#9b8d7f
+palette = 11=#8c7f70
+palette = 12=#888888
+palette = 13=#999999
+palette = 14=#aaaaaa
+palette = 15=#c1c1c1
+background = #000000
+foreground = #c1c1c1
+cursor-color = #c1c1c1
+cursor-text = #c1c1c1
+selection-background = #c1c1c1
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Black Metal (Immortal)

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#5f8787
+palette = 2=#7799bb
+palette = 3=#556677
+palette = 4=#888888
+palette = 5=#999999
+palette = 6=#aaaaaa
+palette = 7=#c1c1c1
+palette = 8=#333333
+palette = 9=#5f8787
+palette = 10=#7799bb
+palette = 11=#556677
+palette = 12=#888888
+palette = 13=#999999
+palette = 14=#aaaaaa
+palette = 15=#c1c1c1
+background = #000000
+foreground = #c1c1c1
+cursor-color = #c1c1c1
+cursor-text = #c1c1c1
+selection-background = #c1c1c1
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Black Metal (Khold)

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#5f8787
+palette = 2=#eceee3
+palette = 3=#974b46
+palette = 4=#888888
+palette = 5=#999999
+palette = 6=#aaaaaa
+palette = 7=#c1c1c1
+palette = 8=#333333
+palette = 9=#5f8787
+palette = 10=#eceee3
+palette = 11=#974b46
+palette = 12=#888888
+palette = 13=#999999
+palette = 14=#aaaaaa
+palette = 15=#c1c1c1
+background = #000000
+foreground = #c1c1c1
+cursor-color = #c1c1c1
+cursor-text = #c1c1c1
+selection-background = #c1c1c1
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Black Metal (Marduk)

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#5f8787
+palette = 2=#a5aaa7
+palette = 3=#626b67
+palette = 4=#888888
+palette = 5=#999999
+palette = 6=#aaaaaa
+palette = 7=#c1c1c1
+palette = 8=#333333
+palette = 9=#5f8787
+palette = 10=#a5aaa7
+palette = 11=#626b67
+palette = 12=#888888
+palette = 13=#999999
+palette = 14=#aaaaaa
+palette = 15=#c1c1c1
+background = #000000
+foreground = #c1c1c1
+cursor-color = #c1c1c1
+cursor-text = #c1c1c1
+selection-background = #c1c1c1
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Black Metal (Mayhem)

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#5f8787
+palette = 2=#f3ecd4
+palette = 3=#eecc6c
+palette = 4=#888888
+palette = 5=#999999
+palette = 6=#aaaaaa
+palette = 7=#c1c1c1
+palette = 8=#333333
+palette = 9=#5f8787
+palette = 10=#f3ecd4
+palette = 11=#eecc6c
+palette = 12=#888888
+palette = 13=#999999
+palette = 14=#aaaaaa
+palette = 15=#c1c1c1
+background = #000000
+foreground = #c1c1c1
+cursor-color = #c1c1c1
+cursor-text = #c1c1c1
+selection-background = #c1c1c1
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Black Metal (Nile)

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#5f8787
+palette = 2=#aa9988
+palette = 3=#777755
+palette = 4=#888888
+palette = 5=#999999
+palette = 6=#aaaaaa
+palette = 7=#c1c1c1
+palette = 8=#333333
+palette = 9=#5f8787
+palette = 10=#aa9988
+palette = 11=#777755
+palette = 12=#888888
+palette = 13=#999999
+palette = 14=#aaaaaa
+palette = 15=#c1c1c1
+background = #000000
+foreground = #c1c1c1
+cursor-color = #c1c1c1
+cursor-text = #c1c1c1
+selection-background = #c1c1c1
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Black Metal (Venom)

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#5f8787
+palette = 2=#f8f7f2
+palette = 3=#79241f
+palette = 4=#888888
+palette = 5=#999999
+palette = 6=#aaaaaa
+palette = 7=#c1c1c1
+palette = 8=#333333
+palette = 9=#5f8787
+palette = 10=#f8f7f2
+palette = 11=#79241f
+palette = 12=#888888
+palette = 13=#999999
+palette = 14=#aaaaaa
+palette = 15=#c1c1c1
+background = #000000
+foreground = #c1c1c1
+cursor-color = #c1c1c1
+cursor-text = #c1c1c1
+selection-background = #c1c1c1
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Blazer

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#b87a7a
+palette = 2=#7ab87a
+palette = 3=#b8b87a
+palette = 4=#7a7ab8
+palette = 5=#b87ab8
+palette = 6=#7ab8b8
+palette = 7=#d9d9d9
+palette = 8=#262626
+palette = 9=#dbbdbd
+palette = 10=#bddbbd
+palette = 11=#dbdbbd
+palette = 12=#bdbddb
+palette = 13=#dbbddb
+palette = 14=#bddbdb
+palette = 15=#ffffff
+background = #0d1926
+foreground = #d9e6f2
+cursor-color = #d9e6f2
+cursor-text = #0d1926
+selection-background = #c1ddff
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Blue Matrix

@@ -0,0 +1,22 @@
+palette = 0=#101116
+palette = 1=#ff5680
+palette = 2=#00ff9c
+palette = 3=#fffc58
+palette = 4=#00b0ff
+palette = 5=#d57bff
+palette = 6=#76c1ff
+palette = 7=#c7c7c7
+palette = 8=#686868
+palette = 9=#ff6e67
+palette = 10=#5ffa68
+palette = 11=#fffc67
+palette = 12=#6871ff
+palette = 13=#d682ec
+palette = 14=#60fdff
+palette = 15=#ffffff
+background = #101116
+foreground = #00a2ff
+cursor-color = #76ff9f
+cursor-text = #ffffff
+selection-background = #c1deff
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/BlueBerryPie

@@ -0,0 +1,22 @@
+palette = 0=#0a4c62
+palette = 1=#99246e
+palette = 2=#5cb1b3
+palette = 3=#eab9a8
+palette = 4=#90a5bd
+palette = 5=#9d54a7
+palette = 6=#7e83cc
+palette = 7=#f0e8d6
+palette = 8=#201637
+palette = 9=#c87272
+palette = 10=#0a6c7e
+palette = 11=#7a3188
+palette = 12=#39173d
+palette = 13=#bc94b7
+palette = 14=#5e6071
+palette = 15=#0a6c7e
+background = #1c0c28
+foreground = #babab9
+cursor-color = #fcfad6
+cursor-text = #000000
+selection-background = #606060
+selection-foreground = #ffffff

+ 22 - 0
zig-out/share/ghostty/themes/BlueDolphin

@@ -0,0 +1,22 @@
+palette = 0=#292d3e
+palette = 1=#ff8288
+palette = 2=#b4e88d
+palette = 3=#f4d69f
+palette = 4=#82aaff
+palette = 5=#e9c1ff
+palette = 6=#89ebff
+palette = 7=#d0d0d0
+palette = 8=#434758
+palette = 9=#ff8b92
+palette = 10=#ddffa7
+palette = 11=#ffe585
+palette = 12=#9cc4ff
+palette = 13=#ddb0f6
+palette = 14=#a3f7ff
+palette = 15=#ffffff
+background = #006984
+foreground = #c5f2ff
+cursor-color = #ffcc00
+cursor-text = #292d3e
+selection-background = #2baeca
+selection-foreground = #eceff1

+ 22 - 0
zig-out/share/ghostty/themes/BlulocoDark

@@ -0,0 +1,22 @@
+palette = 0=#41444d
+palette = 1=#fc2f52
+palette = 2=#25a45c
+palette = 3=#ff936a
+palette = 4=#3476ff
+palette = 5=#7a82da
+palette = 6=#4483aa
+palette = 7=#cdd4e0
+palette = 8=#8f9aae
+palette = 9=#ff6480
+palette = 10=#3fc56b
+palette = 11=#f9c859
+palette = 12=#10b1fe
+palette = 13=#ff78f8
+palette = 14=#5fb9bc
+palette = 15=#ffffff
+background = #282c34
+foreground = #b9c0cb
+cursor-color = #ffcc00
+cursor-text = #282c34
+selection-background = #b9c0ca
+selection-foreground = #272b33

+ 22 - 0
zig-out/share/ghostty/themes/BlulocoLight

@@ -0,0 +1,22 @@
+palette = 0=#373a41
+palette = 1=#d52753
+palette = 2=#23974a
+palette = 3=#df631c
+palette = 4=#275fe4
+palette = 5=#823ff1
+palette = 6=#27618d
+palette = 7=#babbc2
+palette = 8=#676a77
+palette = 9=#ff6480
+palette = 10=#3cbc66
+palette = 11=#c5a332
+palette = 12=#0099e1
+palette = 13=#ce33c0
+palette = 14=#6d93bb
+palette = 15=#d3d3d3
+background = #f9f9f9
+foreground = #373a41
+cursor-color = #f32759
+cursor-text = #ffffff
+selection-background = #daf0ff
+selection-foreground = #373a41

+ 22 - 0
zig-out/share/ghostty/themes/Borland

@@ -0,0 +1,22 @@
+palette = 0=#4f4f4f
+palette = 1=#ff6c60
+palette = 2=#a8ff60
+palette = 3=#ffffb6
+palette = 4=#96cbfe
+palette = 5=#ff73fd
+palette = 6=#c6c5fe
+palette = 7=#eeeeee
+palette = 8=#7c7c7c
+palette = 9=#ffb6b0
+palette = 10=#ceffac
+palette = 11=#ffffcc
+palette = 12=#b5dcff
+palette = 13=#ff9cfe
+palette = 14=#dfdffe
+palette = 15=#ffffff
+background = #0000a4
+foreground = #ffff4e
+cursor-color = #ffa560
+cursor-text = #ffffff
+selection-background = #a4a4a4
+selection-foreground = #0000a4

+ 22 - 0
zig-out/share/ghostty/themes/Box

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#cc0403
+palette = 2=#19cb00
+palette = 3=#cecb00
+palette = 4=#0d73cc
+palette = 5=#cb1ed1
+palette = 6=#0dcdcd
+palette = 7=#dddddd
+palette = 8=#767676
+palette = 9=#f2201f
+palette = 10=#23fd00
+palette = 11=#fffd00
+palette = 12=#1a8fff
+palette = 13=#fd28ff
+palette = 14=#14ffff
+palette = 15=#ffffff
+background = #141d2b
+foreground = #9fef00
+cursor-color = #9fef00
+cursor-text = #111111
+selection-background = #a4b1cd
+selection-foreground = #141d2b

+ 22 - 0
zig-out/share/ghostty/themes/Breeze

@@ -0,0 +1,22 @@
+palette = 0=#31363b
+palette = 1=#ed1515
+palette = 2=#11d116
+palette = 3=#f67400
+palette = 4=#1d99f3
+palette = 5=#9b59b6
+palette = 6=#1abc9c
+palette = 7=#eff0f1
+palette = 8=#7f8c8d
+palette = 9=#c0392b
+palette = 10=#1cdc9a
+palette = 11=#fdbc4b
+palette = 12=#3daee9
+palette = 13=#8e44ad
+palette = 14=#16a085
+palette = 15=#fcfcfc
+background = #31363b
+foreground = #eff0f1
+cursor-color = #eff0f1
+cursor-text = #31363b
+selection-background = #eff0f1
+selection-foreground = #31363b

+ 22 - 0
zig-out/share/ghostty/themes/Bright Lights

@@ -0,0 +1,22 @@
+palette = 0=#191919
+palette = 1=#ff355b
+palette = 2=#b7e876
+palette = 3=#ffc251
+palette = 4=#76d4ff
+palette = 5=#ba76e7
+palette = 6=#6cbfb5
+palette = 7=#c2c8d7
+palette = 8=#191919
+palette = 9=#ff355b
+palette = 10=#b7e876
+palette = 11=#ffc251
+palette = 12=#76d5ff
+palette = 13=#ba76e7
+palette = 14=#6cbfb5
+palette = 15=#c2c8d7
+background = #191919
+foreground = #b3c9d7
+cursor-color = #f34b00
+cursor-text = #002831
+selection-background = #b3c9d7
+selection-foreground = #191919

+ 22 - 0
zig-out/share/ghostty/themes/Broadcast

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#da4939
+palette = 2=#519f50
+palette = 3=#ffd24a
+palette = 4=#6d9cbe
+palette = 5=#d0d0ff
+palette = 6=#6e9cbe
+palette = 7=#ffffff
+palette = 8=#323232
+palette = 9=#ff7b6b
+palette = 10=#83d182
+palette = 11=#ffff7c
+palette = 12=#9fcef0
+palette = 13=#ffffff
+palette = 14=#a0cef0
+palette = 15=#ffffff
+background = #2b2b2b
+foreground = #e6e1dc
+cursor-color = #ffffff
+cursor-text = #e6e1dc
+selection-background = #5a647e
+selection-foreground = #e6e1dc

+ 22 - 0
zig-out/share/ghostty/themes/Brogrammer

@@ -0,0 +1,22 @@
+palette = 0=#1f1f1f
+palette = 1=#f81118
+palette = 2=#2dc55e
+palette = 3=#ecba0f
+palette = 4=#2a84d2
+palette = 5=#4e5ab7
+palette = 6=#1081d6
+palette = 7=#d6dbe5
+palette = 8=#d6dbe5
+palette = 9=#de352e
+palette = 10=#1dd361
+palette = 11=#f3bd09
+palette = 12=#1081d6
+palette = 13=#5350b9
+palette = 14=#0f7ddb
+palette = 15=#ffffff
+background = #131313
+foreground = #d6dbe5
+cursor-color = #b9b9b9
+cursor-text = #101010
+selection-background = #1f1f1f
+selection-foreground = #d6dbe5

+ 22 - 0
zig-out/share/ghostty/themes/Builtin Dark

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#bb0000
+palette = 2=#00bb00
+palette = 3=#bbbb00
+palette = 4=#0000bb
+palette = 5=#bb00bb
+palette = 6=#00bbbb
+palette = 7=#bbbbbb
+palette = 8=#555555
+palette = 9=#ff5555
+palette = 10=#55ff55
+palette = 11=#ffff55
+palette = 12=#5555ff
+palette = 13=#ff55ff
+palette = 14=#55ffff
+palette = 15=#ffffff
+background = #000000
+foreground = #bbbbbb
+cursor-color = #bbbbbb
+cursor-text = #ffffff
+selection-background = #b5d5ff
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Builtin Light

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#bb0000
+palette = 2=#00bb00
+palette = 3=#bbbb00
+palette = 4=#0000bb
+palette = 5=#bb00bb
+palette = 6=#00bbbb
+palette = 7=#bbbbbb
+palette = 8=#555555
+palette = 9=#ff5555
+palette = 10=#55ff55
+palette = 11=#ffff55
+palette = 12=#5555ff
+palette = 13=#ff55ff
+palette = 14=#55ffff
+palette = 15=#ffffff
+background = #ffffff
+foreground = #000000
+cursor-color = #000000
+cursor-text = #ffffff
+selection-background = #b5d5ff
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Builtin Pastel Dark

@@ -0,0 +1,22 @@
+palette = 0=#4f4f4f
+palette = 1=#ff6c60
+palette = 2=#a8ff60
+palette = 3=#ffffb6
+palette = 4=#96cbfe
+palette = 5=#ff73fd
+palette = 6=#c6c5fe
+palette = 7=#eeeeee
+palette = 8=#7c7c7c
+palette = 9=#ffb6b0
+palette = 10=#ceffac
+palette = 11=#ffffcc
+palette = 12=#b5dcff
+palette = 13=#ff9cfe
+palette = 14=#dfdffe
+palette = 15=#ffffff
+background = #000000
+foreground = #bbbbbb
+cursor-color = #ffa560
+cursor-text = #ffffff
+selection-background = #363983
+selection-foreground = #f2f2f2

+ 22 - 0
zig-out/share/ghostty/themes/Builtin Solarized Dark

@@ -0,0 +1,22 @@
+palette = 0=#073642
+palette = 1=#dc322f
+palette = 2=#859900
+palette = 3=#b58900
+palette = 4=#268bd2
+palette = 5=#d33682
+palette = 6=#2aa198
+palette = 7=#eee8d5
+palette = 8=#002b36
+palette = 9=#cb4b16
+palette = 10=#586e75
+palette = 11=#657b83
+palette = 12=#839496
+palette = 13=#6c71c4
+palette = 14=#93a1a1
+palette = 15=#fdf6e3
+background = #002b36
+foreground = #839496
+cursor-color = #839496
+cursor-text = #073642
+selection-background = #073642
+selection-foreground = #93a1a1

+ 22 - 0
zig-out/share/ghostty/themes/Builtin Solarized Light

@@ -0,0 +1,22 @@
+palette = 0=#073642
+palette = 1=#dc322f
+palette = 2=#859900
+palette = 3=#b58900
+palette = 4=#268bd2
+palette = 5=#d33682
+palette = 6=#2aa198
+palette = 7=#eee8d5
+palette = 8=#002b36
+palette = 9=#cb4b16
+palette = 10=#586e75
+palette = 11=#657b83
+palette = 12=#839496
+palette = 13=#6c71c4
+palette = 14=#93a1a1
+palette = 15=#fdf6e3
+background = #fdf6e3
+foreground = #657b83
+cursor-color = #657b83
+cursor-text = #eee8d5
+selection-background = #eee8d5
+selection-foreground = #586e75

+ 22 - 0
zig-out/share/ghostty/themes/Builtin Tango Dark

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#cc0000
+palette = 2=#4e9a06
+palette = 3=#c4a000
+palette = 4=#3465a4
+palette = 5=#75507b
+palette = 6=#06989a
+palette = 7=#d3d7cf
+palette = 8=#555753
+palette = 9=#ef2929
+palette = 10=#8ae234
+palette = 11=#fce94f
+palette = 12=#729fcf
+palette = 13=#ad7fa8
+palette = 14=#34e2e2
+palette = 15=#eeeeec
+background = #000000
+foreground = #ffffff
+cursor-color = #ffffff
+cursor-text = #000000
+selection-background = #b5d5ff
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Builtin Tango Light

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#cc0000
+palette = 2=#4e9a06
+palette = 3=#c4a000
+palette = 4=#3465a4
+palette = 5=#75507b
+palette = 6=#06989a
+palette = 7=#d3d7cf
+palette = 8=#555753
+palette = 9=#ef2929
+palette = 10=#8ae234
+palette = 11=#fce94f
+palette = 12=#729fcf
+palette = 13=#ad7fa8
+palette = 14=#34e2e2
+palette = 15=#eeeeec
+background = #ffffff
+foreground = #000000
+cursor-color = #000000
+cursor-text = #ffffff
+selection-background = #b5d5ff
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/C64

@@ -0,0 +1,22 @@
+palette = 0=#090300
+palette = 1=#883932
+palette = 2=#55a049
+palette = 3=#bfce72
+palette = 4=#40318d
+palette = 5=#8b3f96
+palette = 6=#67b6bd
+palette = 7=#ffffff
+palette = 8=#000000
+palette = 9=#883932
+palette = 10=#55a049
+palette = 11=#bfce72
+palette = 12=#40318d
+palette = 13=#8b3f96
+palette = 14=#67b6bd
+palette = 15=#f7f7f7
+background = #40318d
+foreground = #7869c4
+cursor-color = #7869c4
+cursor-text = #40318d
+selection-background = #7869c4
+selection-foreground = #40318d

+ 22 - 0
zig-out/share/ghostty/themes/CGA

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#aa0000
+palette = 2=#00aa00
+palette = 3=#aa5500
+palette = 4=#0000aa
+palette = 5=#aa00aa
+palette = 6=#00aaaa
+palette = 7=#aaaaaa
+palette = 8=#555555
+palette = 9=#ff5555
+palette = 10=#55ff55
+palette = 11=#ffff55
+palette = 12=#5555ff
+palette = 13=#ff55ff
+palette = 14=#55ffff
+palette = 15=#ffffff
+background = #000000
+foreground = #aaaaaa
+cursor-color = #b8b8b8
+cursor-text = #ffffff
+selection-background = #c1deff
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/CLRS

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#f8282a
+palette = 2=#328a5d
+palette = 3=#fa701d
+palette = 4=#135cd0
+palette = 5=#9f00bd
+palette = 6=#33c3c1
+palette = 7=#b3b3b3
+palette = 8=#555753
+palette = 9=#fb0416
+palette = 10=#2cc631
+palette = 11=#fdd727
+palette = 12=#1670ff
+palette = 13=#e900b0
+palette = 14=#3ad5ce
+palette = 15=#eeeeec
+background = #ffffff
+foreground = #262626
+cursor-color = #6fd3fc
+cursor-text = #ffffff
+selection-background = #6fd3fc
+selection-foreground = #041730

+ 22 - 0
zig-out/share/ghostty/themes/Calamity

@@ -0,0 +1,22 @@
+palette = 0=#2f2833
+palette = 1=#fc644d
+palette = 2=#a5f69c
+palette = 3=#e9d7a5
+palette = 4=#3b79c7
+palette = 5=#f92672
+palette = 6=#74d3de
+palette = 7=#d5ced9
+palette = 8=#7e6c88
+palette = 9=#fc644d
+palette = 10=#a5f69c
+palette = 11=#e9d7a5
+palette = 12=#3b79c7
+palette = 13=#f92672
+palette = 14=#74d3de
+palette = 15=#ffffff
+background = #2f2833
+foreground = #d5ced9
+cursor-color = #d5ced9
+cursor-text = #2f2833
+selection-background = #7e6c88
+selection-foreground = #d5ced9

+ 22 - 0
zig-out/share/ghostty/themes/Chalk

@@ -0,0 +1,22 @@
+palette = 0=#7d8b8f
+palette = 1=#b23a52
+palette = 2=#789b6a
+palette = 3=#b9ac4a
+palette = 4=#2a7fac
+palette = 5=#bd4f5a
+palette = 6=#44a799
+palette = 7=#d2d8d9
+palette = 8=#888888
+palette = 9=#f24840
+palette = 10=#80c470
+palette = 11=#ffeb62
+palette = 12=#4196ff
+palette = 13=#fc5275
+palette = 14=#53cdbd
+palette = 15=#d2d8d9
+background = #2b2d2e
+foreground = #d2d8d9
+cursor-color = #708284
+cursor-text = #002831
+selection-background = #e4e8ed
+selection-foreground = #3f4041

+ 22 - 0
zig-out/share/ghostty/themes/Chalkboard

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#c37372
+palette = 2=#72c373
+palette = 3=#c2c372
+palette = 4=#7372c3
+palette = 5=#c372c2
+palette = 6=#72c2c3
+palette = 7=#d9d9d9
+palette = 8=#323232
+palette = 9=#dbaaaa
+palette = 10=#aadbaa
+palette = 11=#dadbaa
+palette = 12=#aaaadb
+palette = 13=#dbaada
+palette = 14=#aadadb
+palette = 15=#ffffff
+background = #29262f
+foreground = #d9e6f2
+cursor-color = #d9e6f2
+cursor-text = #29262f
+selection-background = #073642
+selection-foreground = #ffffff

+ 22 - 0
zig-out/share/ghostty/themes/ChallengerDeep

@@ -0,0 +1,22 @@
+palette = 0=#141228
+palette = 1=#ff5458
+palette = 2=#62d196
+palette = 3=#ffb378
+palette = 4=#65b2ff
+palette = 5=#906cff
+palette = 6=#63f2f1
+palette = 7=#a6b3cc
+palette = 8=#565575
+palette = 9=#ff8080
+palette = 10=#95ffa4
+palette = 11=#ffe9aa
+palette = 12=#91ddff
+palette = 13=#c991e1
+palette = 14=#aaffe4
+palette = 15=#cbe3e7
+background = #1e1c31
+foreground = #cbe1e7
+cursor-color = #fbfcfc
+cursor-text = #ff271d
+selection-background = #cbe1e7
+selection-foreground = #1e1c31

+ 22 - 0
zig-out/share/ghostty/themes/Chester

@@ -0,0 +1,22 @@
+palette = 0=#080200
+palette = 1=#fa5e5b
+palette = 2=#16c98d
+palette = 3=#ffc83f
+palette = 4=#288ad6
+palette = 5=#d34590
+palette = 6=#28ddde
+palette = 7=#e7e7e7
+palette = 8=#6f6b68
+palette = 9=#fa5e5b
+palette = 10=#16c98d
+palette = 11=#feef6d
+palette = 12=#278ad6
+palette = 13=#d34590
+palette = 14=#27dede
+palette = 15=#ffffff
+background = #2c3643
+foreground = #ffffff
+cursor-color = #b4b1b1
+cursor-text = #000000
+selection-background = #67747c
+selection-foreground = #ffffff

+ 22 - 0
zig-out/share/ghostty/themes/Ciapre

@@ -0,0 +1,22 @@
+palette = 0=#181818
+palette = 1=#810009
+palette = 2=#48513b
+palette = 3=#cc8b3f
+palette = 4=#576d8c
+palette = 5=#724d7c
+palette = 6=#5c4f4b
+palette = 7=#aea47f
+palette = 8=#555555
+palette = 9=#ac3835
+palette = 10=#a6a75d
+palette = 11=#dcdf7c
+palette = 12=#3097c6
+palette = 13=#d33061
+palette = 14=#f3dbb2
+palette = 15=#f4f4f4
+background = #191c27
+foreground = #aea47a
+cursor-color = #92805b
+cursor-text = #181818
+selection-background = #172539
+selection-foreground = #aea47f

+ 22 - 0
zig-out/share/ghostty/themes/Cobalt Neon

@@ -0,0 +1,22 @@
+palette = 0=#142631
+palette = 1=#ff2320
+palette = 2=#3ba5ff
+palette = 3=#e9e75c
+palette = 4=#8ff586
+palette = 5=#781aa0
+palette = 6=#8ff586
+palette = 7=#ba46b2
+palette = 8=#fff688
+palette = 9=#d4312e
+palette = 10=#8ff586
+palette = 11=#e9f06d
+palette = 12=#3c7dd2
+palette = 13=#8230a7
+palette = 14=#6cbc67
+palette = 15=#8ff586
+background = #142838
+foreground = #8ff586
+cursor-color = #c4206f
+cursor-text = #8ff586
+selection-background = #094fb1
+selection-foreground = #8ff586

+ 22 - 0
zig-out/share/ghostty/themes/Cobalt2

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#ff0000
+palette = 2=#38de21
+palette = 3=#ffe50a
+palette = 4=#1460d2
+palette = 5=#ff005d
+palette = 6=#00bbbb
+palette = 7=#bbbbbb
+palette = 8=#555555
+palette = 9=#f40e17
+palette = 10=#3bd01d
+palette = 11=#edc809
+palette = 12=#5555ff
+palette = 13=#ff55ff
+palette = 14=#6ae3fa
+palette = 15=#ffffff
+background = #132738
+foreground = #ffffff
+cursor-color = #f0cc09
+cursor-text = #fefff2
+selection-background = #18354f
+selection-foreground = #b5b5b5

+ 22 - 0
zig-out/share/ghostty/themes/CobaltNext

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#ed5f7d
+palette = 2=#99c794
+palette = 3=#fac863
+palette = 4=#5a9bcf
+palette = 5=#c5a5c5
+palette = 6=#5fb3b3
+palette = 7=#d8dee9
+palette = 8=#65737e
+palette = 9=#d6838c
+palette = 10=#c1dcbe
+palette = 11=#ffde9b
+palette = 12=#8abee7
+palette = 13=#edcded
+palette = 14=#9be2e2
+palette = 15=#ffffff
+background = #1b2b34
+foreground = #d8dee9
+cursor-color = #fac863
+cursor-text = #d8dee9
+selection-background = #4f5b66
+selection-foreground = #ffffff

+ 22 - 0
zig-out/share/ghostty/themes/CobaltNext-Dark

@@ -0,0 +1,22 @@
+palette = 0=#282f36
+palette = 1=#e6576a
+palette = 2=#99c794
+palette = 3=#fac863
+palette = 4=#5a9bcf
+palette = 5=#c5a5c5
+palette = 6=#5fb3b3
+palette = 7=#d8dee9
+palette = 8=#65737e
+palette = 9=#d6838c
+palette = 10=#c1dcbe
+palette = 11=#ffde9b
+palette = 12=#8abee7
+palette = 13=#edcded
+palette = 14=#9be2e2
+palette = 15=#ffffff
+background = #0f1c23
+foreground = #d8dee9
+cursor-color = #fac863
+cursor-text = #ffffff
+selection-background = #5fb3b3
+selection-foreground = #ffffff

+ 22 - 0
zig-out/share/ghostty/themes/CobaltNext-Minimal

@@ -0,0 +1,22 @@
+palette = 0=#343d46
+palette = 1=#ed6f7d
+palette = 2=#99c794
+palette = 3=#fac863
+palette = 4=#5a9bcf
+palette = 5=#c5a5c5
+palette = 6=#5fb3b3
+palette = 7=#d8dee9
+palette = 8=#65737e
+palette = 9=#d6838c
+palette = 10=#c1dcbe
+palette = 11=#ffde9b
+palette = 12=#8abee7
+palette = 13=#edcded
+palette = 14=#9be2e2
+palette = 15=#ffffff
+background = #0f1c23
+foreground = #d8dee9
+cursor-color = #5fb3b3
+cursor-text = #ffffff
+selection-background = #5fb3b3
+selection-foreground = #ffffff

+ 22 - 0
zig-out/share/ghostty/themes/CrayonPonyFish

@@ -0,0 +1,22 @@
+palette = 0=#2b1b1d
+palette = 1=#91002b
+palette = 2=#579524
+palette = 3=#ab311b
+palette = 4=#8c87b0
+palette = 5=#692f50
+palette = 6=#e8a866
+palette = 7=#68525a
+palette = 8=#3d2b2e
+palette = 9=#c5255d
+palette = 10=#8dff57
+palette = 11=#c8381d
+palette = 12=#cfc9ff
+palette = 13=#fc6cba
+palette = 14=#ffceaf
+palette = 15=#b0949d
+background = #150707
+foreground = #68525a
+cursor-color = #68525a
+cursor-text = #140707
+selection-background = #2b1b1d
+selection-foreground = #69525a

+ 22 - 0
zig-out/share/ghostty/themes/CutiePro

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#f56e7f
+palette = 2=#bec975
+palette = 3=#f58669
+palette = 4=#42d9c5
+palette = 5=#d286b7
+palette = 6=#37cb8a
+palette = 7=#d5c3c3
+palette = 8=#88847f
+palette = 9=#e5a1a3
+palette = 10=#e8d6a7
+palette = 11=#f1bb79
+palette = 12=#80c5de
+palette = 13=#b294bb
+palette = 14=#9dccbb
+palette = 15=#ffffff
+background = #181818
+foreground = #d5d0c9
+cursor-color = #efc4cd
+cursor-text = #181818
+selection-background = #363636
+selection-foreground = #d5d0c9

+ 22 - 0
zig-out/share/ghostty/themes/Cyberdyne

@@ -0,0 +1,22 @@
+palette = 0=#080808
+palette = 1=#ff8373
+palette = 2=#00c172
+palette = 3=#d2a700
+palette = 4=#0071cf
+palette = 5=#ff90fe
+palette = 6=#6bffdd
+palette = 7=#f1f1f1
+palette = 8=#2e2e2e
+palette = 9=#ffc4be
+palette = 10=#d6fcba
+palette = 11=#fffed5
+palette = 12=#c2e3ff
+palette = 13=#ffb2fe
+palette = 14=#e6e7fe
+palette = 15=#ffffff
+background = #151144
+foreground = #00ff92
+cursor-color = #00ff9c
+cursor-text = #ffffff
+selection-background = #454d96
+selection-foreground = #f4f4f4

+ 22 - 0
zig-out/share/ghostty/themes/CyberpunkScarletProtocol

@@ -0,0 +1,22 @@
+palette = 0=#101116
+palette = 1=#ea3356
+palette = 2=#64d98c
+palette = 3=#faf968
+palette = 4=#306fb1
+palette = 5=#ba3ec1
+palette = 6=#59c2c6
+palette = 7=#c7c7c7
+palette = 8=#686868
+palette = 9=#ed776d
+palette = 10=#8df77a
+palette = 11=#fefc7f
+palette = 12=#6a71f6
+palette = 13=#ae40e4
+palette = 14=#8efafd
+palette = 15=#ffffff
+background = #101116
+foreground = #d13554
+cursor-color = #9bfca8
+cursor-text = #ffffff
+selection-background = #c7ddfc
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Dark Modern

@@ -0,0 +1,22 @@
+palette = 0=#272727
+palette = 1=#f74949
+palette = 2=#2ea043
+palette = 3=#9e6a03
+palette = 4=#0078d4
+palette = 5=#d01273
+palette = 6=#1db4d6
+palette = 7=#cccccc
+palette = 8=#5d5d5d
+palette = 9=#dc5452
+palette = 10=#23d18b
+palette = 11=#f5f543
+palette = 12=#3b8eea
+palette = 13=#d670d6
+palette = 14=#29b8db
+palette = 15=#e5e5e5
+background = #1f1f1f
+foreground = #cccccc
+cursor-color = #ffffff
+cursor-text = #000000
+selection-background = #3a3d41
+selection-foreground = #e0e0e0

+ 22 - 0
zig-out/share/ghostty/themes/Dark Pastel

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#ff5555
+palette = 2=#55ff55
+palette = 3=#ffff55
+palette = 4=#5555ff
+palette = 5=#ff55ff
+palette = 6=#55ffff
+palette = 7=#bbbbbb
+palette = 8=#555555
+palette = 9=#ff5555
+palette = 10=#55ff55
+palette = 11=#ffff55
+palette = 12=#5555ff
+palette = 13=#ff55ff
+palette = 14=#55ffff
+palette = 15=#ffffff
+background = #000000
+foreground = #ffffff
+cursor-color = #bbbbbb
+cursor-text = #ffffff
+selection-background = #b5d5ff
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Dark+

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#cd3131
+palette = 2=#0dbc79
+palette = 3=#e5e510
+palette = 4=#2472c8
+palette = 5=#bc3fbc
+palette = 6=#11a8cd
+palette = 7=#e5e5e5
+palette = 8=#666666
+palette = 9=#f14c4c
+palette = 10=#23d18b
+palette = 11=#f5f543
+palette = 12=#3b8eea
+palette = 13=#d670d6
+palette = 14=#29b8db
+palette = 15=#e5e5e5
+background = #1e1e1e
+foreground = #cccccc
+cursor-color = #ffffff
+cursor-text = #000000
+selection-background = #3a3d41
+selection-foreground = #e0e0e0

+ 22 - 0
zig-out/share/ghostty/themes/Darkside

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#e8341c
+palette = 2=#68c256
+palette = 3=#f2d42c
+palette = 4=#1c98e8
+palette = 5=#8e69c9
+palette = 6=#1c98e8
+palette = 7=#bababa
+palette = 8=#000000
+palette = 9=#e05a4f
+palette = 10=#77b869
+palette = 11=#efd64b
+palette = 12=#387cd3
+palette = 13=#957bbe
+palette = 14=#3d97e2
+palette = 15=#bababa
+background = #222324
+foreground = #bababa
+cursor-color = #bbbbbb
+cursor-text = #ffffff
+selection-background = #303333
+selection-foreground = #bababa

+ 22 - 0
zig-out/share/ghostty/themes/Desert

@@ -0,0 +1,22 @@
+palette = 0=#4d4d4d
+palette = 1=#ff2b2b
+palette = 2=#98fb98
+palette = 3=#f0e68c
+palette = 4=#cd853f
+palette = 5=#ffdead
+palette = 6=#ffa0a0
+palette = 7=#f5deb3
+palette = 8=#555555
+palette = 9=#ff5555
+palette = 10=#55ff55
+palette = 11=#ffff55
+palette = 12=#87ceff
+palette = 13=#ff55ff
+palette = 14=#ffd700
+palette = 15=#ffffff
+background = #333333
+foreground = #ffffff
+cursor-color = #00ff00
+cursor-text = #000000
+selection-background = #b5d5ff
+selection-foreground = #000000

+ 22 - 0
zig-out/share/ghostty/themes/Dimidium

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#cf494c
+palette = 2=#60b442
+palette = 3=#db9c11
+palette = 4=#0575d8
+palette = 5=#af5ed2
+palette = 6=#1db6bb
+palette = 7=#bab7b6
+palette = 8=#817e7e
+palette = 9=#ff643b
+palette = 10=#37e57b
+palette = 11=#fccd1a
+palette = 12=#688dfd
+palette = 13=#ed6fe9
+palette = 14=#32e0fb
+palette = 15=#d3d8d9
+background = #141414
+foreground = #bab7b6
+cursor-color = #37e57b
+cursor-text = #141414
+selection-background = #8db8e5
+selection-foreground = #141414

+ 22 - 0
zig-out/share/ghostty/themes/DimmedMonokai

@@ -0,0 +1,22 @@
+palette = 0=#3a3d43
+palette = 1=#be3f48
+palette = 2=#879a3b
+palette = 3=#c5a635
+palette = 4=#4f76a1
+palette = 5=#855c8d
+palette = 6=#578fa4
+palette = 7=#b9bcba
+palette = 8=#888987
+palette = 9=#fb001f
+palette = 10=#0f722f
+palette = 11=#c47033
+palette = 12=#186de3
+palette = 13=#fb0067
+palette = 14=#2e706d
+palette = 15=#fdffb9
+background = #1f1f1f
+foreground = #b9bcba
+cursor-color = #f83e19
+cursor-text = #171717
+selection-background = #2a2d32
+selection-foreground = #b9bcba

+ 22 - 0
zig-out/share/ghostty/themes/Django

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#fd6209
+palette = 2=#41a83e
+palette = 3=#ffe862
+palette = 4=#245032
+palette = 5=#f8f8f8
+palette = 6=#9df39f
+palette = 7=#ffffff
+palette = 8=#323232
+palette = 9=#ff943b
+palette = 10=#73da70
+palette = 11=#ffff94
+palette = 12=#568264
+palette = 13=#ffffff
+palette = 14=#cfffd1
+palette = 15=#ffffff
+background = #0b2f20
+foreground = #f8f8f8
+cursor-color = #336442
+cursor-text = #f8f8f8
+selection-background = #245032
+selection-foreground = #f8f8f8

+ 22 - 0
zig-out/share/ghostty/themes/DjangoRebornAgain

@@ -0,0 +1,22 @@
+palette = 0=#000000
+palette = 1=#fd6209
+palette = 2=#41a83e
+palette = 3=#ffe862
+palette = 4=#245032
+palette = 5=#f8f8f8
+palette = 6=#9df39f
+palette = 7=#ffffff
+palette = 8=#323232
+palette = 9=#ff943b
+palette = 10=#73da70
+palette = 11=#ffff94
+palette = 12=#568264
+palette = 13=#ffffff
+palette = 14=#cfffd1
+palette = 15=#ffffff
+background = #051f14
+foreground = #dadedc
+cursor-color = #ffcc00
+cursor-text = #dadedc
+selection-background = #203727
+selection-foreground = #dadedc

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor