1
0
forked from aniani/vim

runtime(rust): fix rust indent (#12542)

This commit is contained in:
Raphael 2023-08-21 02:42:39 +08:00 committed by GitHub
parent 17befac581
commit 478668013f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -132,6 +132,22 @@ function GetRustIndent(lnum)
return indent(prevlinenum) + 6
endif
"match newline after struct with generic bound like
"struct SomeThing<T>
"| <-- newline indent should same as prevline
if prevline[len(prevline) - 1] == ">"
\ && prevline =~# "\s*struct.*>$"
return indent(prevlinenum)
endif
"match newline after where like:
"struct SomeThing<T>
"where
" T: Display,
if prevline =~# '^\s*where$'
return indent(prevlinenum) + 4
endif
if prevline[len(prevline) - 1] == ","
\ && s:get_line_trimmed(a:lnum) !~ '^\s*[\[\]{}]'
\ && prevline !~ '^\s*fn\s'