;; code-mode.el (defvar code-mode-map nil "Keymap for code-mode") (defvar code-mode nil "Mode for inserting brackets instead of едц") (make-variable-buffer-local 'code-mode) (defun code-mode (&optional arg) (interactive "P") (setq code-mode (if (null arg) (not code-mode) (> (prefix-numeric-value arg) 0))) (force-mode-line-update)) (defun turn-on-code-mode () (interactive) (code-mode 1)) (defun turn-off-code-mode () (interactive) (code-mode 0)) (or (assq 'code-mode minor-mode-alist) (setq minor-mode-alist (cons '(code-mode " Code") minor-mode-alist))) (or code-mode-map (progn (setq code-mode-map (make-sparse-keymap)) (define-key code-mode-map [?\344] "{") (define-key code-mode-map [?\304] "[") (define-key code-mode-map [?\366] "|") (define-key code-mode-map [?\326] "\\") (define-key code-mode-map [?\345] "}") (define-key code-mode-map [?\305] "]") (define-key code-mode-map [?\374] "~") (define-key code-mode-map [?\334] "@") )) (or (assq 'code-mode minor-mode-map-alist) (setq minor-mode-map-alist (cons (cons 'code-mode code-mode-map) minor-mode-map-alist)))