Function: ghostel--osc133-marker
ghostel--osc133-marker is a natively compiled function defined in
ghostel-shell.el.
Signature
(ghostel--osc133-marker TYPE PARAM)
Documentation
Handle an OSC 133 semantic prompt marker from the Zig module.
TYPE is a single character string: A, B, C, D, or P.
PARAM is the exit status string for type D, or nil.
Note: the ghostel-prompt text property is applied by the native
render loop (which queries libghostty's per-row semantic state),
not here. This handler only tracks prompt positions and exit status.
Source Code
;; Defined in /nix/store/1252krff0gb2kisjcpp45m50cpdskfrl-emacs-packages-deps/share/emacs/site-lisp/ghostel-shell.el
;;; Prompt navigation (OSC 133)
(defun ghostel--osc133-marker (type param)
"Handle an OSC 133 semantic prompt marker from the Zig module.
TYPE is a single character string: A, B, C, D, or P.
PARAM is the exit status string for type D, or nil.
Note: the `ghostel-prompt' text property is applied by the native
render loop (which queries libghostty's per-row semantic state),
not here. This handler only tracks prompt positions and exit status."
(pcase type
((or "A" "P")
;; Prompt start — record line number. P is the explicit
;; prompt-start marker (no fresh-line side effect); both mark
;; a navigable prompt position.
(push (cons (count-lines (point-min) (point-max)) nil)
ghostel--prompt-positions)
;; No D arrives for a command that replaced the shell (exec zsh).
(setq ghostel--command-running nil))
("C"
;; Command output start — notify `ghostel-command-start-functions'.
(ghostel--run-hook-safely 'ghostel-command-start-functions
(current-buffer))
(setq ghostel--command-running t))
("D"
;; Command finished — store exit status on the most recent entry
;; and notify `ghostel-command-finish-functions'.
(let ((exit (and param (string-to-number param))))
(when (and ghostel--prompt-positions param)
(setcdr (car ghostel--prompt-positions) exit))
(ghostel--run-hook-safely 'ghostel-command-finish-functions
(current-buffer) exit))
(setq ghostel--command-running nil))))