Extension:CodeEditor/pl

Rozszerzenie CodeEditor poszerza zakres możliwości WikiEditora poprzez osadzenie widżetu edytora Ace, dostarczającego pewne funkcje przydatne na stronach JS oraz CSS, a gdy zainstalowane jest także, to również w przestrzeni nazw Moduł:

sprawdzanie poprawności składni dla JavaScriptu
 * podświetlanie składni JavaScriptu, CSS oraz Lua
 * automatyczne dodawanie wcięć
 * klawisz tab tworzy wcięcia przy użyciu tabulacji (od 1.22), wcześniej miękkie wcięcia
 * dodanie/usunięcie wcięcia z sekcji przy użyciu klawiszy tab/shift-tab
 * parowanie nawiasów, nawiasów klamrowych oraz kwadratowych

W chwili obecnej rozszerzenie znajduje się w fazie rozwoju, a szczegóły dotyczące jego aktywacji i funkcjonalności mogą ulec zmianom.

Licencja
Choć rozszerzenie dostępne na zasadach licencji GNU General Public License v2.0 or later (GPL-2.0+), to wykorzystuje ono Ace oprogramowanie edytora Ace, które dostępne jest na licencji BSD 3-clause "New" or "Revised" License (BSD-3-Clause).

Konfiguracja

 * Aby wyłączyć edytor na stronach JavaScript i CSS w przestrzeniach nazw takich jak MediaWiki, użytkownik i inne, ustaw  (domyślna wartość to „true”)
 * Aby wyłączyć edytor na stronach JavaScript i CSS w przestrzeniach nazw takich jak MediaWiki, użytkownik i inne, ustaw  (domyślna wartość to „true”)


 * Aby wyłączyć rozszerzenie dla Scribunto, tj. na stronach w przestrzeni Moduł, ustaw  (domyślna wartość to „true”)
 * Aby wyłączyć rozszerzenie dla Scribunto, tj. na stronach w przestrzeni Moduł, ustaw  (domyślna wartość to „true”)


 * JavaScript

Możliwa jest zmiana konfiguracji edytora ACE poprzez użycie haka MediaWiki (i.e. ). The argument passed to your hook will be an ACE editor session.

Integracja z WikiEditorem
''I've been integrating CodeEditor into the pluggable portions of as prep for Future editor work, since we'll want to be able to extend it to edit things that aren't plain wikitext, which'll need some changes to the toolbar setup and whatnot. JS/CSS here still return plain text in the end, making it an easier intermediate project. --brion 00:26, 14 June 2011 (UTC)''

Good:
 * special char insertions work, including quote pairs to surround text
 * basic formatting insertions work, including link dialogs
 * search/replace dialog works
 * ace's built-in search/replace UI also triggers from keyboard commands, still need to disable them! (onCommandKey)

Bad:
 * multi-line formatting doesn't apply correctly (but really should that apply here? :)

Todo:
 * remove toolbar buttons that don't apply (formatting, syntax help?)
 * add toolbar buttons that are more directly useful
 * indent/outdent
 * insertion helpers for common keywords or code bits
 * help reference to MW JS API reference, JS & CSS specs/documentation

Problemy
Znane problemy:
 * probably explodes with classic toolbar now; use with toolbar. See also 55419
 * accessibility: tab/shift-tab are overridden. is there a consistent alternative for keyboard-reliant users?
 * accessibility: accesskey on the original textarea needs to be moved over or otherwise handled
 * scrollbar initializes too wide; need to trigger resize check after that's filled (maybe fixed?)
 * cursor/scroll position not maintained over previews/show changes
 * upstream ctrl+R, ctrl+L, ctrl+T are taken over by the editor, which is SUPER annoying