Commit Graph

1620 Commits

Author SHA1 Message Date
f04add6d9e Add bracket handling to Markdown link format
Allow users to put both balanced brackets, as well as unbalanced
escaped ones, in Markdown link text. The implementation is the exact
same as in the case of new format links.

For completion's sake, tests also included.
2019-09-04 00:07:00 +02:00
a8f16503e2 Add backslash escaping to new link format
For users to be able to add square brackets inside of links using
the new format, the regular expression used for parsing those links
contained a balancing group, which can be used for matching pairs
of tokens (in this case, opening and closing brackets, in that order).
However, this means that users could not post links with unmatched
brackets inside of them (ie. ones that contain single brackets, or
a closing bracket and then an opening one). Allow for escaping opening
and closing brackets using the backslash character.

The change substitutes this old fragment of the regex in the display
text group:

    [^\[\]]*        // any character other than closing/opening bracket

for this one:

    (((?<=\\)[\[\]])|[^\[\]])*

The second pattern in the alternative remains the same; the first one
performs the escaping, as follows:

    (
        (?<=\\)     // positive lookbehind expression:
                    // this match will succeed, if the next expression
                    // is preceded by a single backslash
        [\[\]]      // either an opening or closing brace
    )

Since the entire display group is matched, unfortunately the lookbehind
expression does not actually strip the backslashes, so they are
manually stripped in handleMatches.

As demonstrated in the unit tests attached, this also allows balanced
brackets to be mixed with escaped ones.
2019-09-03 23:18:39 +02:00
05ed9d3802 Merge remote-tracking branch 'upstream/master' into non-timeoffset-judgements 2019-09-03 13:07:58 +09:00
ec8726e163 Merge remote-tracking branch 'origin/master' into background-beat 2019-09-03 11:35:20 +09:00
3b769128a8 Add a 60bpm beat when no beatmap is playing 2019-09-03 00:57:29 +02:00
09097f7680 Merge branch 'master' into iskincomponent 2019-09-02 22:38:57 +09:00
1e7528c2b3 Merge remote-tracking branch 'upstream/master' into non-timeoffset-judgements 2019-09-02 19:13:00 +09:00
0c73c5acf3 Expose full hitobject rather than hit windows 2019-09-02 17:14:40 +09:00
d21d68b36c Refactor to match web implementation 1:1 2019-09-02 17:04:38 +09:00
f2bdf94a1d Add HitWindows to JudgementResult to indicate timing errors 2019-09-02 16:28:14 +09:00
0985b1679f Move enum to response class 2019-09-02 15:57:55 +09:00
3d551b08a9 Rename legacy actions 2019-09-02 15:57:23 +09:00
13fadec6ec Merge remote-tracking branch 'upstream/master' into kudosu-info 2019-09-02 15:25:41 +09:00
f9fcf1562f Merge remote-tracking branch 'upstream/master' into iskincomponent 2019-09-02 14:21:02 +09:00
043034a6ce Merge remote-tracking branch 'upstream/master' into beatmapset-genre-language 2019-09-02 13:45:25 +09:00
8f5dc06d55 Merge remote-tracking branch 'upstream/master' into accuracy-bar 2019-08-30 20:18:25 +09:00
6fb8a6cdbe Fix testcases not working for OD10 2019-08-30 19:53:38 +09:00
8b4976ad92 Remove unnecessary intermediate OD tests 2019-08-30 19:53:38 +09:00
8fc177b743 Fix namespacing and hitwindow source 2019-08-30 18:46:42 +09:00
741bd0a5cf Fix incorrect colour sizes and simplify alignment specification 2019-08-30 18:35:17 +09:00
54696eef39 Reverse display, add animation and reduce width 2019-08-30 17:06:23 +09:00
5f3e638499 Make test useful 2019-08-30 16:40:24 +09:00
b7a75ef5e1 Merge remote-tracking branch 'refs/remotes/ppy/master' into kudosu-info 2019-08-30 10:09:00 +03:00
bdbfa7bd2f Fix class naming 2019-08-30 15:32:47 +09:00
1d77e3764d Merge branch 'master' into accuracy-bar 2019-08-30 15:21:32 +09:00
a15828ab25 Introduce the concept of SkinComponents
Removes reliance on string lookups and better defines elements for introduction into database
2019-08-30 14:55:52 +09:00
dc1046bf0c Merge remote-tracking branch 'upstream/master' into add-ruleset-legacy-skin 2019-08-30 12:53:05 +09:00
6ab2b20c70 Add an interface for working beatmaps 2019-08-29 19:38:44 +09:00
d303083179 Update to match api 2019-08-29 12:29:31 +03:00
98626018fd Encapsulate editor hitobject additions/removals (#5878)
Encapsulate editor hitobject additions/removals
2019-08-29 18:20:24 +09:00
7927b684d3 Hook up + use editor beatmap 2019-08-29 16:06:40 +09:00
3347ee8170 Merge branch 'master' into beatmapset-genre-language 2019-08-29 09:57:53 +03:00
ecfcbe3723 Merge remote-tracking branch 'upstream/master' into relative-beat-lengths 2019-08-28 20:21:56 +09:00
b1f523dae3 Merge remote-tracking branch 'upstream/master' into kudosu-info 2019-08-28 17:13:57 +09:00
7ea55a5cdd Merge remote-tracking branch 'upstream/master' into add-ruleset-legacy-skin 2019-08-28 16:36:20 +09:00
18431a42e6 Resolve merge conflicts 2019-08-27 20:06:17 +03:00
7f0a4fbef9 Merge remote-tracking branch 'refs/remotes/ppy/master' into kudosu-info 2019-08-27 15:11:55 +03:00
7ccc409df7 Merge remote-tracking branch 'upstream/master' into add-ruleset-legacy-skin 2019-08-27 18:27:26 +09:00
9e926d44c0 Obsolete legacy UpdateState() method 2019-08-27 16:09:47 +09:00
66223b9954 Merge branch 'master' into allow-fallback-to-samples-without-bank 2019-08-27 14:44:16 +09:00
7885c79467 Make bindables private 2019-08-27 14:31:34 +09:00
69145eb83a Merge branch 'master' into select-filters-persistence 2019-08-27 14:12:59 +09:00
fb8b5ee106 Add test 2019-08-26 16:31:46 +09:00
6e3a63dae8 Update tests 2019-08-26 12:31:51 +09:00
524547adbf Merge branch 'master' into implement-grouped-difficulty-icons 2019-08-24 17:34:58 +09:00
830ddd6ed9 Use all rulesets for many difficulties test 2019-08-24 01:31:53 +03:00
8584d3ba23 Add many difficulties beatmap direct panel to the tests 2019-08-24 00:31:36 +03:00
67acf20805 Add test beatmap set with many difficulties 2019-08-23 18:31:53 +03:00
d8535574d1 Pass sample info to Skin.GetSample 2019-08-23 14:32:43 +03:00
6ea10ada34 Fix visual tests. 2019-08-23 13:31:45 +02:00