refactor(lib): don't use smartparens' API
Toward our eventual goal of moving smartparens out of core, I've adapted this from code provided by hpfr on Discord, which was adapted from smartparen's syntax-ppss caching logic. `:config default` will need need some attention before we can fully move smartparens to its own `:editor smartparens` module. Co-authored-by: hpfr <hpfr@users.noreply.github.com>
This commit is contained in:
parent
1131d5b36d
commit
e43d575caf
6 changed files with 70 additions and 33 deletions
|
@ -78,10 +78,9 @@ more information on modifiers."
|
|||
(defun +evil--insert-newline (&optional above _noextranewline)
|
||||
(let ((pos (save-excursion (beginning-of-line-text) (point)))
|
||||
comment-auto-fill-only-comments)
|
||||
(require 'smartparens)
|
||||
(evil-narrow-to-field
|
||||
(if above
|
||||
(if (save-excursion (nth 4 (sp--syntax-ppss pos)))
|
||||
(if (save-excursion (nth 4 (doom-syntax-ppss pos)))
|
||||
(evil-save-goal-column
|
||||
(setq evil-auto-indent nil)
|
||||
(goto-char pos)
|
||||
|
@ -103,7 +102,7 @@ more information on modifiers."
|
|||
(forward-line -1)
|
||||
(back-to-indentation))
|
||||
(evil-move-end-of-line)
|
||||
(cond ((sp-point-in-comment pos)
|
||||
(cond ((doom-point-in-comment-p pos)
|
||||
(setq evil-auto-indent nil)
|
||||
(if comment-line-break-function
|
||||
(funcall comment-line-break-function nil)
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
(if (eq char 27)
|
||||
(cons "" "")
|
||||
(let* ((pair (+evil--embrace-get-pair (string char)))
|
||||
(escape (if (sp-point-in-string) "\\\\" "\\"))
|
||||
(escape (if (doom-point-in-string-p) "\\\\" "\\"))
|
||||
(escape (format "\\1%s" (regexp-quote escape))))
|
||||
(cons (replace-regexp-in-string "^\\( *\\)" escape (car pair))
|
||||
(replace-regexp-in-string "^\\( *\\)" escape (cdr pair)))))))
|
||||
|
|
|
@ -57,13 +57,13 @@ See `+evil/next-preproc-directive' for details."
|
|||
(require 'newcomment)
|
||||
(dotimes (_ (abs count))
|
||||
(cond ((> count 0)
|
||||
(while (and (not (eobp)) (sp-point-in-comment))
|
||||
(while (and (not (eobp)) (doom-point-in-comment-p))
|
||||
(forward-line 1))
|
||||
(unless (comment-search-forward (point-max) 'noerror)
|
||||
(goto-char orig-pt)
|
||||
(user-error "No comment after point")))
|
||||
(t
|
||||
(while (and (not (bobp)) (sp-point-in-comment))
|
||||
(while (and (not (bobp)) (doom-point-in-comment-p))
|
||||
(forward-line -1))
|
||||
(unless (comment-search-backward nil 'noerror)
|
||||
(goto-char orig-pt)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue