7 ms·
Just in case... In Sciter I have three editing behaviors (element controllers) associated with these elements by defualt: * <textarea> - plain text editor wor
by c-smile 14d ago
Just in case...
In Sciter I have three editing behaviors (element controllers) associated with these elements by defualt:
* <textarea> - plain text editor working with single text node.
* <htmlarea> - WYSIWYG editor working with a DOM tree.
* <plaintext> - editor working with a list of <text> elements. Each <text> element is allowed to have only inline and inline-block subelements and text nodes [1].
<plaintext> is optimized to work as a source code editor. Local editing in one <text> element invalidates text layout of that only element but not the whole content as in case of <textarea>.
All editors support ::highlight - to style fragments of text without the need to change underlying DOM.
<plaintext> provides streaming API allowing to access content of the element as pure plain text but with methods to ::highlight ranges in it to minimize problems with encodings and mappings of text positions to corresponding node trees and making syntax highlighting simpler:
See screenshot: https://sciter.com/wp-content/uploads/2026/09/plaintext-colorizer.jpg https://sciter.com/wp-content/uploads/2026/09/plaintext-colo...
<htmlarea> and <plaintext> also support transactional updates allowing to make non-trivial DOM tree mutations undoable as a single operation.
[1] behavior:plaintext - https://docs.sciter.com/docs/behaviors/behavior-plaintext https://docs.sciter.com/docs/behaviors/behavior-plaintext