summaryrefslogtreecommitdiffstats
path: root/lisp/init-eglot.el
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2021-09-04 20:03:16 +0200
committerMartin Polden <mpolden@mpolden.no>2021-09-04 20:15:29 +0200
commit6897f86814ef81150dd148893d9b3202a2b48dc7 (patch)
tree834fc656dc8b1f0e9a78e7bfa2b7ddaf2f6f75f3 /lisp/init-eglot.el
parent52f92cda84f29a67f5e333e2b4ca1762c5e176bb (diff)
eglot: Remove backslash-escape from GFM documentation
Diffstat (limited to 'lisp/init-eglot.el')
-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)