add awesome-pair

This commit is contained in:
zedhugh committed 2022-10-20 04:55:07 +08:00
1 parent 59cbb1b7da
commit 0134631042
6 files changed
+71

No files matched your search

+1
View File
@@ -6,3 +6,4 @@
/ido.last /ido.last
/history /history
/recentf /recentf
/.cache/
+3
View File
@@ -52,3 +52,6 @@
[submodule "site-lisp/corfu-doc"] [submodule "site-lisp/corfu-doc"]
path = site-lisp/corfu-doc path = site-lisp/corfu-doc
url = https://github.com/galeo/corfu-doc.git url = https://github.com/galeo/corfu-doc.git
[submodule "site-lisp/awesome-pair"]
path = site-lisp/awesome-pair
url = https://github.com/manateelazycat/awesome-pair.git
+4
View File
@@ -124,3 +124,7 @@ If freezing sometimes, decrease it. If stuttering, increase it.")
(add-hook 'emacs-startup-hook (add-hook 'emacs-startup-hook
(lambda () (lambda ()
(message (emacs-init-time)))) (message (emacs-init-time))))
(with-eval-after-load 'package
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")))
+61
View File
@@ -23,4 +23,65 @@
(setq backward-delete-char-untabify-method 'hungry) (setq backward-delete-char-untabify-method 'hungry)
(with-eval-after-load 'awesome-pair
;; (define-key awesome-pair-mode-map (kbd "(") 'awesome-pair-open-round)
;; (define-key awesome-pair-mode-map (kbd "[") 'awesome-pair-open-bracket)
;; (define-key awesome-pair-mode-map (kbd "{") 'awesome-pair-open-curly)
(define-key awesome-pair-mode-map (kbd ")") 'awesome-pair-close-round)
(define-key awesome-pair-mode-map (kbd "]") 'awesome-pair-close-bracket)
(define-key awesome-pair-mode-map (kbd "}") 'awesome-pair-close-curly)
;; (define-key awesome-pair-mode-map (kbd "=") 'awesome-pair-equal)
(define-key awesome-pair-mode-map (kbd "%") 'awesome-pair-match-paren)
;; (define-key awesome-pair-mode-map (kbd "\"") 'awesome-pair-double-quote)
(define-key awesome-pair-mode-map (kbd "SPC") 'awesome-pair-space)
(define-key awesome-pair-mode-map (kbd "M-o") 'awesome-pair-backward-delete)
(define-key awesome-pair-mode-map (kbd "C-d") 'awesome-pair-forward-delete)
(define-key awesome-pair-mode-map (kbd "C-k") 'creature/awesome-pair-kill)
(define-key awesome-pair-mode-map (kbd "M-\"") 'awesome-pair-wrap-double-quote)
(define-key awesome-pair-mode-map (kbd "M-[") 'awesome-pair-wrap-bracket)
(define-key awesome-pair-mode-map (kbd "M-{") 'awesome-pair-wrap-curly)
(define-key awesome-pair-mode-map (kbd "M-(") 'awesome-pair-wrap-round)
(define-key awesome-pair-mode-map (kbd "M-)") 'awesome-pair-unwrap)
(define-key awesome-pair-mode-map (kbd "M-N") 'awesome-pair-jump-right)
(define-key awesome-pair-mode-map (kbd "M-P") 'awesome-pair-jump-left)
(define-key awesome-pair-mode-map (kbd "M-RET") 'awesome-pair-jump-out-pair-and-newline))
(defun creature/awesome-pair-in-template-string-p ()
(and (awesome-pair-in-string-p)
(consp (awesome-pair-string-start+end-points))
(let* ((pos_cons (awesome-pair-string-start+end-points))
(start (car pos_cons))
(end (cdr pos_cons)))
(and (char-equal ?` (char-after start))
(char-equal ?` (char-after end))))))
(defun creature/awesome-pair-kill-template-string-curly-content ()
(interactive)
(save-excursion
(kill-region (point) (progn (search-forward "}") (1- (point))))))
(defun creature/awesome-pair-kill ()
(interactive)
(cond ((and (derived-mode-p 'js-mode 'typescript-mode 'web-mode)
(creature/awesome-pair-in-template-string-p)
(awesome-pair-in-curly-p))
(creature/awesome-pair-kill-template-string-curly-content))
(t
(funcall-interactively #'awesome-pair-kill))))
(defun creature/awesome-pair-setup ()
(require 'awesome-pair)
(add-hook 'prog-mode-hook #'awesome-pair-mode)
(add-hook 'conf-unix-mode-hook #'awesome-pair-mode)
(add-hook 'conf-windows-mode-hook #'awesome-pair-mode)
(add-hook 'yaml-mode-hook #'awesome-pair-mode)
nil)
(creature/awesome-pair-setup)
(provide 'init-edit) (provide 'init-edit)
+1
View File
@@ -1,6 +1,7 @@
;; -*- coding: utf-8; lexical-binding: t; -*- ;; -*- coding: utf-8; lexical-binding: t; -*-
(require 'lazy-load) (require 'lazy-load)
(lazy-load-global-keys (lazy-load-global-keys
'(("C-x g" . magit-status)) '(("C-x g" . magit-status))
"magit") "magit")