, we need to rewrite this for improved testability
, this code can be much clearer, if we let go of the TM_ structure!!
: use linedatalist-textchange for storing undo/redo operations
: We need to support destroy line data operation!"; </dd> <dt> \_setscope edbee::TextRangeSetBase Member \_internalref classedbee_1_1_text_range_set_base#ab34fc224c7f12441012c3fe9897aee1a "edbee::TextRangeSetBase::substractRange" (int min, int max)</dt><dd> \anchor _todo000022 Add support for copyrange </dd> <dt> \_setscope edbee::TextRenderer Class \_internalref classedbee_1_1_text_renderer "edbee::TextRenderer" </dt><dd> \anchor _todo000046 : Currently this class is also used for positioning text. This probably should be moved in a class of its own </dd> <dt> \_setscope edbee::TextRenderer Member \_internalref classedbee_1_1_text_renderer#aca36c1303efa723ea1af64850d3fa180 "edbee::TextRenderer::lineHeight" ()</dt><dd> \anchor _todo000039 : cache the height :-) </dd> <dt> \_setscope edbee::TextRenderer Member \_internalref classedbee_1_1_text_renderer#a8b4c1ea1395cecb5f933a3e48b0ebd51 "edbee::TextRenderer::renderBegin" (const QRect &rect)</dt><dd> \anchor _todo000045 : move this lexing stuff to the controller </dd> <dt> \_setscope edbee::TextRenderer Member \_internalref classedbee_1_1_text_renderer#af2fe5dca24c630689157ad13345fc4bd "edbee::TextRenderer::textLayoutForLine" (int line)</dt><dd> \anchor _todo000040 : Invalide TextLayout cache when required!!! </dd> <dt> \_setscope edbee::TextRenderer Member \_internalref classedbee_1_1_text_renderer#aa52907dd7ebb4b28ca3edf03ba6058dc "edbee::TextRenderer::textLayoutForLineForPlaceholder" (int line)</dt><dd> \anchor _todo000041 : Invalide TextLayout cache when required!!! <p> \anchor _todo000042 : Make an option to show spaces and tabs </dd> <dt> \_setscope edbee::TextRenderer Member \_internalref classedbee_1_1_text_renderer#a643fec136f13927dea22c2097f155c15 "edbee::TextRenderer::textLayoutForLineNormal" (int line)</dt><dd> \anchor _todo000043 : Invalide TextLayout cache when required!!! <p> \anchor _todo000044 : Make an option to show spaces and tabs </dd> <dt> \_setscope edbee::TextScopeSelector Class \_internalref classedbee_1_1_text_scope_selector "edbee::TextScopeSelector" </dt><dd> \anchor _todo000019 : Implement full scope selectors see text below</dd> <dt> \_setscope edbee::TextSelection Member \_internalref classedbee_1_1_text_selection#a8eb43d35c0691d39df24902ab7ba23a9 "edbee::TextSelection::moveCaretsByLine" (TextEditorController *controller, TextRangeSet *rangeSet, int amount)</dt><dd> \anchor _todo000047 need a cleaner API for this)</dd> <dt> \_setscope edbee::TextUndoStack Member \_internalref classedbee_1_1_text_undo_stack#a3ad16d0716634c86c9c6ddcbb3a5998c "edbee::TextUndoStack::giveChange" (Change *change, int coalesceId)</dt><dd> \anchor _todo000023 : giveChange to a group can also merge a change. This can have implications </dd> <dt> \_setscope edbee::TmLanguageParser Member \_internalref classedbee_1_1_tm_language_parser#a82465f31b9c9ad9096b285bc190875be "edbee::TmLanguageParser::createGrammarRule" (TextGrammar *grammar, const QVariant &data)