Commit graph

291 commits

Author SHA1 Message Date
MusikAnimal f3f46d8e05 CM6: Add syntax highlighting preference for users without WikiEditor
This adds the `ext.CodeMirror.v6.init` ResourceLoader module which
allows use of CodeMirror on `#wpTextbox1` without the use of WikiEditor
(the 'usebetatoolbar' preference). In order for users to opt-in to using
CodeMirror, we make the existing 'usecodemirror' option into a visible
preference. In addition, with two preferences related to CodeMirror, we
group them under a new heading 'Syntax highlighting'. More preferences
may be added later to this section following T359498.

When WikiEditor is not enabled, the layout of the action=edit page has
the textarea as a sibling to other visible content, like `.editOptions`.
Because of this, we can't simply append the CodeMirror DOM to the parent
like we were before, as that would put the visible editor beneath the
edit summary, Publish button, etc. Instead we rework the CodeMirror to
first add a wrapper around the textarea and use that as the parent. This
way, `.cm-editor` is always in the same place in the DOM as the native
textarea.

Line wrapping and focus/blur events are also moved to CodeMirror, as
these are needed when not using WikiEditor.

Bug: T190108
Change-Id: I4bc069e0d398aa7088e4f50bbd0ddda458b289c3
2024-04-09 22:05:20 -04:00
Translation updater bot 10c9a9ee6f Localisation updates from https://translatewiki.net.
Change-Id: Iacc861a52585392f96dc9aaa56a5b92b06d37df3
2024-04-05 09:37:45 +02:00
Translation updater bot 3c8f71eb13 Localisation updates from https://translatewiki.net.
Change-Id: I057abb784eb7ae660a0e4d8e00312be235e9ab11
2024-03-25 08:35:35 +01:00
Translation updater bot f1e81a55e2 Localisation updates from https://translatewiki.net.
Change-Id: I8caa4be9f54644bfa1c2a03d5701afde1d9fdc42
2024-03-22 08:43:51 +01:00
Translation updater bot d9ec236217 Localisation updates from https://translatewiki.net.
Change-Id: Idc883aa4cbc25c3b82026257e2ee25ac8ec11aa6
2024-03-18 08:30:34 +01:00
Translation updater bot 9b01891916 Localisation updates from https://translatewiki.net.
Change-Id: Ibe1f917f664fb1f6adfda1b689a110771867b55e
2024-03-12 08:24:09 +01:00
Translation updater bot e578597263 Localisation updates from https://translatewiki.net.
Change-Id: I3130f67228f31701a7fa1e193566647e9fe520ad
2024-03-11 08:26:33 +01:00
Translation updater bot 9696056dfe Localisation updates from https://translatewiki.net.
Change-Id: Iab371c59161a0f585d71cffe9232692152699098
2024-03-08 08:22:43 +01:00
jenkins-bot 985f2991e5 Merge "CodeMirror 6 template folding" 2024-03-08 02:38:43 +00:00
Translation updater bot dda2606d3a Localisation updates from https://translatewiki.net.
Change-Id: I17b34d8855bfe7930a6e0c9a8d9e6910c22c020c
2024-03-07 08:48:12 +01:00
bhsd 506d998767 CodeMirror 6 template folding
This patch adds an icon displayed above the cursor inside a template. By clicking it, the template parameters become hidden and replaced by three dots, while the template name remains visible. Clicking the dots will unfold the template. New key bindings include fold (Ctrl-Shift-[/Cmd-Alt-[), unfold (Ctrl-Shift-]/Cmd-Alt-]) and unfoldAll (Ctrl-Alt-]).

Bug: T30684
Change-Id: I631fe0ecf21d0a80306bd40d66d22478a1aefe58
2024-03-07 13:47:47 +08:00
Translation updater bot 6b3c480f02 Localisation updates from https://translatewiki.net.
Change-Id: Ib2ea3432f11878c67facd2d430478e5469632607
2024-03-04 08:23:06 +01:00
Translation updater bot 2f4917dfd7 Localisation updates from https://translatewiki.net.
Change-Id: I15076c6940e5def9f1663e7000ec65a538846f56
2024-03-01 08:32:46 +01:00
Translation updater bot 734f9a386b Localisation updates from https://translatewiki.net.
Change-Id: I64825d7fd6613a52ec05cca28c65cd8c9d8701df
2024-02-26 08:35:40 +01:00
Translation updater bot 2696e69570 Localisation updates from https://translatewiki.net.
Change-Id: I44dbf8cd5420e6eff38c6bcba24451e0c70e597c
2024-02-20 08:38:14 +01:00
Translation updater bot 74d7847358 Localisation updates from https://translatewiki.net.
Change-Id: If4ec7835d8ee076f665c0e112d1e6d257dfb281f
2024-02-19 08:39:50 +01:00
Translation updater bot 39783e901e Localisation updates from https://translatewiki.net.
Change-Id: Iefd780f09b6dac93a0b9bbba5f66ccddc4ebba1d
2024-02-15 13:27:47 +01:00
jenkins-bot de95ad10d9 Merge "CodeMirror: highlight special characters and non-breaking spaces" 2024-02-14 10:59:00 +00:00
jenkins-bot be693cde3c Merge "CodeMirror 6: localize search dialog" 2024-02-14 10:24:17 +00:00
MusikAnimal 75f5c9b2be CodeMirror: highlight special characters and non-breaking spaces
The highlightSpecialChars() should act mostly identical to CM5. An
example is the soft hyphen (U+00AD). These are highlighted as a red dot
because they are non-printable characters.

The i18n may seem like overkill, but CM6 would otherwise actually print
the same message in plain English and without a way to localize it.

Per request at T181677, we also highlight non-breaking space and the
narrow non-breaking space. These are shown as a faint gray dot, to match
CM6's highlightWhiteSpace() extension. That extension isn't used here
because it would also highlight normal spaces, which we don't want.

Bug: T181677
Change-Id: Iac1a8cf78e4cd0a27abc917f4b70bdfbaf86252a
2024-02-13 14:57:06 -05:00
MusikAnimal 5a07eb35db CodeMirror 6: localize search dialog
As of this patch, these should be the only messages used by us that live
in the CodeMirror library. More may be added later as new features
are added. We load all translations as a default CodeMirror extension
given the small cost and importance of localization.

German translations from the CodeMirror docs:
https://codemirror.net/examples/translate/

Also add a note in the README about the search dialog.

