I попытался решить эту проблему, отредактировав файл scala-mode-indent.el.В некоторых других ситуациях он нарушает отступ, но по крайней мере у вас не будет всех этих отступов вперед на полэкран.
Закомментируйте эту строку:
;; (scala-indentation-from-following)
И измените отступ в скале-из предыдущего:
(defun scala-indentation-from-preceding ()
;; Return suggested indentation based on the preceding part of the
;; current expression. Return nil if indentation cannot be guessed.
(save-excursion
(scala-backward-spaces)
(and
(not (bobp))
(if (eq (char-syntax (char-before)) ?\()
(scala-block-indentation)
(progn
(when (eq (char-before) ?\))
(backward-sexp)
(scala-backward-spaces))
t
;;(scala-looking-at-backward scala-expr-start-re)
))
(if (scala-looking-at-backward scala-expr-start-re)
(+ (current-indentation) scala-mode-indent:step)
(current-indentation)
))))
Как я уже сказал, после этого он все еще остается сломанным.Я планирую написать лучшую поддержку в ближайшее время, возможно, через неделю или две.
РЕДАКТИРОВАТЬ:
Если вы хотите полностью отключить отступ scala, закомментируйте строку в scala-mode.el
;; indent-line-function 'scala-indent-line