From a797b7e870c57e751e86485d01d9366b58b3c211 Mon Sep 17 00:00:00 2001
From: Rodrigo Nascimento <rodrigoknascimento@gmail.com>
Date: Tue, 4 Aug 2015 14:20:23 -0300
Subject: [PATCH] Complete username with tab. Close #159

---
 client/lib/chatMessages.coffee | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/client/lib/chatMessages.coffee b/client/lib/chatMessages.coffee
index 4b3b2f99852..3657029e81b 100644
--- a/client/lib/chatMessages.coffee
+++ b/client/lib/chatMessages.coffee
@@ -110,6 +110,17 @@ class @ChatMessages
 				postGrowCallback: =>
 					this.resize()
 
+	tryCompletion: (input) ->
+		value = input.value.match(/[^\s]+$/)
+		if value?.length > 0
+			value = value[0]
+
+			re = new RegExp value, 'i'
+
+			user = Meteor.users.findOne username: re
+			if user?
+				input.value = input.value.replace value, '@' + user.username
+
 	keyup: (rid, event) ->
 		input = event.currentTarget
 		k = event.which
@@ -148,6 +159,12 @@ class @ChatMessages
 			else
 				this.send(rid, input)
 			return
+
+		if k is 9
+			event.preventDefault()
+			event.stopPropagation()
+			@tryCompletion input
+
 		if k is 27
 			if this.editing.id
 				event.preventDefault()
-- 
GitLab