Bug: T317243
Change-Id: Iba40bcaf197ed48166ce4cdcc4f48177fc8d07f3
2024-02-13 14:56:23 -05:00
Translation updater bot 62f60d5a1f Localisation updates from https://translatewiki.net.
Change-Id: I28d92a5021097f21ba5b68f08cb525b3aa04fa5e
2024-02-12 14:49:09 +01:00
Translation updater bot 398200b2cd Localisation updates from https://translatewiki.net.
Change-Id: Ic0bbd40b440e91c86f7309527013f4e2c574b925
2024-02-08 09:14:46 +01:00
Translation updater bot 59d83e4c9c Localisation updates from https://translatewiki.net.
Change-Id: I7c3e32d463db80e6b0a81ab00289ce0d339e0f8d
2023-11-13 08:40:33 +01:00
Translation updater bot 4fcc732610 Localisation updates from https://translatewiki.net.
Change-Id: I026dd80f0b248f6a4ca6c5402efe7c22daee30fe
2023-10-27 09:19:41 +02:00
Translation updater bot 8e5e2170c3 Localisation updates from https://translatewiki.net.
Change-Id: I0ddca034e25562f029baf532a3b6f7b3634a4122
2023-09-12 08:26:32 +02:00
Translation updater bot 36b9492ced Localisation updates from https://translatewiki.net.
Change-Id: Ia33b3c9b598b181424e9b7385efa735cb997390c
2023-08-29 08:27:59 +02:00
Translation updater bot 1cff0e3f3e Localisation updates from https://translatewiki.net.
Change-Id: Ied0dc3d61d547e35b56f0d67d9f54d58361d8e1f
2023-07-24 09:36:52 +02:00
Translation updater bot c0efed8f61 Localisation updates from https://translatewiki.net.
Change-Id: I44184dd189129b86a7047bd326c530c4be493c40
2023-07-10 09:37:14 +02:00
Translation updater bot 87ef023efd Localisation updates from https://translatewiki.net.
Change-Id: Ie9a76b8c035681721e6e47b1ddc0e3d6d87583eb
2023-07-06 10:11:29 +02:00
Translation updater bot b6dbb27177 Localisation updates from https://translatewiki.net.
Change-Id: I725e26f0262bda7b89f871f9c28441f359ceda56
2023-05-31 08:19:57 +02:00
Translation updater bot 3e046ad947 Localisation updates from https://translatewiki.net.
Change-Id: I187b33194cb6736382471d69a61e0d7920781e75
2023-05-29 09:58:50 +02:00
Translation updater bot 49ca50fd1f Localisation updates from https://translatewiki.net.
Change-Id: I4a5e81349bccb7c5452fbf67c1f46937cc8bb733
2023-05-05 10:38:16 +02:00
Translation updater bot a1c5aeb6e7 Localisation updates from https://translatewiki.net.
Change-Id: I49d0b8a41f048bfb93f0e5f7a2e9e025b3c53cb0
2023-05-02 08:59:28 +02:00
Translation updater bot 44a94a856d Localisation updates from https://translatewiki.net.
Change-Id: If8dbda21fd42581218bba7c9ab5f1ad29e02a562
2023-04-25 08:47:33 +02:00
Translation updater bot 2d89fb5e3b Localisation updates from https://translatewiki.net.
Change-Id: I0493371e6733a6ed51af0c603977f13d7c493597
2023-04-11 09:13:33 +02:00
Translation updater bot 0012826e46 Localisation updates from https://translatewiki.net.
Change-Id: I24aa53174fc3af89e0b7c29b95f0ea9a337455df
2023-03-27 08:40:43 +02:00
Translation updater bot 7be2b3432c Localisation updates from https://translatewiki.net.
Change-Id: I7f389a3fb0ca9e7766d0079ea8153752f2b2f7b1
2023-02-28 08:28:37 +01:00
Translation updater bot 0305140ea1 Localisation updates from https://translatewiki.net.
Change-Id: I6c56ae17fc94579f656ec817132b7b422798e95a
2023-02-20 09:46:11 +01:00
Translation updater bot 2d3e528e1d Localisation updates from https://translatewiki.net.
Change-Id: Ic4cde98fd59d6148f3a37aa63c95a3e90fa3a26b
2023-02-09 10:11:09 +01:00
Translation updater bot 8b31cc3658 Localisation updates from https://translatewiki.net.
Change-Id: I089d0196a5ec9c0b18a1f2c8f47edc0ba6762eca
2023-01-10 08:24:19 +01:00
Translation updater bot 854318d663 Localisation updates from https://translatewiki.net.
Change-Id: I66428e753257b7fa704e410b5ab53f006f630075
2023-01-04 08:28:42 +01:00
Translation updater bot 551fc2b6dc Localisation updates from https://translatewiki.net.
Change-Id: Iaf7ce9e64accde7206c3fcf76022280235d3dd92
2022-12-26 09:09:22 +01:00
Translation updater bot 10958bc992 Localisation updates from https://translatewiki.net.
Change-Id: I9abc840de19b5eb7b83f448f5e0782f09abd236b
2022-12-21 09:14:29 +01:00
Translation updater bot 48cb883200 Localisation updates from https://translatewiki.net.
Change-Id: I390679acbafd81ab81f0a10c8c7362efeb2435c3
2022-12-19 09:03:38 +01:00
Translation updater bot ec844a0ea4 Localisation updates from https://translatewiki.net.
Change-Id: Ia295b8f4c8c4305fd10c6c48b40c5771a459e585
2022-11-28 08:49:15 +01:00
Translation updater bot e1a6a12d8f Localisation updates from https://translatewiki.net.
Change-Id: I8ce5debeeebd6b13751f4a9d97c8ee5fdd24f525
2022-11-25 08:25:25 +01:00
Translation updater bot e3435b4000 Localisation updates from https://translatewiki.net.
Change-Id: I53269b1c2ef1f47b143a62fa1392f6e4d350e60b
2022-11-22 08:33:21 +01:00
Translation updater bot 8fd4e2e291 Localisation updates from https://translatewiki.net.
Change-Id: I8df8ff05efa4e12a6b19c5d5286e9bb7d45f1c46
2022-11-21 08:15:35 +01:00
Translation updater bot 39f68773c7 Localisation updates from https://translatewiki.net.
Change-Id: I91f78d8905d38017dc744c031f922d4fc14f10bc
2022-11-03 08:24:23 +01:00