mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 04:10:54 -08:00
Fix Ruby indentation with double splat as first block param
* lisp/progmodes/ruby-mode.el (ruby-smie--forward-token) (ruby-smie--backward-token): Tokenize "**" separately from "|". Problem reported at https://github.com/dgutov/robe/issues/136.
This commit is contained in:
parent
4a837b0c72
commit
39646c822b
2 changed files with 11 additions and 2 deletions
|
|
@ -508,7 +508,7 @@ This only affects the output of the command `ruby-toggle-block'."
|
|||
((member tok '("unless" "if" "while" "until"))
|
||||
(if (save-excursion (forward-word-strictly -1) (ruby-smie--bosp))
|
||||
tok "iuwu-mod"))
|
||||
((string-match-p "\\`|[*&]?\\'" tok)
|
||||
((string-match-p "\\`|[*&]*\\'" tok)
|
||||
(forward-char (- 1 (length tok)))
|
||||
(setq tok "|")
|
||||
(cond
|
||||
|
|
@ -561,7 +561,7 @@ This only affects the output of the command `ruby-toggle-block'."
|
|||
((ruby-smie--closing-pipe-p) "closing-|")
|
||||
(t tok)))
|
||||
((string-match-p "\\`[^|]+|\\'" tok) "closing-|")
|
||||
((string-match-p "\\`|[*&]\\'" tok)
|
||||
((string-match-p "\\`|[*&]*\\'" tok)
|
||||
(forward-char 1)
|
||||
(substring tok 1))
|
||||
((and (equal tok "") (eq ?\\ (char-before)) (looking-at "\n"))
|
||||
|
|
|
|||
|
|
@ -491,3 +491,12 @@ in ['th', orig_text, 'en', trans_text]
|
|||
in {'th' => orig_text, 'ja' => trans_text}
|
||||
puts "Japanese translation: #{orig_text} => #{trans_text}"
|
||||
end
|
||||
|
||||
# Tokenizing "**" and "|" separately.
|
||||
def resolve(**args)
|
||||
members = proc do |**args|
|
||||
p(**args)
|
||||
end
|
||||
|
||||
member.call(**args)
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue