diff --git a/src/etc/emacs/rust-mode.el b/src/etc/emacs/rust-mode.el
index beb2e6510fd72..6a514c81b0928 100644
--- a/src/etc/emacs/rust-mode.el
+++ b/src/etc/emacs/rust-mode.el
@@ -170,7 +170,7 @@
(defconst rust-mode-keywords
'("as"
"box" "break"
- "continue" "crate"
+ "const" "continue" "crate"
"do"
"else" "enum" "extern"
"false" "fn" "for"
@@ -182,7 +182,8 @@
"self" "static" "struct" "super"
"true" "trait" "type"
"unsafe" "use"
- "while"))
+ "virtual"
+ "where" "while"))
(defconst rust-special-types
'("u8" "i8"
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
index b54de8802cf5c..9f22a99b7741f 100644
--- a/src/etc/gedit/share/gtksourceview-3.0/language-specs/rust.lang
+++ b/src/etc/gedit/share/gtksourceview-3.0/language-specs/rust.lang
@@ -71,6 +71,8 @@
trait
unsafe
use
+ virtual
+ where
while
diff --git a/src/etc/kate/rust.xml b/src/etc/kate/rust.xml
index f2f54d9d30703..cf59f1454c13e 100644
--- a/src/etc/kate/rust.xml
+++ b/src/etc/kate/rust.xml
@@ -19,6 +19,7 @@
- as
- break
- box
+ - const
- continue
- crate
- do
@@ -44,6 +45,8 @@
- trait
- unsafe
- use
+ - virtual
+ - where
- while
diff --git a/src/etc/vim/syntax/rust.vim b/src/etc/vim/syntax/rust.vim
index 544c938dd730f..b25cbd726dde6 100644
--- a/src/etc/vim/syntax/rust.vim
+++ b/src/etc/vim/syntax/rust.vim
@@ -26,7 +26,7 @@ syn keyword rustKeyword fn nextgroup=rustFuncName skipwhite skipempty
syn keyword rustKeyword for in if impl let
syn keyword rustKeyword loop once proc pub
syn keyword rustKeyword return super
-syn keyword rustKeyword unsafe virtual while
+syn keyword rustKeyword unsafe virtual where while
syn keyword rustKeyword use nextgroup=rustModPath,rustModPathInUse skipwhite skipempty
" FIXME: Scoped impl's name is also fallen in this category
syn keyword rustKeyword mod trait struct enum type nextgroup=rustIdentifier skipwhite skipempty