You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* wip
* sync widths
* clean up
* remove line
* get it to work
* add wrapping strategy
Co-authored-by: Alex Dima <[email protected]>
* fix issue
* always use the width
* Reduce diffs
* Fix JSON schema for the WrappingStrategy option
* Only turn on advanced wrapping strategy when we know that a screen reader is attached
* Make the textarea's width match the wrapping width when wrapping is enabled and a screen reader might be attached
* Force wrappingIndent to be none when we know a screen reader is attached to get that the textarea's wrapping points match the editor's wrapping points
* remove part of notification message
* adjust z-indices, use content left when wrapped
* use view model rendering data as content when wrapping is enabled
* selection is not working correctly
* mostly fix selection problem
* broke normal wrapping handling
* Revert to using the text model instead of the view model and to using the paged screen reader strategy
* Record also the start position for the text in the textarea
* Expose EndOfLinePreference to `getValueLengthInRange` and fix its implementation in cases where the text EOL wouldn't match the requested EOL
* Fix `getValueLengthInRange` implementation to convert its range from the view coordinate system to the model coordinate system
* Record the visible line count for the text in `value` before `selectionStart` in the text area state
* Fix up line count such that the VoiceOver thick black box lines up correctly with the rendered text
* Make tab characters inside the textarea match the editor's tab width
* Turn off wrapping when doing IME and be sure to measure IME text using the same styles as the `<textarea>`
Co-authored-by: Alex Dima <[email protected]>
nls.localize('wrappingStrategy.simple',"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),
2474
+
nls.localize('wrappingStrategy.advanced',"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")
2475
+
],
2476
+
type: 'string',
2477
+
enum: ['simple','advanced'],
2478
+
default: 'simple',
2479
+
description: nls.localize('wrappingStrategy',"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")
nls.localize('wrappingStrategy.simple',"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),
5370
-
nls.localize('wrappingStrategy.advanced',"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")
5371
-
],
5372
-
description: nls.localize('wrappingStrategy',"Controls the algorithm that computes wrapping points.")
5373
-
}
5374
-
)),
5375
5407
5376
5408
// Leave these at the end (because they have dependencies!)
localize('screenReaderDetectedExplanation.question',"Are you using a screen reader to operate VS Code? (word wrap is disabled when using a screen reader)"),
352
+
localize('screenReaderDetectedExplanation.question',"Are you using a screen reader to operate VS Code?"),
0 commit comments