aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tools/emacs/erlang.el
diff options
context:
space:
mode:
authorDániel Szoboszlay <[email protected]>2016-05-13 23:05:23 +0200
committerDan Gudmundsson <[email protected]>2016-05-18 10:12:49 +0200
commitc8b3e3a977bd8b4071e190c7c7aaa72f934af60a (patch)
tree2e457633d8e50bf20a18b957dacd0932bb6f1950 /lib/tools/emacs/erlang.el
parent4fba4b14c4f9aa03294d8d187fe0dd1202744e82 (diff)
downloadotp-c8b3e3a977bd8b4071e190c7c7aaa72f934af60a.tar.gz
otp-c8b3e3a977bd8b4071e190c7c7aaa72f934af60a.tar.bz2
otp-c8b3e3a977bd8b4071e190c7c7aaa72f934af60a.zip
Fix line-initial commas' indentation in type specs
Inside type specs, line-initial commas shall align with open curly braces. This also applies to record definitions with type specs for the fields. For example: -type foo() :: { a :: integer() , b :: integer() }. For type specs for functions, the commas shall align with the opening parenthese. So do a closing parenthese when put on a new line. For example: -spec foo( X :: integer() , Y :: integer() ) -> integer(). This does not affect coding styles that don't put commas at the beginning of lines.
Diffstat (limited to 'lib/tools/emacs/erlang.el')
-rw-r--r--lib/tools/emacs/erlang.el5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/tools/emacs/erlang.el b/lib/tools/emacs/erlang.el
index 0a3fc0ddff..4f656e3ae4 100644
--- a/lib/tools/emacs/erlang.el
+++ b/lib/tools/emacs/erlang.el
@@ -2970,8 +2970,9 @@ Return nil if inside string, t if in a comment."
(current-column)))
;; Type and Spec indentation
((eq (car stack-top) '::)
- (if (looking-at "}")
- ;; Closing record definition with types
+ (if (looking-at "[},)]")
+ ;; Closing function spec, record definition with types,
+ ;; or a comma at the start of the line
;; pop stack and recurse
(erlang-calculate-stack-indent indent-point
(cons (erlang-pop stack) (cdr state)))