diff options
| author | David Kellum <dek-oss@gravitext.com> | 2019-01-15 14:05:01 -0800 |
|---|---|---|
| committer | David Kellum <dek-oss@gravitext.com> | 2019-01-15 14:05:01 -0800 |
| commit | 5f3734314de0e38f472740dfeeb0102ddc5d0b2c (patch) | |
| tree | e95157ba0efbd95a280ade45bc12ac4819aa0c8b /rust-mode.el | |
| parent | d3a70256fe560bcc463ed42e4259e9fce0fdfee3 (diff) | |
| download | rust-mode-5f3734314de0e38f472740dfeeb0102ddc5d0b2c.tar.gz | |
Add rust-indent-return-type-to-arguments variable
This preserves as default (t), the current indentation behavior of `->
ReturnType` when found on its own line: indenting as per the arguments
of the above function. When disabled (nil) by the user, however, this
will now just indent such a line one level from base-line (e.g. no
special treatment).
Includes a basic test.
Diffstat (limited to 'rust-mode.el')
| -rw-r--r-- | rust-mode.el | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/rust-mode.el b/rust-mode.el index a8af671..a433d8d 100644 --- a/rust-mode.el +++ b/rust-mode.el @@ -131,6 +131,13 @@ When nil, `where' will be aligned with `fn' or `trait'." :group 'rust-mode :safe #'booleanp) +(defcustom rust-indent-return-type-to-arguments t + "Indent a line starting with the `->' (RArrow) following a function, aligning +to the function arguments. When nil, `->' will be indented one level." + :type 'boolean + :group 'rust-mode + :safe #'booleanp) + (defcustom rust-playpen-url-format "https://play.rust-lang.org/?code=%s" "Format string to use when submitting code to the playpen." :type 'string @@ -399,8 +406,10 @@ buffer." (back-to-indentation) (current-column)))))) - ;; A function return type is indented to the corresponding function arguments - ((looking-at "->") + ;; A function return type is indented to the corresponding + ;; function arguments, if -to-arguments is selected. + ((and rust-indent-return-type-to-arguments + (looking-at "->")) (save-excursion (backward-list) (or (rust-align-to-expr-after-brace) |
