Function: ghostel-semi-char-mode
ghostel-semi-char-mode is an interactive and natively compiled
function defined in ghostel.el.
Signature
(ghostel-semi-char-mode)
Documentation
Switch to semi-char mode — the default terminal input mode.
Most keys are sent to the terminal; keys in
ghostel-keymap-exceptions pass through to Emacs.
Key Bindings
ghostel-char-mode-map M-<return> ghostel-char-mode-map M-RET ghostel-mode-map C-c C-j
Source Code
;; Defined in /nix/store/1252krff0gb2kisjcpp45m50cpdskfrl-emacs-packages-deps/share/emacs/site-lisp/ghostel.el
;;; Input mode switching commands
(defun ghostel-semi-char-mode ()
"Switch to semi-char mode — the default terminal input mode.
Most keys are sent to the terminal; keys in
`ghostel-keymap-exceptions' pass through to Emacs."
(interactive)
(ghostel--ensure-ghostel-buffer)
(setq ghostel--line-mode-paused nil)
(unless (eq ghostel--input-mode 'semi-char)
(pcase ghostel--input-mode
('copy (ghostel--leave-readonly-state))
('emacs (ghostel--leave-readonly-state))
('line (ghostel--line-mode-teardown)))
(setq ghostel--char-mode-override-active nil)
(setq ghostel--input-mode 'semi-char)
(ghostel--sync-read-only)
(use-local-map ghostel-semi-char-mode-map)
(setq ghostel--mode-line-tag nil)
(ghostel--mode-line-refresh)
(when ghostel--term
(deactivate-mark) ; A region left active would grow with point.
;; Snap the window to the live viewport so the user lands back at the
;; prompt after exiting copy/emacs/line. FORCE so a deliberate switch
;; wins over any `ghostel-inhibit-anchor-functions' roaming veto.
(goto-char (point-max))
(ghostel--anchor-window nil t)
(setq ghostel--force-next-redraw t)
(ghostel--invalidate))))