diff --git a/README.org b/README.org index e0ad8c4..a88795f 100644 --- a/README.org +++ b/README.org @@ -6437,16 +6437,18 @@ following links show how to put the documentation to practical use: 3. [[https://lists.gnu.org/archive/html/help-gnu-emacs/2014-07/msg00135.html][How to enable smartparens in the minibuffer after eval-expression]] explains how the machinery after the first and after later usages of =eval-expression= differ and discusses options how to handle those differences. -Listing [[lst:configure-smartparens]] aims to configure [[https://github.com/Fuco1/smartparens][smartparens]] for Elisp, -LaTeX, Org, and Python. +Listing [[lst:configure-smartparens]] aims to configure [[https://github.com/Fuco1/smartparens][smartparens]] for Go, LaTeX, +Lisp dialects, Org, and Python. Execute src_emacs-lisp{(sp-cheat-sheet)} for +short documentation taking into account the overridden key bindings in listing +[[lst:configure-smartparens]]. Despite the provocative post [[https://andreyorst.gitlab.io/posts/2022-02-20-what-if-structural-editing-was-a-mistake/]["What if structural editing was a mistake?"]], [[https://github.com/Fuco1/smartparens][smartparens]] is one of my favorite packages. In particular, [[https://github.com/Fuco1/smartparens][smartparens]] handles matching pairs in Org-mode files with export and source blocks for multiple -formats and languages almost (exceptions are due to ~elisp~ functions like ~<~ -and ~<=~) correctly. Therefore, [[https://smartparens.readthedocs.io/en/latest/index.html?highlight=show-smartparens-mode#getting-started][show-smartparens-mode]] highlights matching pairs -immediately in front or after point in such files correctly, contrary to for -instance [[https://github.com/Fanael/rainbow-delimiters#readme][rainbow-delimiters]]. +formats and languages almost (exceptions are due to ~Search failed~ errors +inside source blocks) correctly. Therefore, [[https://smartparens.readthedocs.io/en/latest/index.html?highlight=show-smartparens-mode#getting-started][show-smartparens-mode]] highlights +matching pairs immediately in front or after point in such files correctly, +contrary to for instance [[https://github.com/Fanael/rainbow-delimiters#readme][rainbow-delimiters]]. #+caption[Configure =smartparens=]: #+caption: Configure =smartparens=. @@ -6457,17 +6459,17 @@ instance [[https://github.com/Fanael/rainbow-delimiters#readme][rainbow-delimite ;; disable pairing of the quote character for lisp modes. (require 'smartparens-config nil 'noerror)) (setopt sp-base-key-bindings 'sp - sp-override-key-bindings '(("C-(" . sp-backward-barf-sexp) + sp-override-key-bindings '(("C-(" . sp-backward-slurp-sexp) ("C-)" . sp-forward-slurp-sexp) ("C-M-(" . sp-backward-barf-sexp) - ("C-M-)" . sp-backward-slurp-sexp))) + ("C-M-)" . sp-forward-barf-sexp))) (dolist (hook '(conf-toml-mode-hook prog-mode-hook text-mode-hook)) (add-hook hook #'smartparens-mode)) (dolist (hook '(emacs-lisp-mode-hook geiser-repl-startup-hook - ;; go-mode-ts-hook is not operational in Emacs-29! + go-ts-mode-hook ielm-mode-hook lisp-data-mode-hook lisp-mode-hook @@ -6502,28 +6504,6 @@ instance [[https://github.com/Fanael/rainbow-delimiters#readme][rainbow-delimite (show-smartparens-global-mode +1)) #+end_src -#+caption[Emacs Lisp commit message helper]: -#+caption: Emacs Lisp commit message helper. -#+name: lst:org-commit-message-helper -#+begin_src emacs-lisp -n -(with-eval-after-load 'smartparens-config - (defun defun-name-to-elisp-commit () - "Wrap the defun name for elisp commit messages to put it on the kill-ring. - -BUG: `beginning-of-defun' may find any (for instance `with-eval-after-load') -toplevel sexp." - (interactive) - (save-excursion - (beginning-of-defun) - (sp-forward-symbol) - (sp-copy-sexp)) - (with-temp-buffer - (insert "(") - (yank) - (insert "):") - (kill-region 1 (point))))) -#+end_src - ** [[https://github.com/davidshepherd7/electric-operator#readme][Electric operators]] :PROPERTIES: :CUSTOM_ID: sec:electric-operators