* lisp/progmodes/ruby-mode.el (ruby-smie--forward-token)
(ruby-smie--backward-token): Tokenize heredocs as semicolons. * test/automated/ruby-mode-tests.el: Remove outdated comment. * test/indent/ruby.rb: Add a statement on the line after heredoc.
This commit is contained in:
parent
91f2d27289
commit
dca01b0923
5 changed files with 22 additions and 4 deletions
|
@ -393,7 +393,12 @@ explicitly declared in magic comment."
|
|||
(let ((pos (point)))
|
||||
(skip-chars-forward " \t")
|
||||
(cond
|
||||
((looking-at "\\s\"") "") ;A heredoc or a string.
|
||||
((looking-at "\\s\"") ;A heredoc or a string.
|
||||
(if (not (looking-at "\n"))
|
||||
""
|
||||
;; Tokenize the whole heredoc as semicolon.
|
||||
(goto-char (scan-sexps (point) 1))
|
||||
";"))
|
||||
((and (looking-at "[\n#]")
|
||||
(ruby-smie--implicit-semi-p)) ;Only add implicit ; when needed.
|
||||
(if (eolp) (forward-char 1) (forward-comment 1))
|
||||
|
@ -435,7 +440,10 @@ explicitly declared in magic comment."
|
|||
(cond
|
||||
((and (> pos (line-end-position)) (ruby-smie--implicit-semi-p))
|
||||
(skip-chars-forward " \t") ";")
|
||||
((and (bolp) (not (bobp))) "") ;Presumably a heredoc.
|
||||
((and (bolp) (not (bobp))) ;Presumably a heredoc.
|
||||
;; Tokenize the whole heredoc as semicolon.
|
||||
(goto-char (scan-sexps (point) -1))
|
||||
";")
|
||||
((and (> pos (point)) (not (bolp))
|
||||
(ruby-smie--args-separator-p pos))
|
||||
;; We have "ID SPC ID", which is a method call, but it binds less tightly
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue