{"action":"created","comment":{"url":"https://api.github.com/repos/Mudlet/Mudlet/pulls/comments/214864426","pull_request_review_id":152003904,"id":214864426,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxNDg2NDQyNg==","diff_hunk":"@@ -701,33 +701,32 @@ void TCommandLine::handleTabCompletion(bool direction)\n     }\n \n     QStringList bufferList = mpHost->mpConsole->buffer.getEndLines(amount);\n-    QString buffer = bufferList.join(\" \");\n+    QString buffer = bufferList.join(QStringLiteral(\" \"));\n \n-    buffer.replace(QChar(0x21af), \"\\n\");\n-    buffer.replace(QChar('\\n'), \" \");\n+    buffer.replace(QChar(0x21af), QLatin1String(\"\\n\"));\n+    buffer.replace(QChar('\\n'), QLatin1String(\" \"));\n \n-    QStringList wordList = buffer.split(QRegularExpression(QStringLiteral(R\"(\\b)\")), QString::SkipEmptyParts);\n+    QStringList wordList = buffer.split(QRegularExpression(QStringLiteral(R\"(\\b)\"), QRegularExpression::UseUnicodePropertiesOption), QString::SkipEmptyParts);\n     if (direction) {\n         mTabCompletionCount++;\n     } else {\n         mTabCompletionCount--;\n     }\n     if (!wordList.empty()) {\n-        if (mTabCompletionTyped.endsWith(\" \")) {\n+        if (mTabCompletionTyped.endsWith(QLatin1String(\" \"))) {\n             return;\n         }\n         QString lastWord;\n-        QRegularExpression reg = QRegularExpression(QStringLiteral(R\"(\\b(\\w+)$)\"));\n+        QRegularExpression reg = QRegularExpression(QStringLiteral(R\"(\\b(\\w+)$)\"), QRegularExpression::UseUnicodePropertiesOption);\n         QRegularExpressionMatch match = reg.match(mTabCompletionTyped);\n         int typePosition = match.capturedStart();\n         if (reg.captureCount() >= 1) {\n             lastWord = match.captured(1);\n         } else {\n-            lastWord = \"\";\n+            lastWord = QLatin1String(\"\");\n         }\n \n-        QStringList filterList = wordList.filter(QRegularExpression(QStringLiteral(\"^\") + lastWord + QStringLiteral(R\"(\\w+)\"),\n-                                                                    QRegularExpression::CaseInsensitiveOption));\n+        QStringList filterList = wordList.filter(QRegularExpression(QStringLiteral(\"^\") + lastWord + QStringLiteral(R\"(\\w+)\"), QRegularExpression::CaseInsensitiveOption | QRegularExpression::UseUnicodePropertiesOption));","path":"src/TCommandLine.cpp","position":38,"original_position":38,"commit_id":"7c7a50ebf17f2029cb51c7b7d178e5418ba62cee","original_commit_id":"7c7a50ebf17f2029cb51c7b7d178e5418ba62cee","user":{"login":"SlySven","id":6163092,"node_id":"MDQ6VXNlcjYxNjMwOTI=","avatar_url":"https://avatars3.githubusercontent.com/u/6163092?v=4","gravatar_id":"","url":"https://api.github.com/users/SlySven","html_url":"https://github.com/SlySven","followers_url":"https://api.github.com/users/SlySven/followers","following_url":"https://api.github.com/users/SlySven/following{/other_user}","gists_url":"https://api.github.com/users/SlySven/gists{/gist_id}","starred_url":"https://api.github.com/users/SlySven/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SlySven/subscriptions","organizations_url":"https://api.github.com/users/SlySven/orgs","repos_url":"https://api.github.com/users/SlySven/repos","events_url":"https://api.github.com/users/SlySven/events{/privacy}","received_events_url":"https://api.github.com/users/SlySven/received_events","type":"User","site_admin":false},"body":"As `QStringLiteral` handles parametric replacement the string for the `QRegularExpression` could, I think be made more readable as:\r\n```\r\nQStringLiteral(\"^%1\\\\w+\").arg(lastWord)\r\n```\r\nOr, if the C++11 (or is it 14) string literal really is wanted (though ***I*** still find them harder to read in some cases):\r\n```\r\nQStringLiteral(R\"(^%1\\w+)\").arg(lastWord)\r\n```","created_at":"2018-09-04T10:28:49Z","updated_at":"2018-09-04T10:30:21Z","html_url":"https://github.com/Mudlet/Mudlet/pull/1954#discussion_r214864426","pull_request_url":"https://api.github.com/repos/Mudlet/Mudlet/pulls/1954","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/Mudlet/Mudlet/pulls/comments/214864426"},"html":{"href":"https://github.com/Mudlet/Mudlet/pull/1954#discussion_r214864426"},"pull_request":{"href":"https://api.github.com/repos/Mudlet/Mudlet/pulls/1954"}}},"pull_request":{"url":"https://api.github.com/repos/Mudlet/Mudlet/pulls/1954","id":212868256,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEyODY4MjU2","html_url":"https://github.com/Mudlet/Mudlet/pull/1954","diff_url":"https://github.com/Mudlet/Mudlet/pull/1954.diff","patch_url":"https://github.com/Mudlet/Mudlet/pull/1954.patch","issue_url":"https://api.github.com/repos/Mudlet/Mudlet/issues/1954","number":1954,"state":"open","locked":false,"title":"Fix tab completion to work with non-English languages","user":{"login":"vadi2","id":110988,"node_id":"MDQ6VXNlcjExMDk4OA==","avatar_url":"https://avatars1.githubusercontent.com/u/110988?v=4","gravatar_id":"","url":"https://api.github.com/users/vadi2","html_url":"https://github.com/vadi2","followers_url":"https://api.github.com/users/vadi2/followers","following_url":"https://api.github.com/users/vadi2/following{/other_user}","gists_url":"https://api.github.com/users/vadi2/gists{/gist_id}","starred_url":"https://api.github.com/users/vadi2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vadi2/subscriptions","organizations_url":"https://api.github.com/users/vadi2/orgs","repos_url":"https://api.github.com/users/vadi2/repos","events_url":"https://api.github.com/users/vadi2/events{/privacy}","received_events_url":"https://api.github.com/users/vadi2/received_events","type":"User","site_admin":false},"body":"<!-- To keep things simple, focus on just one topic in your PR and make changes just for that topic.\r\n     This'll make it a lot easier to review, and thus your PR will get in faster.\r\n     Remember can open multiple PRs at a time! -->\r\n#### Brief overview of PR changes/additions\r\nFix tab completion to work with non-English languages by adding the `QRegularExpression::UseUnicodePropertiesOption` flag to regex.\r\n\r\n![peek 2018-09-04 08-29](https://user-images.githubusercontent.com/110988/45013855-e0aff180-b01c-11e8-9542-692bee65676a.gif)\r\n\r\n#### Motivation for adding to Mudlet\r\ni18n\r\n#### Other info (issues closed, discussion etc)\r\nFixes https://github.com/Mudlet/Mudlet/issues/1934.","created_at":"2018-09-04T06:32:29Z","updated_at":"2018-09-04T10:30:21Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2ae449446a9ae18700a7c85cac2fd04606162340","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":119740317,"node_id":"MDU6TGFiZWwxMTk3NDAzMTc=","url":"https://api.github.com/repos/Mudlet/Mudlet/labels/1%20-%20Ready%20for%20review","name":"1 - Ready for review","color":"009800","default":false}],"milestone":{"url":"https://api.github.com/repos/Mudlet/Mudlet/milestones/19","html_url":"https://github.com/Mudlet/Mudlet/milestone/19","labels_url":"https://api.github.com/repos/Mudlet/Mudlet/milestones/19/labels","id":3566452,"node_id":"MDk6TWlsZXN0b25lMzU2NjQ1Mg==","number":19,"title":"3.13","description":"","creator":{"login":"vadi2","id":110988,"node_id":"MDQ6VXNlcjExMDk4OA==","avatar_url":"https://avatars1.githubusercontent.com/u/110988?v=4","gravatar_id":"","url":"https://api.github.com/users/vadi2","html_url":"https://github.com/vadi2","followers_url":"https://api.github.com/users/vadi2/followers","following_url":"https://api.github.com/users/vadi2/following{/other_user}","gists_url":"https://api.github.com/users/vadi2/gists{/gist_id}","starred_url":"https://api.github.com/users/vadi2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vadi2/subscriptions","organizations_url":"https://api.github.com/users/vadi2/orgs","repos_url":"https://api.github.com/users/vadi2/repos","events_url":"https://api.github.com/users/vadi2/events{/privacy}","received_events_url":"https://api.github.com/users/vadi2/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":16,"state":"open","created_at":"2018-08-13T17:57:06Z","updated_at":"2018-09-04T09:56:09Z","due_on":"2018-09-14T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/Mudlet/Mudlet/pulls/1954/commits","review_comments_url":"https://api.github.com/repos/Mudlet/Mudlet/pulls/1954/comments","review_comment_url":"https://api.github.com/repos/Mudlet/Mudlet/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Mudlet/Mudlet/issues/1954/comments","statuses_url":"https://api.github.com/repos/Mudlet/Mudlet/statuses/7c7a50ebf17f2029cb51c7b7d178e5418ba62cee","head":{"label":"vadi2:tab-completion-russian","ref":"tab-completion-russian","sha":"7c7a50ebf17f2029cb51c7b7d178e5418ba62cee","user":{"login":"vadi2","id":110988,"node_id":"MDQ6VXNlcjExMDk4OA==","avatar_url":"https://avatars1.githubusercontent.com/u/110988?v=4","gravatar_id":"","url":"https://api.github.com/users/vadi2","html_url":"https://github.com/vadi2","followers_url":"https://api.github.com/users/vadi2/followers","following_url":"https://api.github.com/users/vadi2/following{/other_user}","gists_url":"https://api.github.com/users/vadi2/gists{/gist_id}","starred_url":"https://api.github.com/users/vadi2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vadi2/subscriptions","organizations_url":"https://api.github.com/users/vadi2/orgs","repos_url":"https://api.github.com/users/vadi2/repos","events_url":"https://api.github.com/users/vadi2/events{/privacy}","received_events_url":"https://api.github.com/users/vadi2/received_events","type":"User","site_admin":false},"repo":{"id":82335144,"node_id":"MDEwOlJlcG9zaXRvcnk4MjMzNTE0NA==","name":"Mudlet","full_name":"vadi2/Mudlet","owner":{"login":"vadi2","id":110988,"node_id":"MDQ6VXNlcjExMDk4OA==","avatar_url":"https://avatars1.githubusercontent.com/u/110988?v=4","gravatar_id":"","url":"https://api.github.com/users/vadi2","html_url":"https://github.com/vadi2","followers_url":"https://api.github.com/users/vadi2/followers","following_url":"https://api.github.com/users/vadi2/following{/other_user}","gists_url":"https://api.github.com/users/vadi2/gists{/gist_id}","starred_url":"https://api.github.com/users/vadi2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vadi2/subscriptions","organizations_url":"https://api.github.com/users/vadi2/orgs","repos_url":"https://api.github.com/users/vadi2/repos","events_url":"https://api.github.com/users/vadi2/events{/privacy}","received_events_url":"https://api.github.com/users/vadi2/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/vadi2/Mudlet","description":"A modern open source MUD client with a graphical user inteface and full built in Lua scripting support for all major platforms.","fork":true,"url":"https://api.github.com/repos/vadi2/Mudlet","forks_url":"https://api.github.com/repos/vadi2/Mudlet/forks","keys_url":"https://api.github.com/repos/vadi2/Mudlet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vadi2/Mudlet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vadi2/Mudlet/teams","hooks_url":"https://api.github.com/repos/vadi2/Mudlet/hooks","issue_events_url":"https://api.github.com/repos/vadi2/Mudlet/issues/events{/number}","events_url":"https://api.github.com/repos/vadi2/Mudlet/events","assignees_url":"https://api.github.com/repos/vadi2/Mudlet/assignees{/user}","branches_url":"https://api.github.com/repos/vadi2/Mudlet/branches{/branch}","tags_url":"https://api.github.com/repos/vadi2/Mudlet/tags","blobs_url":"https://api.github.com/repos/vadi2/Mudlet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vadi2/Mudlet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vadi2/Mudlet/git/refs{/sha}","trees_url":"https://api.github.com/repos/vadi2/Mudlet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vadi2/Mudlet/statuses/{sha}","languages_url":"https://api.github.com/repos/vadi2/Mudlet/languages","stargazers_url":"https://api.github.com/repos/vadi2/Mudlet/stargazers","contributors_url":"https://api.github.com/repos/vadi2/Mudlet/contributors","subscribers_url":"https://api.github.com/repos/vadi2/Mudlet/subscribers","subscription_url":"https://api.github.com/repos/vadi2/Mudlet/subscription","commits_url":"https://api.github.com/repos/vadi2/Mudlet/commits{/sha}","git_commits_url":"https://api.github.com/repos/vadi2/Mudlet/git/commits{/sha}","comments_url":"https://api.github.com/repos/vadi2/Mudlet/comments{/number}","issue_comment_url":"https://api.github.com/repos/vadi2/Mudlet/issues/comments{/number}","contents_url":"https://api.github.com/repos/vadi2/Mudlet/contents/{+path}","compare_url":"https://api.github.com/repos/vadi2/Mudlet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vadi2/Mudlet/merges","archive_url":"https://api.github.com/repos/vadi2/Mudlet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vadi2/Mudlet/downloads","issues_url":"https://api.github.com/repos/vadi2/Mudlet/issues{/number}","pulls_url":"https://api.github.com/repos/vadi2/Mudlet/pulls{/number}","milestones_url":"https://api.github.com/repos/vadi2/Mudlet/milestones{/number}","notifications_url":"https://api.github.com/repos/vadi2/Mudlet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vadi2/Mudlet/labels{/name}","releases_url":"https://api.github.com/repos/vadi2/Mudlet/releases{/id}","deployments_url":"https://api.github.com/repos/vadi2/Mudlet/deployments","created_at":"2017-02-17T20:26:03Z","updated_at":"2018-08-04T09:35:22Z","pushed_at":"2018-09-04T09:54:05Z","git_url":"git://github.com/vadi2/Mudlet.git","ssh_url":"git@github.com:vadi2/Mudlet.git","clone_url":"https://github.com/vadi2/Mudlet.git","svn_url":"https://github.com/vadi2/Mudlet","homepage":null,"size":32269,"stargazers_count":1,"watchers_count":1,"language":"HTML","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0","node_id":"MDc6TGljZW5zZTg="},"forks":1,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"Mudlet:development","ref":"development","sha":"36fdf25dd107958cf086d9714e37d6f6dd0b09fe","user":{"login":"Mudlet","id":6158612,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTg2MTI=","avatar_url":"https://avatars3.githubusercontent.com/u/6158612?v=4","gravatar_id":"","url":"https://api.github.com/users/Mudlet","html_url":"https://github.com/Mudlet","followers_url":"https://api.github.com/users/Mudlet/followers","following_url":"https://api.github.com/users/Mudlet/following{/other_user}","gists_url":"https://api.github.com/users/Mudlet/gists{/gist_id}","starred_url":"https://api.github.com/users/Mudlet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mudlet/subscriptions","organizations_url":"https://api.github.com/users/Mudlet/orgs","repos_url":"https://api.github.com/users/Mudlet/repos","events_url":"https://api.github.com/users/Mudlet/events{/privacy}","received_events_url":"https://api.github.com/users/Mudlet/received_events","type":"Organization","site_admin":false},"repo":{"id":15108812,"node_id":"MDEwOlJlcG9zaXRvcnkxNTEwODgxMg==","name":"Mudlet","full_name":"Mudlet/Mudlet","owner":{"login":"Mudlet","id":6158612,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTg2MTI=","avatar_url":"https://avatars3.githubusercontent.com/u/6158612?v=4","gravatar_id":"","url":"https://api.github.com/users/Mudlet","html_url":"https://github.com/Mudlet","followers_url":"https://api.github.com/users/Mudlet/followers","following_url":"https://api.github.com/users/Mudlet/following{/other_user}","gists_url":"https://api.github.com/users/Mudlet/gists{/gist_id}","starred_url":"https://api.github.com/users/Mudlet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mudlet/subscriptions","organizations_url":"https://api.github.com/users/Mudlet/orgs","repos_url":"https://api.github.com/users/Mudlet/repos","events_url":"https://api.github.com/users/Mudlet/events{/privacy}","received_events_url":"https://api.github.com/users/Mudlet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Mudlet/Mudlet","description":"A cross-platform, open source, and super fast MUD client with scripting in Lua","fork":false,"url":"https://api.github.com/repos/Mudlet/Mudlet","forks_url":"https://api.github.com/repos/Mudlet/Mudlet/forks","keys_url":"https://api.github.com/repos/Mudlet/Mudlet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Mudlet/Mudlet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Mudlet/Mudlet/teams","hooks_url":"https://api.github.com/repos/Mudlet/Mudlet/hooks","issue_events_url":"https://api.github.com/repos/Mudlet/Mudlet/issues/events{/number}","events_url":"https://api.github.com/repos/Mudlet/Mudlet/events","assignees_url":"https://api.github.com/repos/Mudlet/Mudlet/assignees{/user}","branches_url":"https://api.github.com/repos/Mudlet/Mudlet/branches{/branch}","tags_url":"https://api.github.com/repos/Mudlet/Mudlet/tags","blobs_url":"https://api.github.com/repos/Mudlet/Mudlet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Mudlet/Mudlet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Mudlet/Mudlet/git/refs{/sha}","trees_url":"https://api.github.com/repos/Mudlet/Mudlet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Mudlet/Mudlet/statuses/{sha}","languages_url":"https://api.github.com/repos/Mudlet/Mudlet/languages","stargazers_url":"https://api.github.com/repos/Mudlet/Mudlet/stargazers","contributors_url":"https://api.github.com/repos/Mudlet/Mudlet/contributors","subscribers_url":"https://api.github.com/repos/Mudlet/Mudlet/subscribers","subscription_url":"https://api.github.com/repos/Mudlet/Mudlet/subscription","commits_url":"https://api.github.com/repos/Mudlet/Mudlet/commits{/sha}","git_commits_url":"https://api.github.com/repos/Mudlet/Mudlet/git/commits{/sha}","comments_url":"https://api.github.com/repos/Mudlet/Mudlet/comments{/number}","issue_comment_url":"https://api.github.com/repos/Mudlet/Mudlet/issues/comments{/number}","contents_url":"https://api.github.com/repos/Mudlet/Mudlet/contents/{+path}","compare_url":"https://api.github.com/repos/Mudlet/Mudlet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Mudlet/Mudlet/merges","archive_url":"https://api.github.com/repos/Mudlet/Mudlet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Mudlet/Mudlet/downloads","issues_url":"https://api.github.com/repos/Mudlet/Mudlet/issues{/number}","pulls_url":"https://api.github.com/repos/Mudlet/Mudlet/pulls{/number}","milestones_url":"https://api.github.com/repos/Mudlet/Mudlet/milestones{/number}","notifications_url":"https://api.github.com/repos/Mudlet/Mudlet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Mudlet/Mudlet/labels{/name}","releases_url":"https://api.github.com/repos/Mudlet/Mudlet/releases{/id}","deployments_url":"https://api.github.com/repos/Mudlet/Mudlet/deployments","created_at":"2013-12-11T14:04:21Z","updated_at":"2018-09-04T09:56:14Z","pushed_at":"2018-09-04T09:56:09Z","git_url":"git://github.com/Mudlet/Mudlet.git","ssh_url":"git@github.com:Mudlet/Mudlet.git","clone_url":"https://github.com/Mudlet/Mudlet.git","svn_url":"https://github.com/Mudlet/Mudlet","homepage":"https://mudlet.org","size":30975,"stargazers_count":187,"watchers_count":187,"language":"C++","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":96,"mirror_url":null,"archived":false,"open_issues_count":500,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0","node_id":"MDc6TGljZW5zZTg="},"forks":96,"open_issues":500,"watchers":187,"default_branch":"development"}},"_links":{"self":{"href":"https://api.github.com/repos/Mudlet/Mudlet/pulls/1954"},"html":{"href":"https://github.com/Mudlet/Mudlet/pull/1954"},"issue":{"href":"https://api.github.com/repos/Mudlet/Mudlet/issues/1954"},"comments":{"href":"https://api.github.com/repos/Mudlet/Mudlet/issues/1954/comments"},"review_comments":{"href":"https://api.github.com/repos/Mudlet/Mudlet/pulls/1954/comments"},"review_comment":{"href":"https://api.github.com/repos/Mudlet/Mudlet/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Mudlet/Mudlet/pulls/1954/commits"},"statuses":{"href":"https://api.github.com/repos/Mudlet/Mudlet/statuses/7c7a50ebf17f2029cb51c7b7d178e5418ba62cee"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"SlySven"}}