Skip to content

Commit e4938aa

Browse files
committed
auto merge of #10149 : chris-morgan/rust/2013-10-29-vim-updates, r=erickt
- Syntax updates for the regular prelude changes. - Fix an issue with the indentation of the second line of wrapped function arguments.
2 parents 13e5ce3 + 1ad8dbe commit e4938aa

File tree

2 files changed

+37
-24
lines changed

2 files changed

+37
-24
lines changed

src/etc/vim/indent/rust.vim

+17-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
" Vim indent file
22
" Language: Rust
33
" Author: Chris Morgan <[email protected]>
4-
" Last Change: 2013 Jul 10
4+
" Last Change: 2013 Oct 29
55

66
" Only load this indent file when no other was loaded.
77
if exists("b:did_indent")
@@ -104,8 +104,23 @@ function GetRustIndent(lnum)
104104
let prevline = s:get_line_trimmed(prevnonblank(a:lnum - 1))
105105
if prevline[len(prevline) - 1] == ","
106106
\ && s:get_line_trimmed(a:lnum) !~ "^\\s*[\\[\\]{}]"
107+
\ && prevline !~ "^\\s*fn\\s"
107108
" Oh ho! The previous line ended in a comma! I bet cindent will try to
108-
" take this too far... For now, let's use the previous line's indent
109+
" take this too far... For now, let's normally use the previous line's
110+
" indent.
111+
112+
" One case where this doesn't work out is where *this* line contains
113+
" square or curly brackets; then we normally *do* want to be indenting
114+
" further.
115+
"
116+
" Another case where we don't want to is one like a function
117+
" definition with arguments spread over multiple lines:
118+
"
119+
" fn foo(baz: Baz,
120+
" baz: Baz) // <-- cindent gets this right by itself
121+
"
122+
" There are probably other cases where we don't want to do this as
123+
" well. Add them as needed.
109124
return GetRustIndent(a:lnum - 1)
110125
endif
111126

src/etc/vim/syntax/rust.vim

+20-22
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
" Maintainer: Patrick Walton <[email protected]>
44
" Maintainer: Ben Blum <[email protected]>
55
" Maintainer: Chris Morgan <[email protected]>
6-
" Last Change: 2013 Oct 19
6+
" Last Change: 2013 Oct 29
77

88
if version < 600
99
syntax clear
@@ -64,47 +64,45 @@ syn keyword rustEnumVariant Ok Err
6464
"syn keyword rustFunction from_str
6565

6666
" Types and traits {{{3
67+
syn keyword rustTrait Any AnyOwnExt AnyRefExt AnyMutRefExt
68+
syn keyword rustTrait Ascii AsciiCast OwnedAsciiCast AsciiStr ToBytesConsume
69+
syn keyword rustTrait Bool
6770
syn keyword rustTrait ToCStr
71+
syn keyword rustTrait Char
6872
syn keyword rustTrait Clone DeepClone
6973
syn keyword rustTrait Eq ApproxEq Ord TotalEq TotalOrd Ordering Equiv
7074
syn keyword rustEnumVariant Less Equal Greater
71-
syn keyword rustTrait Char
7275
syn keyword rustTrait Container Mutable Map MutableMap Set MutableSet
76+
syn keyword rustTrait Default
7377
syn keyword rustTrait Hash
74-
syn keyword rustTrait Times
78+
syn keyword rustTrait FromStr
7579
syn keyword rustTrait FromIterator Extendable
7680
syn keyword rustTrait Iterator DoubleEndedIterator RandomAccessIterator ClonableIterator
7781
syn keyword rustTrait OrdIterator MutableDoubleEndedIterator ExactSize
78-
syn keyword rustTrait Num NumCast CheckedAdd CheckedSub CheckedMul
79-
syn keyword rustTrait Orderable Signed Unsigned Round
82+
syn keyword rustTrait Times
83+
8084
syn keyword rustTrait Algebraic Trigonometric Exponential Hyperbolic
81-
syn keyword rustTrait Integer Fractional Real RealExt
8285
syn keyword rustTrait Bitwise BitCount Bounded
86+
syn keyword rustTrait Integer Fractional Real RealExt
87+
syn keyword rustTrait Num NumCast CheckedAdd CheckedSub CheckedMul
88+
syn keyword rustTrait Orderable Signed Unsigned Round
8389
syn keyword rustTrait Primitive Int Float ToStrRadix ToPrimitive FromPrimitive
84-
syn keyword rustTrait GenericPath
85-
syn keyword rustTrait Path
86-
syn keyword rustTrait PosixPath
87-
syn keyword rustTrait WindowsPath
90+
syn keyword rustTrait GenericPath Path PosixPath WindowsPath
8891
syn keyword rustTrait RawPtr
89-
syn keyword rustTrait Ascii AsciiCast OwnedAsciiCast AsciiStr ToBytesConsume
9092
syn keyword rustTrait SendStr SendStrOwned SendStrStatic IntoSendStr
9193
syn keyword rustTrait Str StrVector StrSlice OwnedStr
92-
syn keyword rustTrait FromStr
9394
syn keyword rustTrait IterBytes
9495
syn keyword rustTrait ToStr ToStrConsume
9596
syn keyword rustTrait CopyableTuple ImmutableTuple
96-
syn keyword rustTrait Tuple1 ImmutableTuple1
97-
syn keyword rustTrait Tuple2 Tuple3 Tuple4 Tuple5
98-
syn keyword rustTrait Tuple6 Tuple7 Tuple8 Tuple9
99-
syn keyword rustTrait Tuple10 Tuple11 Tuple12
100-
syn keyword rustTrait ImmutableTuple2 ImmutableTuple3 ImmutableTuple4 ImmutableTuple5
101-
syn keyword rustTrait ImmutableTuple6 ImmutableTuple7 ImmutableTuple8 ImmutableTuple9
102-
syn keyword rustTrait ImmutableTuple10 ImmutableTuple11 ImmutableTuple12
103-
syn keyword rustTrait Vector VectorVector CopyableVector ImmutableVector
97+
syn keyword rustTrait Tuple1 Tuple2 Tuple3 Tuple4
98+
syn keyword rustTrait Tuple5 Tuple6 Tuple7 Tuple8
99+
syn keyword rustTrait Tuple9 Tuple10 Tuple11 Tuple12
100+
syn keyword rustTrait ImmutableTuple1 ImmutableTuple2 ImmutableTuple3 ImmutableTuple4
101+
syn keyword rustTrait ImmutableTuple5 ImmutableTuple6 ImmutableTuple7 ImmutableTuple8
102+
syn keyword rustTrait ImmutableTuple9 ImmutableTuple10 ImmutableTuple11 ImmutableTuple12
104103
syn keyword rustTrait ImmutableEqVector ImmutableTotalOrdVector ImmutableCopyableVector
105104
syn keyword rustTrait OwnedVector OwnedCopyableVector OwnedEqVector MutableVector
106-
syn keyword rustTrait Reader ReaderUtil Writer WriterUtil
107-
syn keyword rustTrait Default
105+
syn keyword rustTrait Vector VectorVector CopyableVector ImmutableVector
108106

109107
"syn keyword rustFunction stream
110108
syn keyword rustTrait Port Chan GenericChan GenericSmartChan GenericPort Peekable

0 commit comments

Comments
 (0)