terminal/src/buffer/out
msftbot[bot] 267deaaf70
Improve Word Navigation/Selection Performance (#4797)
## Summary of the Pull Request
1) Improves the performance of word-recognition operations such as word
   navigation in UIA and selection.

2) Fixes a bug where attempting to find the next word in UIA, when none
   exists, would hang

3) TraceLogging code only runs when somebody is listening

## Detailed Description of the Pull Request / Additional comments
- The concept of a delimiter class got moved to the CharRow.
- The buffer iterator used to save a lot more information than we needed
- I missed updating a tracing function after making GetSelection return
  one text range. That is fixed now.


## Validation Steps Performed
Performed Word Navigation under Narrator and NVDA.
NOTE: The release build should be used when testing to optimize
performance

Closes #4703
2020-03-04 23:10:10 +00:00
..
lib Migrate Search module as a shared component for Terminal Search (#3279) 2019-11-14 14:36:41 -08:00
ut_textbuffer Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
AttrRow.cpp Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
AttrRow.hpp add clang-format conf to the project, format the c++ code (#1141) 2019-06-11 13:27:09 -07:00
AttrRowIterator.cpp Fix Reverse Walking in AttrRowIterator (#3566) 2019-12-10 14:46:08 -08:00
AttrRowIterator.hpp Fix Reverse Walking in AttrRowIterator (#3566) 2019-12-10 14:46:08 -08:00
CharRow.cpp Improve Word Navigation/Selection Performance (#4797) 2020-03-04 23:10:10 +00:00
CharRow.hpp Improve Word Navigation/Selection Performance (#4797) 2020-03-04 23:10:10 +00:00
CharRowCell.cpp Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
CharRowCell.hpp C26447,C26440 - is noexcept but can throw or doesn't throw but not noexcept 2019-08-29 15:23:07 -07:00
CharRowCellReference.cpp Add GH issue IDs to all the suppress/disables that I left behind as they were a bit too challenging to solve with this giant PR 2019-09-05 11:14:43 -07:00
CharRowCellReference.hpp C26447,C26440 - is noexcept but can throw or doesn't throw but not noexcept 2019-08-29 15:23:07 -07:00
cursor.cpp Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
cursor.h Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
DbcsAttribute.hpp C26447,C26440 - is noexcept but can throw or doesn't throw but not noexcept 2019-08-29 15:23:07 -07:00
dirs Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
OutputCell.cpp A few PR comments. A constexpr here, a misleading comment there, and an extraneous local. 2019-09-09 16:01:28 -07:00
OutputCell.hpp C26455, default constructor may not throw. Mark noexcept. (Trivial cases.) 2019-09-03 14:57:14 -07:00
OutputCellIterator.cpp Add GH issue IDs to all the suppress/disables that I left behind as they were a bit too challenging to solve with this giant PR 2019-09-05 11:14:43 -07:00
OutputCellIterator.hpp C26447,C26440 - is noexcept but can throw or doesn't throw but not noexcept 2019-08-29 15:23:07 -07:00
OutputCellRect.cpp Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
OutputCellRect.hpp C26455, default constructor may not throw. Mark noexcept. (Trivial cases.) 2019-09-03 14:57:14 -07:00
OutputCellView.cpp Some of the PR feedback. 2019-09-05 17:21:54 -07:00
OutputCellView.hpp C26447,C26440 - is noexcept but can throw or doesn't throw but not noexcept 2019-08-29 15:23:07 -07:00
precomp.cpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
precomp.h add clang-format conf to the project, format the c++ code (#1141) 2019-06-11 13:27:09 -07:00
Row.cpp make filling chars (and, thus, erase line/char) unset wrap (#2831) 2019-09-30 18:16:31 -07:00
Row.hpp make filling chars (and, thus, erase line/char) unset wrap (#2831) 2019-09-30 18:16:31 -07:00
RowCellIterator.cpp C26447,C26440 - is noexcept but can throw or doesn't throw but not noexcept 2019-08-29 15:23:07 -07:00
RowCellIterator.hpp C26447,C26440 - is noexcept but can throw or doesn't throw but not noexcept 2019-08-29 15:23:07 -07:00
search.cpp Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
search.h Search - add search box control and implement search experience (#3590) 2019-12-17 15:52:37 +00:00
sources.inc Migrate Search module as a shared component for Terminal Search (#3279) 2019-11-14 14:36:41 -08:00
TextAttribute.cpp Correct fill attributes when scrolling and erasing (#3100) 2019-12-10 23:14:40 +00:00
TextAttribute.hpp Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
TextAttributeRun.cpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
TextAttributeRun.hpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
textBuffer.cpp Improve Word Navigation/Selection Performance (#4797) 2020-03-04 23:10:10 +00:00
textBuffer.hpp Improve Word Navigation/Selection Performance (#4797) 2020-03-04 23:10:10 +00:00
textBufferCellIterator.cpp Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
textBufferCellIterator.hpp C26432, rule-of-five (if you define one of destruct/copy/move, then define them all) 2019-09-03 13:45:16 -07:00
textBufferTextIterator.cpp Some of the PR feedback. 2019-09-05 17:21:54 -07:00
textBufferTextIterator.hpp C26447,C26440 - is noexcept but can throw or doesn't throw but not noexcept 2019-08-29 15:23:07 -07:00
TextColor.cpp Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
TextColor.h Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
UnicodeStorage.cpp C26455, default constructor may not throw, mark as nothrow (another trivial one) 2019-09-03 15:04:42 -07:00
UnicodeStorage.hpp C26455, default constructor may not throw. Mark noexcept. (Trivial cases.) 2019-09-03 14:57:14 -07:00