Commit graph

35 commits

Author SHA1 Message Date
David Baker
4953d4de4d Give autocomplete providers the room they're in
Removes the gut-wrenching that RoomView does to jam the user list
into the user autocomplete provider.
2017-11-02 17:51:08 +00:00
Luke Barnard
d3f9a3aeb5 Run eslint --fix
Fixing 1000s of lint issues. Some rules cannot be `--fix`ed but this goes some way to linting the entire codebase.
2017-10-11 17:56:17 +01:00
turt2live
b2de016b35 Add option to disable Emoji suggestions
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 21:28:12 -06:00
Luke Barnard
72c1cf9288 When sorting completions, use matched string, not entire query
Otherwise the results vary depending on where you start autocompleting in your message. We only care about the matched string.
2017-08-02 10:09:00 +01:00
Luke Barnard
ff95542549 Adjust emoji sorting such that exact matches/prefixes appear first
fixes https://github.com/vector-im/riot-web/issues/4704
2017-08-01 17:36:41 +01:00
Luke Barnard
b3df546cb9 Fix comment 2017-07-20 10:51:15 +01:00
Luke Barnard
a7feb58b63 Match emojis by long name
For example, searching for `:tong` will now match `:stuck_out_tongue` because the query `:tong` has all non-word characters removed, becoming `tong` and is then matched against the (long) names of emojis such as `smiling face with open mouth and tightly-closed eyes`.
2017-07-20 10:01:58 +01:00
Luke Barnard
c8722292e3 Don't truncate EmojiProvider completion pills 2017-07-19 16:20:57 +01:00
Luke Barnard
d146246805 Move "regional" category to after "flags"
Otherwise by default it appears first, pushing "people" further down the list

Also, remove "unicode9" category ordering, as this category does not exist as part of emojione
2017-07-11 14:06:15 +01:00
Luke Barnard
9a272d4965 Only allow completion of emoji in certain circumstances
Which are:
 - the emoji to complete is at the start of the query
 - there is a whitespace character before the emoji
 - there is an emoji before the emoji (so that several emoji can be input in-a-row)

Fixes https://github.com/vector-im/riot-web/issues/4498 (although it seems to be fixed through some other fix)
2017-07-07 19:02:51 +01:00
Luke Barnard
0a4f8ffead Alter EMOJI_REGEX to include end of string ($)
Fixes https://github.com/vector-im/riot-web/issues/4529 because the match must include the remainder of the query.
2017-07-06 18:11:46 +01:00
Luke Barnard
2861adc830 Only truncate autocomplete pulls of Emoji, Room and UserProvider
Leaving Commands and DuckDuckGo not truncated
2017-07-04 16:50:50 +01:00
Luke Barnard
b315ed630e Match by emoji ascii regex first before shorthand
Plaintext emojis that start with ":" will also match against the shorthand regex but the match won't include the important part of the plaintext emoji. This means some emoji like ":)" won't be matched.

To fix this, put the ascii emoji regex first so that the match will be plaintext or otherwise it will fall through to the shorthand match (if there is one).

Fixes https://github.com/vector-im/riot-web/issues/4467
2017-06-30 16:31:40 +01:00
Luke Barnard
982b009b90 Implement ascii emoji tab completion
When a fully plaintext, ascii emoji is typed like ";-)", pressing tab will suggest emojione to replace it with based off of the meta data provided by emojione.

e.g. the aliases_ascii for `😃` are [":D",":-D","=D"] so typing ":D *tab*" will insert a real 😃
2017-06-29 11:29:55 +01:00
Luke Barnard
2b8da85726 Strip the emoji meta-data for the data we need
This is done at build time by parsing emojione/emoji.json, stripping it and then writing to ./lib/stripped-emoji.json.
2017-06-28 11:36:19 +01:00
Luke Barnard
8ca3b382ed Use emojione/emoji.json because we don't want two sets of emoji meta 2017-06-28 11:19:16 +01:00
Luke Barnard
f4db765239 Fix indentation 2017-06-28 10:32:46 +01:00
Luke Barnard
9d339b96bd Order emojis by standard ordering, add alternate shortnames
Also, increase the maximum number of emoji shown to 20.
2017-06-27 20:13:48 +01:00
Luke Barnard
87609582c6 Merge branch 'develop' into rte-fixes2
Conflicts:
	package.json
	src/autocomplete/CommandProvider.js
	src/autocomplete/UserProvider.js
	src/components/structures/RoomView.js
	src/components/structures/UserSettings.js
	src/components/views/rooms/MessageComposerInput.js
2017-06-23 15:30:06 +01:00
Kegan Dougal
66bce35918 copyright adjustments 2017-06-01 17:29:40 +01:00
Kegan Dougal
f75e714c3a More translations.. 2017-06-01 15:18:06 +01:00
David Baker
5c359e63ab Bulk change counterpart imports
to use languageHandler wrapper func
2017-05-25 11:39:08 +01:00
David Baker
d419c42a4f Squash merge https://github.com/matrix-org/matrix-react-sdk/pull/801 2017-05-23 15:16:31 +01:00
Luke Barnard
bc045698b9 Fix for fuse 2.7.2
As of v2.7.2, fuse.js introduces a regression where the second argument to the constructor `Fuse` is assumed to be an object. There was one instance where we were not passing any argument. This fixes that.
2017-04-25 18:01:56 +01:00
Aviral Dasgupta
e65744abdc
fix EmojiProvider for new QueryMatcher 2017-03-07 04:09:26 +05:30
Aviral Dasgupta
78641a80dd
autocomplete: replace Fuse.js with liblevenshtein 2017-03-07 04:09:25 +05:30
David Baker
18d4d3392a Fix a bunch of linting errors
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
Aviral Dasgupta
b62622a814 Improve autocomplete behaviour
Fixes vector-im/vector-web#1761
2016-09-13 15:46:02 +05:30
Aviral Dasgupta
884abbd7e9 Cleanup autocomplete 2016-08-23 00:36:31 +05:30
Aviral Dasgupta
e173900808 Update autocomplete design and scroll it correctly 2016-08-17 17:27:19 +05:30
Aviral Dasgupta
1b414cad18 Add max-width to emoji completions. 2016-08-10 00:52:55 +05:30
Aviral Dasgupta
cccc58b47f feat: implement autocomplete replacement 2016-07-03 22:15:13 +05:30
Aviral Dasgupta
fb6eec0f7d Hide/show autocomplete based on selection state 2016-06-21 15:46:20 +05:30
Aviral Dasgupta
4af983ed90 Style changes and improvements in autocomplete 2016-06-20 13:52:55 +05:30
Aviral Dasgupta
b9d7743e5a Emoji provider, DDG working, style improvements 2016-06-17 04:58:09 +05:30