branch: scratch/expand-region
commit 4419d5d52e24db530ec407f33cef361f485f46b9
Author: Magnar Sveen <[email protected]>
Commit: Magnar Sveen <[email protected]>
Revert "feat: add `er/mark-yaml-outer-block` & `er/mark-yaml-inner-block`"
This reverts commit 6ed37a7c58549da761f5d9b6864192ff5e535bec.
---
yaml-mode-expansions.el | 74 +++++++++++++------------------------------------
1 file changed, 20 insertions(+), 54 deletions(-)
diff --git a/yaml-mode-expansions.el b/yaml-mode-expansions.el
index 902285f178..72c17bd62b 100644
--- a/yaml-mode-expansions.el
+++ b/yaml-mode-expansions.el
@@ -24,9 +24,6 @@
;; - er/mark-yaml-key-value
;; - er/mark-yaml-list-item
;; - er/mark-yaml-block
-;; - er/mark-yaml-outer-block
-;; - er/mark-yaml-inner-block
-
;;; Code:
@@ -48,7 +45,8 @@
(defvar er--yaml-list-item-regex
(rx (seq "- "
(one-or-more
- (any "0-9A-Za-z" "\"':=_-")))))
+ (any "0-9A-Za-z" " '_-"))
+ "\n")))
(defvar er--yaml-block-regex
(rx (seq (zero-or-more
@@ -71,39 +69,8 @@
(when (looking-at regex)
(set-mark (line-end-position))))
-(defun er/mark-yaml-block-static-base (regex)
- "Mark yaml block based on REGEX passed. NEXT-INDENT-LEVEL can be used to
search outer blocks when necessary."
- ;; go bac to indentation so always can get regexp
- (back-to-indentation)
- ;; make sure the cursor is set inside the block
- ;; mark point at this higher code block
- (set-mark (point))
- ;; save level of this blocks indentation
- (let ((block-indentation (current-indentation)))
- (forward-line 1)
- (while (and
- ;; No need to go beyond the end of the buffer. Can't use
- ;; eobp as the loop places the point at the beginning of
- ;; line, but eob might be at the end of the line.
- (not (= (point-max) (point-at-eol)))
- ;; Proceed if: indentation is too deep
- (or (> (current-indentation) block-indentation)
- ;; Looking at an empty line
- (looking-at (rx line-start (* whitespace) line-end))
- ;; We're not looking at the start of a YAML block
- ;; and the indent is deeper than the block's indent
- (and (not (looking-at regex))
- (> (current-indentation) block-indentation))))
- (forward-line 1)
- (back-to-indentation))
- ;; Find the end of the block by skipping comments backwards
- (python-util-forward-comment -1)
- (exchange-point-and-mark))
- (back-to-indentation))
-
(defun er/mark-yaml-block-base (regex &optional next-indent-level)
"Mark yaml block based on REGEX passed. NEXT-INDENT-LEVEL can be used to
search outer blocks when necessary."
- ;; go bac to indentation so always can get regexp
(back-to-indentation)
;; make sure the cursor is set inside the block
(let ((next-indent-level
@@ -111,10 +78,10 @@
;; Use the given level
next-indent-level
;; used to mark current block
+ ;; if true then at start of block and wanna mark itself
+ ;; else were are inside the block already and will mark it)))
+ ;; move up the code unti a parent code block is reached
(er--get-regex-indentation-level regex))))
- ;; if true then at start of block and wanna mark itself
- ;; else were are inside the block already and will mark it)))
- ;; move up the code unti a parent code block is reached
(while (and (>= (current-indentation) next-indent-level)
(not (eq (current-indentation) 0)))
(re-search-backward regex (point-min) t)
@@ -133,7 +100,7 @@
(or (> (current-indentation) block-indentation)
;; Looking at an empty line
(looking-at (rx line-start (* whitespace) line-end))
- ;; We're not looking at the start of a YAML block
+ ;; We're not looking at the start of a Python block
;; and the indent is deeper than the block's indent
(and (not (looking-at regex))
(> (current-indentation) block-indentation))))
@@ -154,34 +121,33 @@
(interactive)
(er/mark-yaml-line-base er--yaml-list-item-regex))
-(defun er/mark-yaml-inner-block ()
- "Mark the yaml contents of the block at point. Command that wraps
`er/mark-yaml-block-base'."
- (interactive)
- (er/mark-yaml-block-base er--yaml-block-regex (current-indentation))
- (forward-line)
- (back-to-indentation))
-
(defun er/mark-yaml-block ()
- "Mark the yaml block that point is currently at the top of. Command that
wraps `er/mark-yaml-block-base'."
+ "Mark the yaml block that surrounds the block around point.
+
+Command that wraps `er/mark-yaml-block-base'."
(interactive)
- (er/mark-yaml-block-static-base er--yaml-block-regex))
+ (er/mark-yaml-block-base er--yaml-block-regex))
+
+(defun er/mark-outer-yaml-block ()
+ "Mark the outer yaml block that surrounds the block around point.
-(defun er/mark-yaml-outer-block ()
- "Mark the outer yaml block that surrounds the block around point. Command
that wraps `er/mark-yaml-block-base'."
+Command that wraps `er/mark-yaml-block-base'."
(interactive)
(er/mark-yaml-block-base er--yaml-block-regex (current-indentation)))
(defun er/add-yaml-mode-expansions ()
"Add yaml-mode-specific expansions for buffers in yaml-mode."
- (let ((try-expand-list-additions '(er/mark-symbol
+ (let ((try-expand-list-additions '(
+ er/mark-symbol
er/mark-outside-quotes
er/mark-yaml-list-item
er/mark-yaml-key-value
er/mark-yaml-block
- er/mark-yaml-outer-block
- er/mark-yaml-inner-block)))
+ er/mark-outer-yaml-block
+ mark-page)))
(set (make-local-variable 'expand-region-skip-whitespace) nil)
- (set (make-local-variable 'er/try-expand-list) try-expand-list-additions)))
+ (set (make-local-variable 'er/try-expand-list)
+ (append try-expand-list-additions er/try-expand-list))))
(er/enable-mode-expansions 'yaml-mode 'er/add-yaml-mode-expansions)