diff --git a/core/core-editor.el b/core/core-editor.el index be5e9b1e6..985b0aeec 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -213,27 +213,11 @@ with functions that require it (like modeline segments)." (add-hook 'doom-init-hook #'smartparens-global-mode) (require 'smartparens-config) - ;; Smartparens interferes with Replace mode + + ;; disable smartparens in evil-mode's replace state (they conflict) (add-hook 'evil-replace-state-entry-hook #'turn-off-smartparens-mode) (add-hook 'evil-replace-state-exit-hook #'turn-on-smartparens-mode) - ;; Auto-close more conservatively - (let ((unless-list '(sp-point-before-word-p - sp-point-after-word-p - sp-point-before-same-p))) - (sp-pair "'" nil :unless unless-list) - (sp-pair "\"" nil :unless unless-list)) - (sp-pair "{" nil :post-handlers '(("||\n[i]" "RET") ("| " " ")) - :unless '(sp-point-before-word-p sp-point-before-same-p)) - (sp-pair "(" nil :post-handlers '(("||\n[i]" "RET") ("| " " ")) - :unless '(sp-point-before-word-p sp-point-before-same-p)) - (sp-pair "[" nil :post-handlers '(("| " " ")) - :unless '(sp-point-before-word-p sp-point-before-same-p)) - - (sp-local-pair 'css-mode "/*" "*/" - :post-handlers '(("[d-3]||\n[i]" "RET") ("| " "SPC"))) - (sp-local-pair '(sh-mode markdown-mode) "`" nil - :unless '(sp-point-before-word-p sp-point-before-same-p)) (sp-local-pair '(xml-mode nxml-mode php-mode) "" :post-handlers '(("| " "SPC")))) diff --git a/modules/lang/markdown/config.el b/modules/lang/markdown/config.el index eb34411be..7b2345662 100644 --- a/modules/lang/markdown/config.el +++ b/modules/lang/markdown/config.el @@ -20,14 +20,7 @@ (setq line-spacing 2 fill-column 80)) - (sp-local-pair - '(markdown-mode gfm-mode) - "\`\`\`" "\`\`\`" :post-handlers '(("||\n" "RET"))) - - (map! (:map gfm-mode-map - "`" #'self-insert-command) - - (:map markdown-mode-map + (map! (:map markdown-mode-map [remap find-file-at-point] #'markdown-follow-thing-at-point "M-*" #'markdown-insert-list-item "M-b" #'markdown-insert-bold diff --git a/modules/lang/sh/config.el b/modules/lang/sh/config.el index 8fac14209..0c06ab1f3 100644 --- a/modules/lang/sh/config.el +++ b/modules/lang/sh/config.el @@ -35,6 +35,9 @@ (,(regexp-opt +sh-builtin-keywords 'words) (0 'font-lock-builtin-face append)))) + ;; autoclose backticks + (sp-local-pair 'sh-mode "`" nil :unless '(sp-point-before-word-p sp-point-before-same-p)) + ;; sh-mode has file extensions checks for other shells, but not zsh, so... (defun +sh|detect-zsh () (when (or (and buffer-file-name diff --git a/modules/private/hlissner/config.el b/modules/private/hlissner/config.el index b6ea7b4cc..94afe04b4 100644 --- a/modules/private/hlissner/config.el +++ b/modules/private/hlissner/config.el @@ -19,6 +19,21 @@ (apply orig-fn args))) (advice-add #'tramp-read-passwd :around #'+hlissner*no-authinfo-for-tramp) +;; +(after! smartparens + ;; Auto-close more conservatively + (let ((unless-list '(sp-point-before-word-p + sp-point-after-word-p + sp-point-before-same-p))) + (sp-pair "'" nil :unless unless-list) + (sp-pair "\"" nil :unless unless-list)) + (sp-pair "{" nil :post-handlers '(("||\n[i]" "RET") ("| " " ")) + :unless '(sp-point-before-word-p sp-point-before-same-p)) + (sp-pair "(" nil :post-handlers '(("||\n[i]" "RET") ("| " " ")) + :unless '(sp-point-before-word-p sp-point-before-same-p)) + (sp-pair "[" nil :post-handlers '(("| " " ")) + :unless '(sp-point-before-word-p sp-point-before-same-p))) + ;; (after! doom-themes