summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Morgan <me@chrismorgan.info>2014-12-03 12:58:14 +1100
committerChris Morgan <me@chrismorgan.info>2014-12-03 12:58:14 +1100
commit3e3640376657ce29367df2eae36d0856a2405f81 (patch)
tree24fe7acb42d1b386e0742d6a5f645c10f3eb17a6
parente7d23aec8848e48e2d5d5112a4bdba4c1c769a15 (diff)
downloadpygments-3e3640376657ce29367df2eae36d0856a2405f81.tar.gz
Update the Rust prelude items.
-rw-r--r--pygments/lexers/rust.py82
1 files changed, 57 insertions, 25 deletions
diff --git a/pygments/lexers/rust.py b/pygments/lexers/rust.py
index c2bea123..e64657c9 100644
--- a/pygments/lexers/rust.py
+++ b/pygments/lexers/rust.py
@@ -55,33 +55,65 @@ class RustLexer(RegexLexer):
'int', 'f32', 'f64', 'str', 'bool'), suffix=r'\b'),
Keyword.Type),
(r'self\b', Name.Builtin.Pseudo),
- # Prelude
+ # Prelude (taken from Rust’s src/libstd/prelude.rs)
(words((
- 'Freeze', 'Pod', 'Send', 'Sized', 'Add', 'Sub', 'Mul', 'Div', 'Rem', 'Neg', 'Not', 'BitAnd',
- 'BitOr', 'BitXor', 'Drop', 'Shl', 'Shr', 'Index', 'Option', 'Some', 'None', 'Result',
- 'Ok', 'Err', 'from_str', 'range', 'print', 'println', 'Any', 'AnyOwnExt', 'AnyRefExt',
- 'AnyMutRefExt', 'Ascii', 'AsciiCast', 'OnwedAsciiCast', 'AsciiStr',
- 'IntoBytes', 'Bool', 'ToCStr', 'Char', 'Clone', 'DeepClone', 'Eq', 'ApproxEq',
- 'Ord', 'TotalEq', 'Ordering', 'Less', 'Equal', 'Greater', 'Equiv', 'Container',
- 'Mutable', 'Map', 'MutableMap', 'Set', 'MutableSet', 'Default', 'FromStr',
- 'Hash', 'FromIterator', 'Extendable', 'Iterator', 'DoubleEndedIterator',
- 'RandomAccessIterator', 'CloneableIterator', 'OrdIterator',
- 'MutableDoubleEndedIterator', 'ExactSize', 'Times', 'Algebraic',
- 'Trigonometric', 'Exponential', 'Hyperbolic', 'Bitwise', 'BitCount',
- 'Bounded', 'Integer', 'Fractional', 'Real', 'RealExt', 'Num', 'NumCast',
- 'CheckedAdd', 'CheckedSub', 'CheckedMul', 'Orderable', 'Signed',
- 'Unsigned', 'Round', 'Primitive', 'Int', 'Float', 'ToStrRadix',
- 'ToPrimitive', 'FromPrimitive', 'GenericPath', 'Path', 'PosixPath',
- 'WindowsPath', 'RawPtr', 'Buffer', 'Writer', 'Reader', 'Seek',
- 'SendStr', 'SendStrOwned', 'SendStrStatic', 'IntoSendStr', 'Str',
- 'StrVector', 'StrSlice', 'OwnedStr', 'IterBytes', 'ToStr', 'IntoStr',
- 'CopyableTuple', 'ImmutableTuple', 'ImmutableEqVector', 'ImmutableTotalOrdVector',
- 'ImmutableCopyableVector', 'OwnedVector', 'OwnedCopyableVector',
- 'OwnedEqVector', 'MutableVector', 'MutableTotalOrdVector',
- 'Vector', 'VectorVector', 'CopyableVector', 'ImmutableVector',
- 'Port', 'Chan', 'SharedChan', 'spawn', 'drop'), suffix=r'\b'),
+ # Reexported core operators
+ 'Copy', 'Send', 'Sized', 'Sync',
+ 'Add', 'Sub', 'Mul', 'Div', 'Rem', 'Neg', 'Not',
+ 'BitAnd', 'BitOr', 'BitXor',
+ 'Drop', 'Deref', 'DerefMut',
+ 'Shl', 'Shr',
+ 'Index', 'IndexMut',
+ 'Slice', 'SliceMut',
+ 'Fn', 'FnMut', 'FnOnce',
+
+ # Reexported functions
+ 'range',
+ 'drop',
+ 'from_str',
+
+ # Reexported types and traits
+ 'Ascii', 'AsciiCast', 'OwnedAsciiCast', 'AsciiStr',
+ 'IntoBytes',
+ 'IntoCow',
+ 'ToCStr',
+ 'Char', 'UnicodeChar',
+ 'Clone',
+ 'PartialEq', 'PartialOrd', 'Eq', 'Ord',
+ 'Ordering', 'Equiv',
+ 'Less', 'Equal', 'Greater',
+ 'FromIterator', 'Extend', 'ExactSizeIterator',
+ 'Iterator', 'IteratorExt', 'DoubleEndedIterator',
+ 'DoubleEndedIteratorExt', 'CloneIteratorExt',
+ 'RandomAccessIterator', 'IteratorCloneExt',
+ 'IteratorOrdExt', 'MutableDoubleEndedIterator',
+ 'ToPrimitive', 'FromPrimitive',
+ 'Box',
+ 'Option',
+ 'Some', 'None',
+ 'GenericPath', 'Path', 'PosixPath', 'WindowsPath',
+ 'RawPtr', 'RawMutPtr',
+ 'Result',
+ 'Ok', 'Err',
+ 'Buffer', 'Writer', 'Reader', 'Seek', 'BufferPrelude',
+ 'Str', 'StrVector', 'StrPrelude',
+ 'StrAllocating', 'UnicodeStrPrelude',
+ 'Tuple1', 'Tuple2', 'Tuple3', 'Tuple4',
+ 'Tuple5', 'Tuple6', 'Tuple7', 'Tuple8',
+ 'Tuple9', 'Tuple10', 'Tuple11', 'Tuple12',
+ 'SlicePrelude', 'AsSlice', 'CloneSlicePrelude',
+ 'VectorVector', 'PartialEqSlicePrelude', 'OrdSlicePrelude',
+ 'CloneSliceAllocPrelude', 'OrdSliceAllocPrelude', 'SliceAllocPrelude',
+ 'BoxedSlicePrelude',
+ 'IntoString', 'String', 'ToString',
+ 'Vec',
+
+ # Reexported runtime types
+ 'sync_channel', 'channel',
+ 'SyncSender', 'Sender', 'Receiver',
+ 'spawn',
+ ), suffix=r'\b'),
Name.Builtin),
- (r'(ImmutableTuple\d+|Tuple\d+)\b', Name.Builtin),
# Labels
(r'(break|continue)(\s*)(\'[A-Za-z_]\w*)?', bygroups(Keyword, Text.Whitespace, Name.Label)),
# Character Literal