diff --git a/src/etc/gedit/readme.txt b/src/etc/gedit/readme.txt
new file mode 100644
index 00000000000..735b0236276
--- /dev/null
+++ b/src/etc/gedit/readme.txt
@@ -0,0 +1,11 @@
+Add syntax highlighting for Mozilla Rust in GtkSourceView (used by GEdit).
+
+
+Instructions for Ubuntu Linux 12.04+
+
+1) Close all instances of GEdit
+
+2) Copy the included "share" folder into "~/.local/"
+
+3) Open a shell in "~/.local/share/" and run "update-mime-database mime"
+
diff --git a/src/etc/gedit/share/gtksourceview-3.0/language-specs/rust.lang b/src/etc/gedit/share/gtksourceview-3.0/language-specs/rust.lang
new file mode 100644
index 00000000000..0b23808b765
--- /dev/null
+++ b/src/etc/gedit/share/gtksourceview-3.0/language-specs/rust.lang
@@ -0,0 +1,264 @@
+
+
+
+
+
+
+ text/x-rust
+ *.rs;*.rc
+ //
+ /*
+ */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fn
+
+
+
+ type
+
+
+
+ as
+ assert
+ break
+ const
+ copy
+ do
+ drop
+ else
+ enum
+ export
+ extern
+ fail
+ for
+ if
+ impl
+ let
+ log
+ loop
+ match
+ mod
+ move
+ mut
+ priv
+ pub
+ pure
+ ref
+ return
+ static
+ struct
+ trait
+ unsafe
+ use
+ while
+
+
+
+ bool
+ int
+ uint
+ i8
+ i16
+ i32
+ i64
+ u8
+ u16
+ u32
+ u64
+ f32
+ f64
+ float
+ char
+ str
+ Either
+ Option
+ Result
+
+
+
+ c_float
+ c_double
+ c_void
+ FILE
+ fpos_t
+ DIR
+ dirent
+ c_char
+ c_schar
+ c_uchar
+ c_short
+ c_ushort
+ c_int
+ c_uint
+ c_long
+ c_ulong
+ size_t
+ ptrdiff_t
+ clock_t
+ time_t
+ c_longlong
+ c_ulonglong
+ intptr_t
+ uintptr_t
+ off_t
+ dev_t
+ ino_t
+ pid_t
+ mode_t
+ ssize_t
+
+
+
+ self
+
+
+
+ true
+ false
+ Some
+ None
+ Left
+ Right
+ Ok
+ Err
+ Success
+ Failure
+ Cons
+ Nil
+
+
+
+ EXIT_FAILURE
+ EXIT_SUCCESS
+ RAND_MAX
+ EOF
+ SEEK_SET
+ SEEK_CUR
+ SEEK_END
+ _IOFBF
+ _IONBF
+ _IOLBF
+ BUFSIZ
+ FOPEN_MAX
+ FILENAME_MAX
+ L_tmpnam
+ TMP_MAX
+ O_RDONLY
+ O_WRONLY
+ O_RDWR
+ O_APPEND
+ O_CREAT
+ O_EXCL
+ O_TRUNC
+ S_IFIFO
+ S_IFCHR
+ S_IFBLK
+ S_IFDIR
+ S_IFREG
+ S_IFMT
+ S_IEXEC
+ S_IWRITE
+ S_IREAD
+ S_IRWXU
+ S_IXUSR
+ S_IWUSR
+ S_IRUSR
+ F_OK
+ R_OK
+ W_OK
+ X_OK
+ STDIN_FILENO
+ STDOUT_FILENO
+ STDERR_FILENO
+
+
+
+
+
+
+
+
+ (?<![\w\.])
+ (
+ 0x[0-9a-fA-F_]+(u8|u16|u32|u64|i8|i16|i32|i64|u|i)?|
+ 0b[0-1_]+(u8|u16|u32|u64|i8|i16|i32|i64|u|i)?|
+ [0-9][0-9_]*\.[0-9_]*([eE][+-]?[0-9_]+)?(f32|f64|f)?|
+ [0-9][0-9_]*(u8|u16|u32|u64|i8|i16|i32|i64|u|i)?
+ )
+ (?![\w\.])
+
+
+
+
+
+ [a-zA-Z_][a-zA-Z0-9_]*::
+
+
+
+
+ "
+ "
+
+
+
+
+
+
+
+ '
+ '
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/etc/gedit/share/mime/packages/rust.xml b/src/etc/gedit/share/mime/packages/rust.xml
new file mode 100644
index 00000000000..65168aae1d9
--- /dev/null
+++ b/src/etc/gedit/share/mime/packages/rust.xml
@@ -0,0 +1,7 @@
+
+
+ Rust Source
+
+
+
+