File tree Expand file tree Collapse file tree 1 file changed +33
-6
lines changed Expand file tree Collapse file tree 1 file changed +33
-6
lines changed Original file line number Diff line number Diff line change @@ -84,16 +84,43 @@ See `forward-sexp for ARG."
8484 (setq arg (or arg 1 ))
8585 (if (< 0 arg)
8686 (while (< 0 arg)
87- (while (eq
88- (swift-mode:token:type (swift-mode:forward-token-or-list))
89- 'implicit- \; ))
87+ (while (eq (swift-mode:token:type (swift-mode:forward-sexp-1))
88+ 'implicit- \; ))
9089 (setq arg (1- arg))))
9190 (while (< arg 0 )
92- (while (eq
93- (swift-mode:token:type (swift-mode:backward-token-or-list))
94- 'implicit- \; ))
91+ (while (eq (swift-mode:token:type (swift-mode:backward-sexp-1))
92+ 'implicit- \; ))
9593 (setq arg (1+ arg))))
9694
95+ (defun swift-mode:forward-sexp-1 ()
96+ " Move forward a token or list.
97+
98+ Signal `scan-error' if it hits closing parentheses."
99+ (let ((token (swift-mode:forward-token-or-list))
100+ (pos (point )))
101+ (when (memq (swift-mode:token:type token) '(\] \) }))
102+ (goto-char pos)
103+ (signal 'scan-error
104+ (list " Unbalanced parentheses"
105+ (swift-mode:token:start token)
106+ (swift-mode:token:end token))))
107+ token))
108+
109+ (defun swift-mode:backward-sexp-1 ()
110+ " Move backward a token or list.
111+
112+ Signal `scan-error' if it hits opening parentheses."
113+ (let ((token (swift-mode:backward-token-or-list))
114+ (pos (point )))
115+ (when (memq (swift-mode:token:type token) '(\[ \( {))
116+ (goto-char pos)
117+ (signal 'scan-error
118+ (list " Unbalanced parentheses"
119+ (swift-mode:token:start token)
120+ (swift-mode:token:end token))))
121+ token))
122+
123+
97124; ; Imenu
98125
99126(defun swift-mode:mk-regex-for-def (keyword )
You can’t perform that action at this time.
0 commit comments