summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/init-eglot.el15
1 files changed, 14 insertions, 1 deletions
diff --git a/lisp/init-eglot.el b/lisp/init-eglot.el
index da2feee..52d76ed 100644
--- a/lisp/init-eglot.el
+++ b/lisp/init-eglot.el
@@ -23,6 +23,13 @@
(mpolden/format-before-save)
(mpolden/organize-imports-before-save))
+(defun mpolden/gfm-unescape-string (string)
+ "Remove backslash-escape of punctuation characters in STRING."
+ ;; https://github.github.com/gfm/#backslash-escapes
+ (replace-regexp-in-string "[\\\\]\\([][!\"#$%&'()*+,./:;<=>?@\\^_`{|}~-]\\)"
+ "\\1"
+ string))
+
(use-package eglot
:ensure t
:init
@@ -46,7 +53,13 @@
;; C-c f formats buffer
("C-c f" . eglot-format)
;; C-c o organizes imports
- ("C-c o" . eglot-code-action-organize-imports)))
+ ("C-c o" . eglot-code-action-organize-imports))
+ :config
+ ;; https://github.com/joaotavora/eglot/issues/333
+ ;; https://github.com/jrblevin/markdown-mode/issues/377
+ (advice-add 'eglot--format-markup
+ :filter-return
+ 'mpolden/gfm-unescape-string))
(provide 'init-eglot)