Guest User

Emacs python-mode eval send indent and block

a guest
Jan 6th, 2021
328
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 1.00 KB | None | 0 0
  1. (defun my/python-shell-send-block (blocks &optional msg)
  2.       "Send the code block(s) POINT is in.
  3.    prefix argument blocks determines how many parent code blocks to send"
  4.       (interactive "^p")
  5.       (save-excursion
  6.         (python-shell-send-region
  7.          (progn
  8.            (python-nav-beginning-of-block)
  9.            (when (> blocks 1)
  10.              (dotimes (i (- blocks 1))
  11.                (python-nav-backward-block)))
  12.            (point))
  13.          (progn
  14.            (python-nav-end-of-block)
  15.            (point))
  16.          t
  17.          msg)))
  18.  
  19.     (defun my/python-shell-send-indent (&optional arg msg)
  20.       "Send everything from the line POINT is in to indent 0."
  21.       (interactive)
  22.       (python-shell-send-region
  23.        (save-excursion
  24.          (progn
  25.            (while (> (current-indentation) 0)
  26.              (python-nav-backward-block))
  27.            (point)))
  28.        (save-excursion
  29.          (progn
  30.            (python-nav-end-of-statement)
  31.            (point)))
  32.        t
  33.        msg))
Advertisement
Add Comment
Please, Sign In to add comment