ci: run spell check in CI, fix remaining issues (#4799)
This commit introduces a github action to check our spelling and fixes the following misspelled words so that we come up green. It also renames TfEditSes to TfEditSession, because Ses is not a word. currently, excerpt, fallthrough, identified, occurred, propagate, provided, rendered, resetting, separate, succeeded, successfully, terminal, transferred, adheres, breaks, combining, preceded, architecture, populated, previous, setter, visible, window, within, appxmanifest, hyphen, control, offset, powerpoint, suppress, parsing, prioritized, aforementioned, check in, build, filling, indices, layout, mapping, trying, scroll, terabyte, vetoes, viewport, whose
This commit is contained in:
parent
48480e6998
commit
5de9fa9cf3
20
.github/actions/spell-check/dictionary/README.md
vendored
Normal file
20
.github/actions/spell-check/dictionary/README.md
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# Dictionaries are lists of words to accept unconditionally
|
||||||
|
|
||||||
|
While check spelling will complain about a whitelisted word
|
||||||
|
which is no longer present, you can include things here even if
|
||||||
|
they are not otherwise present in the repository.
|
||||||
|
|
||||||
|
E.g., you could include a list of system APIs here, or potential
|
||||||
|
contributors (so that if a future commit includes their name,
|
||||||
|
it'll be accepted).
|
||||||
|
|
||||||
|
### Files
|
||||||
|
|
||||||
|
| File | Description |
|
||||||
|
| ---- | ----------- |
|
||||||
|
| [Dictionary](dictionary.txt) | Primary US English dictionary |
|
||||||
|
| [Chinese](chinese.txt) | Chinese words |
|
||||||
|
| [Japanese](japanese.txt) | Japanese words |
|
||||||
|
| [Microsoft](microsoft.txt) | Microsoft brand items |
|
||||||
|
| [Fonts](fonts.txt) | Font names |
|
||||||
|
| [Names](names.txt) | Names of people |
|
5
.github/actions/spell-check/dictionary/chinese.txt
vendored
Normal file
5
.github/actions/spell-check/dictionary/chinese.txt
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
CHINESEBIG
|
||||||
|
choseong
|
||||||
|
Jongseong
|
||||||
|
Jungseong
|
||||||
|
ssangtikeut
|
479826
.github/actions/spell-check/dictionary/dictionary.txt
vendored
Normal file
479826
.github/actions/spell-check/dictionary/dictionary.txt
vendored
Normal file
File diff suppressed because it is too large
Load diff
8
.github/actions/spell-check/dictionary/fonts.txt
vendored
Normal file
8
.github/actions/spell-check/dictionary/fonts.txt
vendored
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Consolas
|
||||||
|
emoji
|
||||||
|
Extralight
|
||||||
|
Gabriola
|
||||||
|
Iosevka
|
||||||
|
MDL
|
||||||
|
Monofur
|
||||||
|
Segoe
|
4
.github/actions/spell-check/dictionary/japanese.txt
vendored
Normal file
4
.github/actions/spell-check/dictionary/japanese.txt
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
arigatoo
|
||||||
|
doomo
|
||||||
|
Kaomojis
|
||||||
|
TATEGAKI
|
6
.github/actions/spell-check/dictionary/microsoft.txt
vendored
Normal file
6
.github/actions/spell-check/dictionary/microsoft.txt
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
mfcribbon
|
||||||
|
microsoft
|
||||||
|
microsoftonline
|
||||||
|
osgvsowi
|
||||||
|
powershell
|
||||||
|
visualstudio
|
52
.github/actions/spell-check/dictionary/names.txt
vendored
Normal file
52
.github/actions/spell-check/dictionary/names.txt
vendored
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
Anup
|
||||||
|
austdi
|
||||||
|
Ballmer
|
||||||
|
bhoj
|
||||||
|
Bhojwani
|
||||||
|
dhowett
|
||||||
|
Diviness
|
||||||
|
duhowett
|
||||||
|
ethanschoonover
|
||||||
|
Firefox
|
||||||
|
Gatta
|
||||||
|
Grie
|
||||||
|
Griese
|
||||||
|
Hernan
|
||||||
|
Howett
|
||||||
|
Illhardt
|
||||||
|
jantari
|
||||||
|
jerrysh
|
||||||
|
Kaiyu
|
||||||
|
KMehrain
|
||||||
|
Kourosh
|
||||||
|
kowalczyk
|
||||||
|
leonmsft
|
||||||
|
Lepilleur
|
||||||
|
Manandhar
|
||||||
|
mbadolato
|
||||||
|
Mehrain
|
||||||
|
mgravell
|
||||||
|
michaelniksa
|
||||||
|
migrie
|
||||||
|
mikegr
|
||||||
|
mikemaccana
|
||||||
|
miniksa
|
||||||
|
niksa
|
||||||
|
oising
|
||||||
|
oldnewthing
|
||||||
|
osgwiki
|
||||||
|
paulcam
|
||||||
|
pauldotknopf
|
||||||
|
Pham
|
||||||
|
Rincewind
|
||||||
|
rprichard
|
||||||
|
Schoonover
|
||||||
|
Somuah
|
||||||
|
sonph
|
||||||
|
sonpham
|
||||||
|
stakx
|
||||||
|
Wirt
|
||||||
|
zadjii
|
||||||
|
Zamor
|
||||||
|
Zoey
|
||||||
|
zorio
|
61
.github/actions/spell-check/excludes.txt
vendored
Normal file
61
.github/actions/spell-check/excludes.txt
vendored
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
(?:^|/)dirs$
|
||||||
|
(?:^|/)go\.mod$
|
||||||
|
(?:^|/)go\.sum$
|
||||||
|
(?:^|/)package-lock\.json$
|
||||||
|
(?:^|/)sources(?:|\.dep)$
|
||||||
|
SUMS$
|
||||||
|
\.ai$
|
||||||
|
\.bmp$
|
||||||
|
\.cer$
|
||||||
|
\.class$
|
||||||
|
\.crl$
|
||||||
|
\.crt$
|
||||||
|
\.csr$
|
||||||
|
\.dll$
|
||||||
|
\.DS_Store$
|
||||||
|
\.eot$
|
||||||
|
\.eps$
|
||||||
|
\.exe$
|
||||||
|
\.gif$
|
||||||
|
\.graffle$
|
||||||
|
\.gz$
|
||||||
|
\.icns$
|
||||||
|
\.ico$
|
||||||
|
\.jar$
|
||||||
|
\.jpeg$
|
||||||
|
\.jpg$
|
||||||
|
\.key$
|
||||||
|
\.lib$
|
||||||
|
\.lock$
|
||||||
|
\.map$
|
||||||
|
\.min\..
|
||||||
|
\.mp3$
|
||||||
|
\.mp4$
|
||||||
|
\.otf$
|
||||||
|
\.pbxproj$
|
||||||
|
\.pdf$
|
||||||
|
\.pem$
|
||||||
|
\.png$
|
||||||
|
\.psd$
|
||||||
|
\.runsettings$
|
||||||
|
\.sig$
|
||||||
|
\.so$
|
||||||
|
\.svg$
|
||||||
|
\.svgz$
|
||||||
|
\.tar$
|
||||||
|
\.tgz$
|
||||||
|
\.ttf$
|
||||||
|
\.woff
|
||||||
|
\.xcf$
|
||||||
|
\.xls
|
||||||
|
\.xpm$
|
||||||
|
\.yml$
|
||||||
|
\.zip$
|
||||||
|
^dep/
|
||||||
|
^doc/reference/UTF8-torture-test\.txt$
|
||||||
|
^src/interactivity/onecore/BgfxEngine\.
|
||||||
|
^src/renderer/wddmcon/WddmConRenderer\.
|
||||||
|
^src/terminal/parser/ft_fuzzer/VTCommandFuzzer\.cpp$
|
||||||
|
^src/tools/U8U16Test/(?:fr|ru|zh)\.txt$
|
||||||
|
^\.github/actions/spell-check/
|
||||||
|
^\.gitignore$
|
2
.github/actions/spell-check/patterns/0_n.txt
vendored
Normal file
2
.github/actions/spell-check/patterns/0_n.txt
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
\\native(?![a-z])
|
||||||
|
\\nihilist(?![a-z])
|
8
.github/actions/spell-check/patterns/0_r.txt
vendored
Normal file
8
.github/actions/spell-check/patterns/0_r.txt
vendored
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
\\registry(?![a-z])
|
||||||
|
\\release(?![a-z])
|
||||||
|
\\resources?(?![a-z])
|
||||||
|
\\result(?![a-z])
|
||||||
|
\\resultmacros(?![a-z])
|
||||||
|
\\rules(?![a-z])
|
||||||
|
\\renderer(?![a-z])
|
||||||
|
\\rectread(?![a-z])
|
13
.github/actions/spell-check/patterns/0_t.txt
vendored
Normal file
13
.github/actions/spell-check/patterns/0_t.txt
vendored
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
\\telemetry(?![a-z])
|
||||||
|
\\templates(?![a-z])
|
||||||
|
\\term(?![a-z])
|
||||||
|
\\terminal(?![a-z])
|
||||||
|
\\terminalcore(?![a-z])
|
||||||
|
\\terminalinput(?![a-z])
|
||||||
|
\\testlist(?![a-z])
|
||||||
|
\\testmd(?![a-z])
|
||||||
|
\\testpasses(?![a-z])
|
||||||
|
\\tests(?![a-z])
|
||||||
|
\\thread(?![a-z])
|
||||||
|
\\tools(?![a-z])
|
||||||
|
\\types(?![a-z])
|
16
.github/actions/spell-check/patterns/README.md
vendored
Normal file
16
.github/actions/spell-check/patterns/README.md
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
The contents of each `.txt` file in this directory are merged together.
|
||||||
|
Each line is a Perl 5 regular expression.
|
||||||
|
Nothing is guaranteed about the order in which they're merged.
|
||||||
|
-- If this is a problem, please reach out.
|
||||||
|
|
||||||
|
Note: order of the contents of these files can matter.
|
||||||
|
Lines from an individual file are handled in file order.
|
||||||
|
Files are selected in alphabetical order.
|
||||||
|
|
||||||
|
* [n](0_n.txt), [r](0_r.txt), and [t](0_t.txt) are specifically to work around
|
||||||
|
a quirk in the spell checker:
|
||||||
|
it often sees C strings of the form "Hello\nwerld". And would prefer to
|
||||||
|
spot the typo of `werld`.
|
||||||
|
* [patterns](patterns.txt) is the main list -- there is nothing
|
||||||
|
particularly special about the file name (beyond the extension which is
|
||||||
|
important).
|
7
.github/actions/spell-check/patterns/patterns.txt
vendored
Normal file
7
.github/actions/spell-check/patterns/patterns.txt
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
https://(?:(?:www\.|)youtube\.com|youtu.be)/[-a-zA-Z0-9?&=]*
|
||||||
|
(?:0[Xx]|U\+|#)[a-f0-9A-FGgRr]{2,}[Uu]?[Ll]?\b
|
||||||
|
\{[0-9A-FA-F]{8}-(?:[0-9A-FA-F]{4}-){3}[0-9A-FA-F]{12}\}
|
||||||
|
\d+x\d+Logo
|
||||||
|
Scro\&ll
|
||||||
|
# selectionInput.cpp
|
||||||
|
:\\windows\\syste\b
|
7
.github/actions/spell-check/whitelist/README.md
vendored
Normal file
7
.github/actions/spell-check/whitelist/README.md
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
The contents of each `.txt` file in this directory are merged together.
|
||||||
|
|
||||||
|
* [alphabet](alphabet.txt) is a sample for alphabet related items
|
||||||
|
* [web](web.txt) is a sample for web/html related items
|
||||||
|
* [whitelist](whitelist.txt) is the main whitelist -- there is nothing
|
||||||
|
particularly special about the file name (beyond the extension which is
|
||||||
|
important).
|
34
.github/actions/spell-check/whitelist/alphabet.txt
vendored
Normal file
34
.github/actions/spell-check/whitelist/alphabet.txt
vendored
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
abcd
|
||||||
|
abcde
|
||||||
|
abcdef
|
||||||
|
ABCDEFG
|
||||||
|
ABCDEFGH
|
||||||
|
ABCDEFGHIJ
|
||||||
|
abcdefghijk
|
||||||
|
abcdefghijklmnop
|
||||||
|
ABCDEFGHIJKLMNOPQRST
|
||||||
|
abcdefghijklmnopqrstuvwxyz
|
||||||
|
QQQQQ
|
||||||
|
QQQQQQQQQ
|
||||||
|
QQQQQQQQQQ
|
||||||
|
QQQQQQQQQQABCDEFGHIJ
|
||||||
|
QQQQQQQQQQABCDEFGHIJKLMNOPQRSTQQQQQQQQQ
|
||||||
|
QQQQQQQQQQABCDEFGHIJKLMNOPQRSTQQQQQQQQQQ
|
||||||
|
QQQQQQQQQQABCDEFGHIJPQRSTQQQQQQQQQQ
|
||||||
|
qrstuvwxyz
|
||||||
|
qwerty
|
||||||
|
QWERTYUIOP
|
||||||
|
qwertyuiopasdfg
|
||||||
|
TTTTTTTTTTTTTTTTTTTTTTTTTT
|
||||||
|
VVVVVVVVVVVVVVVV
|
||||||
|
yyyy
|
||||||
|
ZAAZZ
|
||||||
|
ZABBZ
|
||||||
|
ZBAZZ
|
||||||
|
ZBBBZ
|
||||||
|
ZBBZZ
|
||||||
|
ZYXWVUT
|
||||||
|
ZZBBZ
|
||||||
|
ZZZBB
|
||||||
|
ZZZBZ
|
||||||
|
ZZZZZ
|
3
.github/actions/spell-check/whitelist/web.txt
vendored
Normal file
3
.github/actions/spell-check/whitelist/web.txt
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
http
|
||||||
|
td
|
||||||
|
www
|
2882
.github/actions/spell-check/whitelist/whitelist.txt
vendored
Normal file
2882
.github/actions/spell-check/whitelist/whitelist.txt
vendored
Normal file
File diff suppressed because it is too large
Load diff
24
.github/workflows/spelling.yml
vendored
Normal file
24
.github/workflows/spelling.yml
vendored
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
name: Spell checking
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- "*"
|
||||||
|
tags-ignore:
|
||||||
|
- "*"
|
||||||
|
schedule:
|
||||||
|
# * is a special character in YAML so you have to quote this string
|
||||||
|
- cron: '15 * * * *'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Spell checking
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2.0.0
|
||||||
|
with:
|
||||||
|
fetch-depth: 5
|
||||||
|
- uses: check-spelling/check-spelling@0.0.12-alpha
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
bucket: .github/actions
|
||||||
|
project: spell-check
|
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -144,13 +144,13 @@ publish/
|
||||||
# Publish Web Output
|
# Publish Web Output
|
||||||
*.[Pp]ublish.xml
|
*.[Pp]ublish.xml
|
||||||
*.azurePubxml
|
*.azurePubxml
|
||||||
# TODO: Comment the next line if you want to checkin your web deploy settings
|
# TODO: Comment the next line if you want to check in your web deploy settings
|
||||||
# but database connection strings (with potential passwords) will be unencrypted
|
# but database connection strings (with potential passwords) will be unencrypted
|
||||||
*.pubxml
|
*.pubxml
|
||||||
*.publishproj
|
*.publishproj
|
||||||
|
|
||||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||||
# checkin your Azure Web App publish settings, but sensitive information contained
|
# check in your Azure Web App publish settings, but sensitive information contained
|
||||||
# in these scripts will be unencrypted
|
# in these scripts will be unencrypted
|
||||||
PublishScripts/
|
PublishScripts/
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ Conhost already has a module for search. It implements case sensitive or insensi
|
||||||
|
|
||||||
We will create a `SearchBoxControl` Xaml `UserControl` element. When a search process begins, a `SearchBoxControl` object will be created and attached to `TermControl` root grid. In other words, one SearchBox is added for each `TermControl`. The reasons for this design is:
|
We will create a `SearchBoxControl` Xaml `UserControl` element. When a search process begins, a `SearchBoxControl` object will be created and attached to `TermControl` root grid. In other words, one SearchBox is added for each `TermControl`. The reasons for this design is:
|
||||||
|
|
||||||
1. Each `TermControl` object is a Terminal Window and has a individual text buffer. In phase 1 we are going to search witin the current terminal text buffer.
|
1. Each `TermControl` object is a Terminal Window and has a individual text buffer. In phase 1 we are going to search within the current terminal text buffer.
|
||||||
2. If we put the search box under TerminalApp, then the search can only happen on the current focused Terminal.
|
2. If we put the search box under TerminalApp, then the search can only happen on the current focused Terminal.
|
||||||
3. If the community does not like the current design, we can lift SearchBox to a higher level.
|
3. If the community does not like the current design, we can lift SearchBox to a higher level.
|
||||||
|
|
||||||
|
|
|
@ -92,7 +92,7 @@ would quickly become hard to parse and understand for the user.
|
||||||
|
|
||||||
### Proposal 2 - Commands and Parameters
|
### Proposal 2 - Commands and Parameters
|
||||||
|
|
||||||
Instead, we'll try to seperate these arguments by their responsibilities. Some
|
Instead, we'll try to separate these arguments by their responsibilities. Some
|
||||||
of these arguments cause something to happen, like `help`, `version`, or
|
of these arguments cause something to happen, like `help`, `version`, or
|
||||||
`open-settings`. Other arguments act more like modifiers, like for example
|
`open-settings`. Other arguments act more like modifiers, like for example
|
||||||
`--profile` or `--startingDirectory`, which provide additional information to
|
`--profile` or `--startingDirectory`, which provide additional information to
|
||||||
|
@ -275,7 +275,7 @@ terminal window.
|
||||||
`list-profiles [--all,-A] [--showGuids,-g]`
|
`list-profiles [--all,-A] [--showGuids,-g]`
|
||||||
|
|
||||||
Displays a list of each of the available profiles. Each profile displays it's
|
Displays a list of each of the available profiles. Each profile displays it's
|
||||||
name, seperated by newlines.
|
name, separated by newlines.
|
||||||
|
|
||||||
**Parameters**:
|
**Parameters**:
|
||||||
* `--all,-A`: Show all profiles, including profiles marked `"hidden": true`.
|
* `--all,-A`: Show all profiles, including profiles marked `"hidden": true`.
|
||||||
|
@ -323,7 +323,7 @@ vertically or horizontally.
|
||||||
**Parameters**:
|
**Parameters**:
|
||||||
* `--target,-t target-pane`: Creates a new split in the given `target-pane`.
|
* `--target,-t target-pane`: Creates a new split in the given `target-pane`.
|
||||||
Each pane has a unique index (per-tab) which can be used to identify them.
|
Each pane has a unique index (per-tab) which can be used to identify them.
|
||||||
These indicies are assigned in the order the panes were created. If omitted,
|
These indices are assigned in the order the panes were created. If omitted,
|
||||||
defaults to the index of the currently focused pane.
|
defaults to the index of the currently focused pane.
|
||||||
* `-H`, `-V`: Used to indicate which direction to split the pane. `-V` is
|
* `-H`, `-V`: Used to indicate which direction to split the pane. `-V` is
|
||||||
"vertically" (think `[|]`), and `-H` is "horizontally" (think `[-]`). If
|
"vertically" (think `[|]`), and `-H` is "horizontally" (think `[-]`). If
|
||||||
|
@ -355,7 +355,7 @@ Moves focus within the currently focused tab to a given pane.
|
||||||
|
|
||||||
* `--target,-t target-pane`: moves focus to the given `target-pane`. Each pane
|
* `--target,-t target-pane`: moves focus to the given `target-pane`. Each pane
|
||||||
has a unique index (per-tab) which can be used to identify them. These
|
has a unique index (per-tab) which can be used to identify them. These
|
||||||
indicies are assigned in the order the panes were created. If omitted,
|
indices are assigned in the order the panes were created. If omitted,
|
||||||
defaults to the index of the currently focused pane (which is effectively a
|
defaults to the index of the currently focused pane (which is effectively a
|
||||||
no-op).
|
no-op).
|
||||||
|
|
||||||
|
@ -410,7 +410,7 @@ like `guid` and `name`, as well as high priority properties to add as arguments.
|
||||||
Following an investigation performed the week of Nov 18th, 2019, I've determined
|
Following an investigation performed the week of Nov 18th, 2019, I've determined
|
||||||
that we should be able to use the [CLI11] open-source library to parse
|
that we should be able to use the [CLI11] open-source library to parse
|
||||||
our arguments. We'll need to add some additional logic on top of CLI11 in order
|
our arguments. We'll need to add some additional logic on top of CLI11 in order
|
||||||
to properly seperate commands with `;`, but that's not impossible to achieve.
|
to properly separate commands with `;`, but that's not impossible to achieve.
|
||||||
|
|
||||||
CLI11 will allow us to parse commandlines as a series of options, with a
|
CLI11 will allow us to parse commandlines as a series of options, with a
|
||||||
possible sub-command that takes its own set of parameters. This functionality
|
possible sub-command that takes its own set of parameters. This functionality
|
||||||
|
|
|
@ -208,7 +208,7 @@ scheme in `profiles.json` with the same name as a default color scheme.
|
||||||
|
|
||||||
If you'd like to unbind a keystroke that's bound to an action in the default
|
If you'd like to unbind a keystroke that's bound to an action in the default
|
||||||
keybindings, you can set the `"command"` to `"unbound"` or `null`. This will
|
keybindings, you can set the `"command"` to `"unbound"` or `null`. This will
|
||||||
allow the keystroke to fallthough to the commandline application instead of
|
allow the keystroke to fallthrough to the commandline application instead of
|
||||||
performing the default action.
|
performing the default action.
|
||||||
|
|
||||||
### Dynamic Profiles
|
### Dynamic Profiles
|
||||||
|
|
|
@ -64,7 +64,7 @@ OutputCellIterator::OutputCellIterator(const wchar_t& wch, const TextAttribute&
|
||||||
// Routine Description:
|
// Routine Description:
|
||||||
// - This is a fill-mode iterator for one particular CHAR_INFO. It will repeat forever if fillLimit is 0.
|
// - This is a fill-mode iterator for one particular CHAR_INFO. It will repeat forever if fillLimit is 0.
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// - charInfo - The legacy character and color data to use for fililng (uses Unicode portion of text data)
|
// - charInfo - The legacy character and color data to use for filling (uses Unicode portion of text data)
|
||||||
// - fillLimit - How many times to allow this value to be viewed/filled. Infinite if 0.
|
// - fillLimit - How many times to allow this value to be viewed/filled. Infinite if 0.
|
||||||
OutputCellIterator::OutputCellIterator(const CHAR_INFO& charInfo, const size_t fillLimit) noexcept :
|
OutputCellIterator::OutputCellIterator(const CHAR_INFO& charInfo, const size_t fillLimit) noexcept :
|
||||||
_mode(Mode::Fill),
|
_mode(Mode::Fill),
|
||||||
|
|
|
@ -86,8 +86,8 @@ namespace TerminalAppLocalTests
|
||||||
// Just creating it is enough to know that everything is working.
|
// Just creating it is enough to know that everything is working.
|
||||||
winrt::Microsoft::Terminal::TerminalConnection::EchoConnection conn{};
|
winrt::Microsoft::Terminal::TerminalConnection::EchoConnection conn{};
|
||||||
VERIFY_IS_NOT_NULL(conn);
|
VERIFY_IS_NOT_NULL(conn);
|
||||||
// We're doing this test seperately from the TryCreateSettingsType test,
|
// We're doing this test separately from the TryCreateSettingsType test,
|
||||||
// to ensure both dependent binaries (TemrinalSettings and
|
// to ensure both dependent binaries (TerminalSettings and
|
||||||
// TerminalConnection) both work individually.
|
// TerminalConnection) both work individually.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
using namespace winrt::TerminalApp;
|
using namespace winrt::TerminalApp;
|
||||||
using namespace TerminalApp;
|
using namespace TerminalApp;
|
||||||
|
|
||||||
// Either a ; at the start of a line, or a ; preceeded by any non-\ char.
|
// Either a ; at the start of a line, or a ; preceded by any non-\ char.
|
||||||
const std::wregex AppCommandlineArgs::_commandDelimiterRegex{ LR"(^;|[^\\];)" };
|
const std::wregex AppCommandlineArgs::_commandDelimiterRegex{ LR"(^;|[^\\];)" };
|
||||||
|
|
||||||
AppCommandlineArgs::AppCommandlineArgs()
|
AppCommandlineArgs::AppCommandlineArgs()
|
||||||
|
@ -172,7 +172,7 @@ void AppCommandlineArgs::_buildNewTabParser()
|
||||||
// that `this` will still be safe - this function just lets us know this
|
// that `this` will still be safe - this function just lets us know this
|
||||||
// command was parsed.
|
// command was parsed.
|
||||||
_newTabCommand.subcommand->callback([&, this]() {
|
_newTabCommand.subcommand->callback([&, this]() {
|
||||||
// Buld the NewTab action from the values we've parsed on the commandline.
|
// Build the NewTab action from the values we've parsed on the commandline.
|
||||||
auto newTabAction = winrt::make_self<implementation::ActionAndArgs>();
|
auto newTabAction = winrt::make_self<implementation::ActionAndArgs>();
|
||||||
newTabAction->Action(ShortcutAction::NewTab);
|
newTabAction->Action(ShortcutAction::NewTab);
|
||||||
auto args = winrt::make_self<implementation::NewTabArgs>();
|
auto args = winrt::make_self<implementation::NewTabArgs>();
|
||||||
|
@ -207,7 +207,7 @@ void AppCommandlineArgs::_buildSplitPaneParser()
|
||||||
// that `this` will still be safe - this function just lets us know this
|
// that `this` will still be safe - this function just lets us know this
|
||||||
// command was parsed.
|
// command was parsed.
|
||||||
_newPaneCommand.subcommand->callback([&, this]() {
|
_newPaneCommand.subcommand->callback([&, this]() {
|
||||||
// Buld the SplitPane action from the values we've parsed on the commandline.
|
// Build the SplitPane action from the values we've parsed on the commandline.
|
||||||
auto splitPaneActionAndArgs = winrt::make_self<implementation::ActionAndArgs>();
|
auto splitPaneActionAndArgs = winrt::make_self<implementation::ActionAndArgs>();
|
||||||
splitPaneActionAndArgs->Action(ShortcutAction::SplitPane);
|
splitPaneActionAndArgs->Action(ShortcutAction::SplitPane);
|
||||||
auto args = winrt::make_self<implementation::SplitPaneArgs>();
|
auto args = winrt::make_self<implementation::SplitPaneArgs>();
|
||||||
|
@ -259,7 +259,7 @@ void AppCommandlineArgs::_buildFocusTabParser()
|
||||||
// that `this` will still be safe - this function just lets us know this
|
// that `this` will still be safe - this function just lets us know this
|
||||||
// command was parsed.
|
// command was parsed.
|
||||||
_focusTabCommand->callback([&, this]() {
|
_focusTabCommand->callback([&, this]() {
|
||||||
// Buld the action from the values we've parsed on the commandline.
|
// Build the action from the values we've parsed on the commandline.
|
||||||
auto focusTabAction = winrt::make_self<implementation::ActionAndArgs>();
|
auto focusTabAction = winrt::make_self<implementation::ActionAndArgs>();
|
||||||
|
|
||||||
if (_focusTabIndex >= 0)
|
if (_focusTabIndex >= 0)
|
||||||
|
@ -393,7 +393,7 @@ void AppCommandlineArgs::_resetStateToDefault()
|
||||||
// Function Description:
|
// Function Description:
|
||||||
// - Builds a list of Commandline objects for the given argc,argv. Each
|
// - Builds a list of Commandline objects for the given argc,argv. Each
|
||||||
// Commandline represents a single command to parse. These commands can be
|
// Commandline represents a single command to parse. These commands can be
|
||||||
// seperated by ";", which indicates the start of the next commandline. If the
|
// separated by ";", which indicates the start of the next commandline. If the
|
||||||
// user would like to provide ';' in the text of the commandline, they can
|
// user would like to provide ';' in the text of the commandline, they can
|
||||||
// escape it as "\;".
|
// escape it as "\;".
|
||||||
// Arguments:
|
// Arguments:
|
||||||
|
@ -423,7 +423,7 @@ std::vector<Commandline> AppCommandlineArgs::BuildCommands(winrt::array_view<con
|
||||||
// Function Description:
|
// Function Description:
|
||||||
// - Builds a list of Commandline objects for the given argc,argv. Each
|
// - Builds a list of Commandline objects for the given argc,argv. Each
|
||||||
// Commandline represents a single command to parse. These commands can be
|
// Commandline represents a single command to parse. These commands can be
|
||||||
// seperated by ";", which indicates the start of the next commandline. If the
|
// separated by ";", which indicates the start of the next commandline. If the
|
||||||
// user would like to provide ';' in the text of the commandline, they can
|
// user would like to provide ';' in the text of the commandline, they can
|
||||||
// escape it as "\;".
|
// escape it as "\;".
|
||||||
// Arguments:
|
// Arguments:
|
||||||
|
@ -457,7 +457,7 @@ std::vector<Commandline> AppCommandlineArgs::BuildCommands(const std::vector<con
|
||||||
// Function Description:
|
// Function Description:
|
||||||
// - Update and append Commandline objects for the given arg to the given list
|
// - Update and append Commandline objects for the given arg to the given list
|
||||||
// of commands. Each Commandline represents a single command to parse. These
|
// of commands. Each Commandline represents a single command to parse. These
|
||||||
// commands can be seperated by ";", which indicates the start of the next
|
// commands can be separated by ";", which indicates the start of the next
|
||||||
// commandline. If the user would like to provide ';' in the text of the
|
// commandline. If the user would like to provide ';' in the text of the
|
||||||
// commandline, they can escape it as "\;".
|
// commandline, they can escape it as "\;".
|
||||||
// - As we parse arg, if it doesn't contain a delimiter in it, we'll add it to
|
// - As we parse arg, if it doesn't contain a delimiter in it, we'll add it to
|
||||||
|
|
|
@ -344,7 +344,7 @@ static const std::map<ShortcutAction, ParseActionFunction, std::less<>> argParse
|
||||||
|
|
||||||
// Function Description:
|
// Function Description:
|
||||||
// - Small helper to create a json value serialization of a single
|
// - Small helper to create a json value serialization of a single
|
||||||
// KeyBinding->Action maping.
|
// KeyBinding->Action mapping.
|
||||||
// {
|
// {
|
||||||
// keys:[String],
|
// keys:[String],
|
||||||
// command:String
|
// command:String
|
||||||
|
|
|
@ -410,7 +410,7 @@ namespace winrt::TerminalApp::implementation
|
||||||
if (_settings->GlobalSettings().GetShowTabsInTitlebar())
|
if (_settings->GlobalSettings().GetShowTabsInTitlebar())
|
||||||
{
|
{
|
||||||
// If we're showing the tabs in the titlebar, we need to use a
|
// If we're showing the tabs in the titlebar, we need to use a
|
||||||
// TitlebarContol here to calculate how much space to reserve.
|
// TitlebarControl here to calculate how much space to reserve.
|
||||||
//
|
//
|
||||||
// We'll create a fake TitlebarControl, and we'll propose an
|
// We'll create a fake TitlebarControl, and we'll propose an
|
||||||
// available size to it with Measure(). After Measure() is called,
|
// available size to it with Measure(). After Measure() is called,
|
||||||
|
|
|
@ -177,7 +177,7 @@ std::unique_ptr<CascadiaSettings> CascadiaSettings::LoadAll()
|
||||||
TraceLoggingWrite(
|
TraceLoggingWrite(
|
||||||
g_hTerminalAppProvider, // handle to TerminalApp tracelogging provider
|
g_hTerminalAppProvider, // handle to TerminalApp tracelogging provider
|
||||||
"CustomKeybindings",
|
"CustomKeybindings",
|
||||||
TraceLoggingDescription("Event emitted when custom keybindings are idenfitied on load/reload"),
|
TraceLoggingDescription("Event emitted when custom keybindings are identified on load/reload"),
|
||||||
TraceLoggingUtf8String(keybindingsString.c_str(), "Keybindings", "Keybindings as JSON"),
|
TraceLoggingUtf8String(keybindingsString.c_str(), "Keybindings", "Keybindings as JSON"),
|
||||||
TraceLoggingKeyword(MICROSOFT_KEYWORD_MEASURES),
|
TraceLoggingKeyword(MICROSOFT_KEYWORD_MEASURES),
|
||||||
TelemetryPrivacyDataTag(PDT_ProductAndServiceUsage));
|
TelemetryPrivacyDataTag(PDT_ProductAndServiceUsage));
|
||||||
|
|
|
@ -1281,7 +1281,7 @@ Pane::SnapSizeResult Pane::_CalcSnappedDimension(const bool widthOrHeight, const
|
||||||
// already snapped or minimum size.
|
// already snapped or minimum size.
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// - widthOrHeight: if true operates on width, otherwise on height.
|
// - widthOrHeight: if true operates on width, otherwise on height.
|
||||||
// - sizeNode: a layouting node that corresponds to this pane.
|
// - sizeNode: a layout size node that corresponds to this pane.
|
||||||
// Return Value:
|
// Return Value:
|
||||||
// - <none>
|
// - <none>
|
||||||
void Pane::_AdvanceSnappedDimension(const bool widthOrHeight, LayoutSizeNode& sizeNode) const
|
void Pane::_AdvanceSnappedDimension(const bool widthOrHeight, LayoutSizeNode& sizeNode) const
|
||||||
|
|
|
@ -182,7 +182,7 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
// Helper structure that builds a (roughly) binary tree corresponding
|
// Helper structure that builds a (roughly) binary tree corresponding
|
||||||
// to the pane tree. Used for layouting panes with snapped sizes.
|
// to the pane tree. Used for laying out panes with snapped sizes.
|
||||||
struct LayoutSizeNode
|
struct LayoutSizeNode
|
||||||
{
|
{
|
||||||
float size;
|
float size;
|
||||||
|
|
|
@ -53,7 +53,7 @@ namespace
|
||||||
Dotnet = 1 << 2, // installed as a dotnet global tool
|
Dotnet = 1 << 2, // installed as a dotnet global tool
|
||||||
Traditional = 1 << 3, // installed in traditional Program Files locations
|
Traditional = 1 << 3, // installed in traditional Program Files locations
|
||||||
|
|
||||||
// native architecutre (choose one)
|
// native architecture (choose one)
|
||||||
WOWARM = 1 << 4, // non-native (Windows-on-Windows, ARM variety)
|
WOWARM = 1 << 4, // non-native (Windows-on-Windows, ARM variety)
|
||||||
WOWx86 = 1 << 5, // non-native (Windows-on-Windows, x86 variety)
|
WOWx86 = 1 << 5, // non-native (Windows-on-Windows, x86 variety)
|
||||||
|
|
||||||
|
|
|
@ -1578,7 +1578,7 @@ namespace winrt::TerminalApp::implementation
|
||||||
// Method Description:
|
// Method Description:
|
||||||
// - Attempts to parse an array of commandline args into a list of
|
// - Attempts to parse an array of commandline args into a list of
|
||||||
// commands to execute, and then parses these commands. As commands are
|
// commands to execute, and then parses these commands. As commands are
|
||||||
// succesfully parsed, they will generate ShortcutActions for us to be
|
// successfully parsed, they will generate ShortcutActions for us to be
|
||||||
// able to execute. If we fail to parse any commands, we'll return the
|
// able to execute. If we fail to parse any commands, we'll return the
|
||||||
// error code from the failure to parse that command, and stop processing
|
// error code from the failure to parse that command, and stop processing
|
||||||
// additional commands.
|
// additional commands.
|
||||||
|
@ -1676,7 +1676,7 @@ namespace winrt::TerminalApp::implementation
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// - <none>
|
// - <none>
|
||||||
// Return Value:
|
// Return Value:
|
||||||
// - the help text or error message for the providied commandline, if one
|
// - the help text or error message for the provided commandline, if one
|
||||||
// exists, otherwise the empty string.
|
// exists, otherwise the empty string.
|
||||||
winrt::hstring TerminalPage::EarlyExitMessage()
|
winrt::hstring TerminalPage::EarlyExitMessage()
|
||||||
{
|
{
|
||||||
|
|
|
@ -53,7 +53,7 @@ namespace winrt::Microsoft::Terminal::TerminalConnection::implementation
|
||||||
|
|
||||||
_transitionToState(ConnectionState::Connecting);
|
_transitionToState(ConnectionState::Connecting);
|
||||||
|
|
||||||
// Set initial winodw title.
|
// Set initial window title.
|
||||||
_TerminalOutputHandlers(L"\x1b]0;Telnet\x7");
|
_TerminalOutputHandlers(L"\x1b]0;Telnet\x7");
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
|
|
|
@ -159,7 +159,7 @@
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalControl_ControlType" xml:space="preserve">
|
<data name="TerminalControl_ControlType" xml:space="preserve">
|
||||||
<value>terminal</value>
|
<value>terminal</value>
|
||||||
<comment>The type of control that the terminal ahderes to. Used to identify how a user can interact with this kind of control.</comment>
|
<comment>The type of control that the terminal adheres to. Used to identify how a user can interact with this kind of control.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="SearchBox_Close.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="SearchBox_Close.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Close Search Box</value>
|
<value>Close Search Box</value>
|
||||||
|
|
|
@ -253,7 +253,7 @@ namespace winrt::Microsoft::Terminal::TerminalControl::implementation
|
||||||
// Apply settings for scrollbar
|
// Apply settings for scrollbar
|
||||||
if (_settings.ScrollState() == ScrollbarState::Hidden)
|
if (_settings.ScrollState() == ScrollbarState::Hidden)
|
||||||
{
|
{
|
||||||
// In the scenario where the user has turned off the OS setting to automatically hide scollbars, the
|
// In the scenario where the user has turned off the OS setting to automatically hide scrollbars, the
|
||||||
// Terminal scrollbar would still be visible; so, we need to set the control's visibility accordingly to
|
// Terminal scrollbar would still be visible; so, we need to set the control's visibility accordingly to
|
||||||
// achieve the intended effect.
|
// achieve the intended effect.
|
||||||
ScrollBar().IndicatorMode(Controls::Primitives::ScrollingIndicatorMode::None);
|
ScrollBar().IndicatorMode(Controls::Primitives::ScrollingIndicatorMode::None);
|
||||||
|
@ -2359,7 +2359,7 @@ namespace winrt::Microsoft::Terminal::TerminalControl::implementation
|
||||||
e.DragUIOverride().IsCaptionVisible(true);
|
e.DragUIOverride().IsCaptionVisible(true);
|
||||||
// Sets if the dragged content is visible
|
// Sets if the dragged content is visible
|
||||||
e.DragUIOverride().IsContentVisible(false);
|
e.DragUIOverride().IsContentVisible(false);
|
||||||
// Sets if the glyph is visibile
|
// Sets if the glyph is visible
|
||||||
e.DragUIOverride().IsGlyphVisible(false);
|
e.DragUIOverride().IsGlyphVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -211,7 +211,7 @@ void Terminal::UpdateSettings(winrt::Microsoft::Terminal::Settings::ICoreSetting
|
||||||
// requires a bit of trickiness to remain consistent with conpty's
|
// requires a bit of trickiness to remain consistent with conpty's
|
||||||
// buffer (as seen below).
|
// buffer (as seen below).
|
||||||
// * the new value of visibleViewportTop will be used to calculate the
|
// * the new value of visibleViewportTop will be used to calculate the
|
||||||
// new scrollOffsett in the new buffer, so that the visible lines on
|
// new scrollOffset in the new buffer, so that the visible lines on
|
||||||
// the screen remain roughly the same.
|
// the screen remain roughly the same.
|
||||||
TextBuffer::PositionInformation oldRows{ 0 };
|
TextBuffer::PositionInformation oldRows{ 0 };
|
||||||
oldRows.mutableViewportTop = oldViewportTop;
|
oldRows.mutableViewportTop = oldViewportTop;
|
||||||
|
|
|
@ -240,7 +240,7 @@ private:
|
||||||
// If _scrollOffset is 0, then the visible region of the buffer is the viewport.
|
// If _scrollOffset is 0, then the visible region of the buffer is the viewport.
|
||||||
int _scrollOffset;
|
int _scrollOffset;
|
||||||
// TODO this might not be the value we want to store.
|
// TODO this might not be the value we want to store.
|
||||||
// We might want to store the height in the scrollback that's currenty visible.
|
// We might want to store the height in the scrollback that's currently visible.
|
||||||
// Think on this some more.
|
// Think on this some more.
|
||||||
// For example: While looking at the scrollback, we probably want the visible region to "stick"
|
// For example: While looking at the scrollback, we probably want the visible region to "stick"
|
||||||
// to the region they scrolled to. If that were the case, then every time we move _mutableViewport,
|
// to the region they scrolled to. If that were the case, then every time we move _mutableViewport,
|
||||||
|
|
|
@ -396,7 +396,7 @@ try
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Move the viewport, adjust the scoll bar if needed, and restore the old cursor position
|
// Move the viewport, adjust the scroll bar if needed, and restore the old cursor position
|
||||||
_mutableViewport = Viewport::FromExclusive(newWin);
|
_mutableViewport = Viewport::FromExclusive(newWin);
|
||||||
Terminal::_NotifyScrollEvent();
|
Terminal::_NotifyScrollEvent();
|
||||||
SetCursorPosition(relativeCursor.X, relativeCursor.Y);
|
SetCursorPosition(relativeCursor.X, relativeCursor.Y);
|
||||||
|
|
|
@ -471,7 +471,7 @@ void ConptyRoundtripTests::TestExactWrappingWithoutSpaces()
|
||||||
//
|
//
|
||||||
// If a line _exactly_ wraps to the next line, we can't tell if the line
|
// If a line _exactly_ wraps to the next line, we can't tell if the line
|
||||||
// should really wrap, or manually break. The client app is writing a line
|
// should really wrap, or manually break. The client app is writing a line
|
||||||
// that's exactly the width of the buffer that manually linebreaked at the
|
// that's exactly the width of the buffer that manually breaks at the
|
||||||
// end of the line, followed by another line.
|
// end of the line, followed by another line.
|
||||||
//
|
//
|
||||||
// With the old PaintBufferLine interface, there's no way to know if this
|
// With the old PaintBufferLine interface, there's no way to know if this
|
||||||
|
@ -945,7 +945,7 @@ void ConptyRoundtripTests::PassthroughClearScrollback()
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// After we hit the bottom of the viewport, the newlines come in
|
// After we hit the bottom of the viewport, the newlines come in
|
||||||
// seperated for whatever reason.
|
// separated for whatever reason.
|
||||||
expectedOutput.push_back("\r");
|
expectedOutput.push_back("\r");
|
||||||
expectedOutput.push_back("\n");
|
expectedOutput.push_back("\n");
|
||||||
expectedOutput.push_back("");
|
expectedOutput.push_back("");
|
||||||
|
|
|
@ -403,7 +403,7 @@ int NonClientIslandWindow::_GetResizeHandleHeight() const noexcept
|
||||||
// However, testing a bunch of other apps with fullscreen modes
|
// However, testing a bunch of other apps with fullscreen modes
|
||||||
// and an auto-hiding taskbar has shown that _none_ of them
|
// and an auto-hiding taskbar has shown that _none_ of them
|
||||||
// reveal the taskbar from fullscreen mode. This includes Edge,
|
// reveal the taskbar from fullscreen mode. This includes Edge,
|
||||||
// Firefox, Chrome, Sublime Text, Powerpoint - none seemed to
|
// Firefox, Chrome, Sublime Text, PowerPoint - none seemed to
|
||||||
// support this.
|
// support this.
|
||||||
//
|
//
|
||||||
// This does however work fine for maximized.
|
// This does however work fine for maximized.
|
||||||
|
|
|
@ -109,7 +109,7 @@ private: \
|
||||||
|
|
||||||
// Use this macro to quickly implement both the getter and setter for an observable property.
|
// Use this macro to quickly implement both the getter and setter for an observable property.
|
||||||
// This is similar to the GETSET_PROPERTY macro above, except this will also raise a
|
// This is similar to the GETSET_PROPERTY macro above, except this will also raise a
|
||||||
// PropertyChanged event with the name of the property that has changed inside of the settter.
|
// PropertyChanged event with the name of the property that has changed inside of the setter.
|
||||||
#define OBSERVABLE_GETSET_PROPERTY(type, name, event) \
|
#define OBSERVABLE_GETSET_PROPERTY(type, name, event) \
|
||||||
public: \
|
public: \
|
||||||
type name() { return _##name; }; \
|
type name() { return _##name; }; \
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
1. All of our winrt types are included in this manifest, including types from
|
1. All of our winrt types are included in this manifest, including types from
|
||||||
MUX.dll. Should this list of types ever change, we'll need to manually
|
MUX.dll. Should this list of types ever change, we'll need to manually
|
||||||
update this file. The easiest way of doing that is deploying the app from
|
update this file. The easiest way of doing that is deploying the app from
|
||||||
VS, then copying the Extensions from the Appxmandifest.xml that's generated
|
VS, then copying the Extensions from the appxmanifest.xml that's generated
|
||||||
under `src/cascadia/CascadiaPackage/bin/$(platform)/$(configuration)/appx`.
|
under `src/cascadia/CascadiaPackage/bin/$(platform)/$(configuration)/appx`.
|
||||||
|
|
||||||
2. We also _NEED_ the two vclibs listed under the `PackageDependency` block.
|
2. We also _NEED_ the two vclibs listed under the `PackageDependency` block.
|
||||||
|
|
|
@ -316,7 +316,7 @@ void ProcessCtrlEvents()
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Status will be non-successful if a process attached to this console
|
* Status will be non-successful if a process attached to this console
|
||||||
* vetos shutdown. In that case, we don't want to try to kill any more
|
* vetoes shutdown. In that case, we don't want to try to kill any more
|
||||||
* processes, but we do need to make sure we continue looping so we
|
* processes, but we do need to make sure we continue looping so we
|
||||||
* can close any remaining process handles. The exception is if the
|
* can close any remaining process handles. The exception is if the
|
||||||
* process is inaccessible, such that we can't even open a handle for
|
* process is inaccessible, such that we can't even open a handle for
|
||||||
|
|
|
@ -467,7 +467,7 @@ size_t InputBuffer::Prepend(_Inout_ std::deque<std::unique_ptr<IInputEvent>>& in
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
_vtInputShouldSuppress = true;
|
_vtInputShouldSuppress = true;
|
||||||
auto resetVtInputSupress = wil::scope_exit([&]() { _vtInputShouldSuppress = false; });
|
auto resetVtInputSuppress = wil::scope_exit([&]() { _vtInputShouldSuppress = false; });
|
||||||
_HandleConsoleSuspensionEvents(inEvents);
|
_HandleConsoleSuspensionEvents(inEvents);
|
||||||
if (inEvents.empty())
|
if (inEvents.empty())
|
||||||
{
|
{
|
||||||
|
|
|
@ -307,7 +307,7 @@ const bool RenderData::IsGridLineDrawingAllowed() noexcept
|
||||||
{
|
{
|
||||||
// Otherwise, for compatibility reasons with legacy applications that used the additional CHAR_INFO bits by accident or for their own purposes,
|
// Otherwise, for compatibility reasons with legacy applications that used the additional CHAR_INFO bits by accident or for their own purposes,
|
||||||
// we must enable grid line drawing only in a DBCS output codepage. (Line drawing historically only worked in DBCS codepages.)
|
// we must enable grid line drawing only in a DBCS output codepage. (Line drawing historically only worked in DBCS codepages.)
|
||||||
// The only known instance of this is Image for Windows by TeraByte, Inc. (TeryByte Unlimited) which used the bits accidentally and for no purpose
|
// The only known instance of this is Image for Windows by TeraByte, Inc. (TeraByte Unlimited) which used the bits accidentally and for no purpose
|
||||||
// (according to the app developer) in conjunction with the Borland Turbo C cgscrn library.
|
// (according to the app developer) in conjunction with the Borland Turbo C cgscrn library.
|
||||||
return !!IsAvailableEastAsianCodePage(gci.OutputCP);
|
return !!IsAvailableEastAsianCodePage(gci.OutputCP);
|
||||||
}
|
}
|
||||||
|
@ -411,7 +411,7 @@ const COORD RenderData::GetSelectionEnd() const noexcept
|
||||||
// - SelectionAnchor: the initial position where the selection was started
|
// - SelectionAnchor: the initial position where the selection was started
|
||||||
// - SelectionRect: the rectangular region denoting a portion of the buffer that is selected
|
// - SelectionRect: the rectangular region denoting a portion of the buffer that is selected
|
||||||
|
|
||||||
// The following is an exerpt from Selection::s_GetSelectionRects
|
// The following is an excerpt from Selection::s_GetSelectionRects
|
||||||
// if the anchor (start of select) was in the top right or bottom left of the box,
|
// if the anchor (start of select) was in the top right or bottom left of the box,
|
||||||
// we need to remove rectangular overlap in the middle.
|
// we need to remove rectangular overlap in the middle.
|
||||||
// e.g.
|
// e.g.
|
||||||
|
|
|
@ -166,7 +166,7 @@ Viewport SCREEN_INFORMATION::GetBufferSize() const
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// - <none>
|
// - <none>
|
||||||
// Return Value:
|
// Return Value:
|
||||||
// - a viewport whos height is the height of the "terminal" portion of the
|
// - a viewport whose height is the height of the "terminal" portion of the
|
||||||
// buffer in terminal scrolling mode, and is the height of the full buffer
|
// buffer in terminal scrolling mode, and is the height of the full buffer
|
||||||
// in normal scrolling mode.
|
// in normal scrolling mode.
|
||||||
Viewport SCREEN_INFORMATION::GetTerminalBufferSize() const
|
Viewport SCREEN_INFORMATION::GetTerminalBufferSize() const
|
||||||
|
@ -765,7 +765,7 @@ void SCREEN_INFORMATION::SetViewportSize(const COORD* const pcoordSize)
|
||||||
|
|
||||||
const CONSOLE_INFORMATION& gci = ServiceLocator::LocateGlobals().getConsoleInformation();
|
const CONSOLE_INFORMATION& gci = ServiceLocator::LocateGlobals().getConsoleInformation();
|
||||||
|
|
||||||
// If we're in terminal scrolling mode, and we're rying to set the viewport
|
// If we're in terminal scrolling mode, and we're trying to set the viewport
|
||||||
// below the logical viewport, without updating our virtual bottom
|
// below the logical viewport, without updating our virtual bottom
|
||||||
// (the logical viewport's position), dont.
|
// (the logical viewport's position), dont.
|
||||||
// Instead move us to the bottom of the logical viewport.
|
// Instead move us to the bottom of the logical viewport.
|
||||||
|
|
|
@ -243,7 +243,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned"
|
||||||
_Utf8BitMasks::IsLeadByteThreeByteSequence,
|
_Utf8BitMasks::IsLeadByteThreeByteSequence,
|
||||||
};
|
};
|
||||||
|
|
||||||
std::basic_string<charT> _buffer; // buffer to which the poulated string_view refers
|
std::basic_string<charT> _buffer; // buffer to which the populated string_view refers
|
||||||
std::array<charT, 4> _utfPartials; // buffer for code units of a partial code point that have to be cached
|
std::array<charT, 4> _utfPartials; // buffer for code units of a partial code point that have to be cached
|
||||||
size_t _partialsLen{}; // number of cached code units
|
size_t _partialsLen{}; // number of cached code units
|
||||||
};
|
};
|
||||||
|
@ -258,7 +258,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned"
|
||||||
// - in - UTF-8 string to be converted
|
// - in - UTF-8 string to be converted
|
||||||
// - out - reference to the resulting UTF-16 string
|
// - out - reference to the resulting UTF-16 string
|
||||||
// Return Value:
|
// Return Value:
|
||||||
// - S_OK - the conversion succeded
|
// - S_OK - the conversion succeeded
|
||||||
// - E_OUTOFMEMORY - the function failed to allocate memory for the resulting string
|
// - E_OUTOFMEMORY - the function failed to allocate memory for the resulting string
|
||||||
// - E_ABORT - the resulting string length would exceed the upper boundary of an int and thus, the conversion was aborted before the conversion has been completed
|
// - E_ABORT - the resulting string length would exceed the upper boundary of an int and thus, the conversion was aborted before the conversion has been completed
|
||||||
// - E_UNEXPECTED - an unexpected error occurred
|
// - E_UNEXPECTED - an unexpected error occurred
|
||||||
|
@ -305,7 +305,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned"
|
||||||
// - out - reference to the resulting UTF-16 string
|
// - out - reference to the resulting UTF-16 string
|
||||||
// - state - reference to a til::u8state class holding the status of the current partials handling
|
// - state - reference to a til::u8state class holding the status of the current partials handling
|
||||||
// Return Value:
|
// Return Value:
|
||||||
// - S_OK - the conversion succeded
|
// - S_OK - the conversion succeeded
|
||||||
// - E_OUTOFMEMORY - the function failed to allocate memory for the resulting string
|
// - E_OUTOFMEMORY - the function failed to allocate memory for the resulting string
|
||||||
// - E_ABORT - the resulting string length would exceed the upper boundary of an int and thus, the conversion was aborted before the conversion has been completed
|
// - E_ABORT - the resulting string length would exceed the upper boundary of an int and thus, the conversion was aborted before the conversion has been completed
|
||||||
// - E_UNEXPECTED - an unexpected error occurred
|
// - E_UNEXPECTED - an unexpected error occurred
|
||||||
|
@ -324,7 +324,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned"
|
||||||
// - in - UTF-16 string to be converted
|
// - in - UTF-16 string to be converted
|
||||||
// - out - reference to the resulting UTF-8 string
|
// - out - reference to the resulting UTF-8 string
|
||||||
// Return Value:
|
// Return Value:
|
||||||
// - S_OK - the conversion succeded
|
// - S_OK - the conversion succeeded
|
||||||
// - E_OUTOFMEMORY - the function failed to allocate memory for the resulting string
|
// - E_OUTOFMEMORY - the function failed to allocate memory for the resulting string
|
||||||
// - E_ABORT - the resulting string length would exceed the upper boundary of an int and thus, the conversion was aborted before the conversion has been completed
|
// - E_ABORT - the resulting string length would exceed the upper boundary of an int and thus, the conversion was aborted before the conversion has been completed
|
||||||
// - E_UNEXPECTED - an unexpected error occurred
|
// - E_UNEXPECTED - an unexpected error occurred
|
||||||
|
@ -374,7 +374,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned"
|
||||||
// - out - reference to the resulting UTF-8 string
|
// - out - reference to the resulting UTF-8 string
|
||||||
// - state - reference to a til::u16state class holding the status of the current partials handling
|
// - state - reference to a til::u16state class holding the status of the current partials handling
|
||||||
// Return Value:
|
// Return Value:
|
||||||
// - S_OK - the conversion succeded without any change of the represented code points
|
// - S_OK - the conversion succeeded without any change of the represented code points
|
||||||
// - E_OUTOFMEMORY - the function failed to allocate memory for the resulting string
|
// - E_OUTOFMEMORY - the function failed to allocate memory for the resulting string
|
||||||
// - E_ABORT - the resulting string length would exceed the upper boundary of an int and thus, the conversion was aborted before the conversion has been completed
|
// - E_ABORT - the resulting string length would exceed the upper boundary of an int and thus, the conversion was aborted before the conversion has been completed
|
||||||
// - E_UNEXPECTED - an unexpected error occurred
|
// - E_UNEXPECTED - an unexpected error occurred
|
||||||
|
|
|
@ -360,7 +360,7 @@ bool Clipboard::FilterCharacterOnPaste(_Inout_ WCHAR* const pwch)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Replace Unicode dashes with a standard hypen
|
// Replace Unicode dashes with a standard hyphen
|
||||||
case UNICODE_EM_DASH:
|
case UNICODE_EM_DASH:
|
||||||
case UNICODE_EN_DASH:
|
case UNICODE_EN_DASH:
|
||||||
{
|
{
|
||||||
|
|
|
@ -106,7 +106,7 @@ void SaveConsoleSettingsIfNeeded(const HWND hwnd)
|
||||||
WCHAR awchBuffer[MAX_PATH] = { 0 };
|
WCHAR awchBuffer[MAX_PATH] = { 0 };
|
||||||
STARTUPINFOW si;
|
STARTUPINFOW si;
|
||||||
|
|
||||||
// An error occured try to save the link file, display a message box to that effect...
|
// An error occurred try to save the link file, display a message box to that effect...
|
||||||
GetStartupInfoW(&si);
|
GetStartupInfoW(&si);
|
||||||
LoadStringW(ghInstance, IDS_LINKERROR, awchBuffer, ARRAYSIZE(awchBuffer));
|
LoadStringW(ghInstance, IDS_LINKERROR, awchBuffer, ARRAYSIZE(awchBuffer));
|
||||||
StringCchPrintf(szMessage,
|
StringCchPrintf(szMessage,
|
||||||
|
|
|
@ -536,7 +536,7 @@ try
|
||||||
// This means that we've represented one text with one glyph.
|
// This means that we've represented one text with one glyph.
|
||||||
|
|
||||||
// 2.
|
// 2.
|
||||||
// U+0041 is A and U+0301 is a combinine acute accent ´.
|
// U+0041 is A and U+0301 is a combining acute accent ´.
|
||||||
// That is a text length of two.
|
// That is a text length of two.
|
||||||
// A given font might have two glyphs for this
|
// A given font might have two glyphs for this
|
||||||
// which will be mapped into the _glyphIndices array.
|
// which will be mapped into the _glyphIndices array.
|
||||||
|
|
|
@ -27,7 +27,7 @@ std::vector<til::rectangle> GdiEngine::GetDirtyArea()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Routine Description:
|
// Routine Description:
|
||||||
// - Uses the currently selected font to determine how wide the given character will be when renderered.
|
// - Uses the currently selected font to determine how wide the given character will be when rendered.
|
||||||
// - NOTE: Only supports determining half-width/full-width status for CJK-type languages (e.g. is it 1 character wide or 2. a.k.a. is it a rectangle or square.)
|
// - NOTE: Only supports determining half-width/full-width status for CJK-type languages (e.g. is it 1 character wide or 2. a.k.a. is it a rectangle or square.)
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// - glyph - utf16 encoded codepoint to check
|
// - glyph - utf16 encoded codepoint to check
|
||||||
|
|
|
@ -23,7 +23,7 @@ std::vector<til::rectangle> VtEngine::GetDirtyArea()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Routine Description:
|
// Routine Description:
|
||||||
// - Uses the currently selected font to determine how wide the given character will be when renderered.
|
// - Uses the currently selected font to determine how wide the given character will be when rendered.
|
||||||
// - NOTE: Only supports determining half-width/full-width status for CJK-type languages (e.g. is it 1 character wide or 2. a.k.a. is it a rectangle or square.)
|
// - NOTE: Only supports determining half-width/full-width status for CJK-type languages (e.g. is it 1 character wide or 2. a.k.a. is it a rectangle or square.)
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// - glyph - utf16 encoded codepoint to check
|
// - glyph - utf16 encoded codepoint to check
|
||||||
|
|
|
@ -95,7 +95,7 @@ PCONSOLE_API_MSG IoDispatchers::ConsoleCreateObject(_In_ PCONSOLE_API_MSG pMessa
|
||||||
|
|
||||||
if (SUCCEEDED(ServiceLocator::LocateGlobals().pDeviceComm->CompleteIo(&pMessage->Complete)))
|
if (SUCCEEDED(ServiceLocator::LocateGlobals().pDeviceComm->CompleteIo(&pMessage->Complete)))
|
||||||
{
|
{
|
||||||
// We've successfully transfered ownership of the handle to the driver. We can release and not free it.
|
// We've successfully transferred ownership of the handle to the driver. We can release and not free it.
|
||||||
handle.release();
|
handle.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -294,7 +294,7 @@ ConsoleProcessHandle* ConsoleProcessList::GetFirstProcess() const
|
||||||
// Routine Description:
|
// Routine Description:
|
||||||
// - Requests that the OS change the process priority for the console and all attached client processes
|
// - Requests that the OS change the process priority for the console and all attached client processes
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// - fForeground - True if console is in foreground and related processes should be prioritised. False if they can be backgrounded/deprioritized.
|
// - fForeground - True if console is in foreground and related processes should be prioritized. False if they can be backgrounded/deprioritized.
|
||||||
// Return Value:
|
// Return Value:
|
||||||
// - <none>
|
// - <none>
|
||||||
// - NOTE: Will attempt to request a change, but it's non fatal if it doesn't work. Failures will be logged to debug channel.
|
// - NOTE: Will attempt to request a change, but it's non fatal if it doesn't work. Failures will be logged to debug channel.
|
||||||
|
|
|
@ -580,7 +580,7 @@ bool AdaptDispatch::EraseInDisplay(const DispatchTypes::EraseType eraseType)
|
||||||
{
|
{
|
||||||
const bool eraseScrollbackResult = _EraseScrollback();
|
const bool eraseScrollbackResult = _EraseScrollback();
|
||||||
// GH#2715 - If this succeeded, but we're in a conpty, return `false` to
|
// GH#2715 - If this succeeded, but we're in a conpty, return `false` to
|
||||||
// make the state machine propogate this ED sequence to the connected
|
// make the state machine propagate this ED sequence to the connected
|
||||||
// terminal application. While we're in conpty mode, we don't really
|
// terminal application. While we're in conpty mode, we don't really
|
||||||
// have a scrollback, but the attached terminal might.
|
// have a scrollback, but the attached terminal might.
|
||||||
const bool isPty = _pConApi->IsConsolePty();
|
const bool isPty = _pConApi->IsConsolePty();
|
||||||
|
@ -1562,7 +1562,7 @@ bool AdaptDispatch::HardReset()
|
||||||
_pConApi->PrivateSetDefaultTabStops();
|
_pConApi->PrivateSetDefaultTabStops();
|
||||||
|
|
||||||
// GH#2715 - If all this succeeded, but we're in a conpty, return `false` to
|
// GH#2715 - If all this succeeded, but we're in a conpty, return `false` to
|
||||||
// make the state machine propogate this RIS sequence to the connected
|
// make the state machine propagate this RIS sequence to the connected
|
||||||
// terminal application. We've reset our state, but the connected terminal
|
// terminal application. We've reset our state, but the connected terminal
|
||||||
// might need to do more.
|
// might need to do more.
|
||||||
if (_pConApi->IsConsolePty())
|
if (_pConApi->IsConsolePty())
|
||||||
|
|
|
@ -1707,7 +1707,7 @@ public:
|
||||||
size_t cOptions = 1;
|
size_t cOptions = 1;
|
||||||
|
|
||||||
Log::Comment(L"Test 1: Basic brightness test");
|
Log::Comment(L"Test 1: Basic brightness test");
|
||||||
Log::Comment(L"Reseting graphics options");
|
Log::Comment(L"Resetting graphics options");
|
||||||
rgOptions[0] = DispatchTypes::GraphicsOptions::Off;
|
rgOptions[0] = DispatchTypes::GraphicsOptions::Off;
|
||||||
_testGetSet->_privateSetDefaultAttributesResult = true;
|
_testGetSet->_privateSetDefaultAttributesResult = true;
|
||||||
_testGetSet->_expectedAttribute = 0;
|
_testGetSet->_expectedAttribute = 0;
|
||||||
|
@ -1742,7 +1742,7 @@ public:
|
||||||
VERIFY_IS_TRUE(_testGetSet->_isBold);
|
VERIFY_IS_TRUE(_testGetSet->_isBold);
|
||||||
|
|
||||||
Log::Comment(L"Test 2: Disable brightness, use a bright color, next normal call remains not bright");
|
Log::Comment(L"Test 2: Disable brightness, use a bright color, next normal call remains not bright");
|
||||||
Log::Comment(L"Reseting graphics options");
|
Log::Comment(L"Resetting graphics options");
|
||||||
rgOptions[0] = DispatchTypes::GraphicsOptions::Off;
|
rgOptions[0] = DispatchTypes::GraphicsOptions::Off;
|
||||||
_testGetSet->_privateSetDefaultAttributesResult = true;
|
_testGetSet->_privateSetDefaultAttributesResult = true;
|
||||||
_testGetSet->_expectedAttribute = 0;
|
_testGetSet->_expectedAttribute = 0;
|
||||||
|
@ -1770,7 +1770,7 @@ public:
|
||||||
VERIFY_IS_FALSE(_testGetSet->_isBold);
|
VERIFY_IS_FALSE(_testGetSet->_isBold);
|
||||||
|
|
||||||
Log::Comment(L"Test 3: Enable brightness, use a bright color, brightness persists to next normal call");
|
Log::Comment(L"Test 3: Enable brightness, use a bright color, brightness persists to next normal call");
|
||||||
Log::Comment(L"Reseting graphics options");
|
Log::Comment(L"Resetting graphics options");
|
||||||
rgOptions[0] = DispatchTypes::GraphicsOptions::Off;
|
rgOptions[0] = DispatchTypes::GraphicsOptions::Off;
|
||||||
_testGetSet->_privateSetDefaultAttributesResult = true;
|
_testGetSet->_privateSetDefaultAttributesResult = true;
|
||||||
_testGetSet->_expectedAttribute = 0;
|
_testGetSet->_expectedAttribute = 0;
|
||||||
|
|
|
@ -357,7 +357,7 @@ static bool _searchWithModifier(const KeyEvent& keyEvent, InputSender sender)
|
||||||
// modifiers, or '/' with some modifiers.
|
// modifiers, or '/' with some modifiers.
|
||||||
//
|
//
|
||||||
// These translations are not in s_simpleModifiedKeyMapping, because
|
// These translations are not in s_simpleModifiedKeyMapping, because
|
||||||
// the aformentioned fact that they aren't the same VKEY on all
|
// the aforementioned fact that they aren't the same VKEY on all
|
||||||
// keyboards.
|
// keyboards.
|
||||||
//
|
//
|
||||||
// See GH#3079 for details.
|
// See GH#3079 for details.
|
||||||
|
|
|
@ -1214,7 +1214,7 @@ bool InputStateMachineEngine::_GetXYPosition(const std::basic_string_view<size_t
|
||||||
// Routine Description:
|
// Routine Description:
|
||||||
// - Retrieves an X/Y coordinate pair for an SGR Mouse sequence from the parameter pool stored during Param actions.
|
// - Retrieves an X/Y coordinate pair for an SGR Mouse sequence from the parameter pool stored during Param actions.
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// - parameters - set of numeric parameters collected while pasring the sequence.
|
// - parameters - set of numeric parameters collected while parsing the sequence.
|
||||||
// - line - Receives the Y/Line/Row position
|
// - line - Receives the Y/Line/Row position
|
||||||
// - column - Receives the X/Column position
|
// - column - Receives the X/Column position
|
||||||
// Return Value:
|
// Return Value:
|
||||||
|
|
|
@ -26,7 +26,7 @@ u8state::u8state() noexcept :
|
||||||
_buffer8.clear();
|
_buffer8.clear();
|
||||||
_buffer8.reserve(capacity);
|
_buffer8.reserve(capacity);
|
||||||
|
|
||||||
// copy UTF-8 code units that were remaining from the previousl call (if any)
|
// copy UTF-8 code units that were remaining from the previous call (if any)
|
||||||
if (_partialsLen != 0u)
|
if (_partialsLen != 0u)
|
||||||
{
|
{
|
||||||
_buffer8.assign(_utf8Partials.cbegin(), _utf8Partials.cbegin() + _partialsLen);
|
_buffer8.assign(_utf8Partials.cbegin(), _utf8Partials.cbegin() + _partialsLen);
|
||||||
|
@ -115,7 +115,7 @@ u16state::u16state() noexcept :
|
||||||
_buffer16.clear();
|
_buffer16.clear();
|
||||||
_buffer16.reserve(capacity);
|
_buffer16.reserve(capacity);
|
||||||
|
|
||||||
// copy UTF-8 code units that were remaining from the previousl call (if any)
|
// copy UTF-8 code units that were remaining from the previous call (if any)
|
||||||
if (_cached != 0u)
|
if (_cached != 0u)
|
||||||
{
|
{
|
||||||
_buffer16.push_back(_highSurrogate);
|
_buffer16.push_back(_highSurrogate);
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
#include "TfConvArea.h"
|
#include "TfConvArea.h"
|
||||||
#include "TfEditSes.h"
|
#include "TfEditSession.h"
|
||||||
|
|
||||||
/* 626761ad-78d2-44d2-be8b-752cf122acec */
|
/* 626761ad-78d2-44d2-be8b-752cf122acec */
|
||||||
const GUID GUID_APPLICATION = { 0x626761ad, 0x78d2, 0x44d2, { 0xbe, 0x8b, 0x75, 0x2c, 0xf1, 0x22, 0xac, 0xec } };
|
const GUID GUID_APPLICATION = { 0x626761ad, 0x78d2, 0x44d2, { 0xbe, 0x8b, 0x75, 0x2c, 0xf1, 0x22, 0xac, 0xec } };
|
||||||
|
|
|
@ -5,7 +5,7 @@ Licensed under the MIT license.
|
||||||
|
|
||||||
Module Name:
|
Module Name:
|
||||||
|
|
||||||
TfEditses.cpp
|
TfEditSession.cpp
|
||||||
|
|
||||||
Abstract:
|
Abstract:
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ Notes:
|
||||||
#include "TfConvArea.h"
|
#include "TfConvArea.h"
|
||||||
#include "TfCatUtil.h"
|
#include "TfCatUtil.h"
|
||||||
#include "TfDispAttr.h"
|
#include "TfDispAttr.h"
|
||||||
#include "TfEditses.h"
|
#include "TfEditSession.h"
|
||||||
|
|
||||||
//+---------------------------------------------------------------------------
|
//+---------------------------------------------------------------------------
|
||||||
//
|
//
|
|
@ -5,7 +5,7 @@ Licensed under the MIT license.
|
||||||
|
|
||||||
Module Name:
|
Module Name:
|
||||||
|
|
||||||
TfEditses.h
|
TfEditSession.h
|
||||||
|
|
||||||
Abstract:
|
Abstract:
|
||||||
|
|
|
@ -21,7 +21,7 @@ Notes:
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
#include "ConsoleTSF.h"
|
#include "ConsoleTSF.h"
|
||||||
#include "TfEditses.h"
|
#include "TfEditSession.h"
|
||||||
|
|
||||||
//+---------------------------------------------------------------------------
|
//+---------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
|
|
|
@ -48,7 +48,7 @@ SOURCES = \
|
||||||
TfConvArea.cpp \
|
TfConvArea.cpp \
|
||||||
TfCatUtil.cpp \
|
TfCatUtil.cpp \
|
||||||
TfDispAttr.cpp \
|
TfDispAttr.cpp \
|
||||||
TfEditses.cpp \
|
TfEditSession.cpp \
|
||||||
TfTxtevCb.cpp \
|
TfTxtevCb.cpp \
|
||||||
|
|
||||||
INCLUDES = \
|
INCLUDES = \
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
<ClCompile Include="TfCatUtil.cpp" />
|
<ClCompile Include="TfCatUtil.cpp" />
|
||||||
<ClCompile Include="TfConvArea.cpp" />
|
<ClCompile Include="TfConvArea.cpp" />
|
||||||
<ClCompile Include="TfDispAttr.cpp" />
|
<ClCompile Include="TfDispAttr.cpp" />
|
||||||
<ClCompile Include="TfEditses.cpp" />
|
<ClCompile Include="TfEditSession.cpp" />
|
||||||
<ClCompile Include="TfTxtevCb.cpp" />
|
<ClCompile Include="TfTxtevCb.cpp" />
|
||||||
<ClCompile Include="precomp.cpp">
|
<ClCompile Include="precomp.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
<ClInclude Include="TfConvArea.h" />
|
<ClInclude Include="TfConvArea.h" />
|
||||||
<ClInclude Include="TfCtxtComp.h" />
|
<ClInclude Include="TfCtxtComp.h" />
|
||||||
<ClInclude Include="TfDispAttr.h" />
|
<ClInclude Include="TfDispAttr.h" />
|
||||||
<ClInclude Include="TfEditses.h" />
|
<ClInclude Include="TfEditSession.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<!-- Careful reordering these. Some default props (contained in these files) are order sensitive. -->
|
<!-- Careful reordering these. Some default props (contained in these files) are order sensitive. -->
|
||||||
<Import Project="$(SolutionDir)src\common.build.post.props" />
|
<Import Project="$(SolutionDir)src\common.build.post.props" />
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
<ClCompile Include="TfDispAttr.cpp">
|
<ClCompile Include="TfDispAttr.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="TfEditses.cpp">
|
<ClCompile Include="TfEditSession.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="TfTxtevCb.cpp">
|
<ClCompile Include="TfTxtevCb.cpp">
|
||||||
|
@ -65,7 +65,7 @@
|
||||||
<ClInclude Include="TfDispAttr.h">
|
<ClInclude Include="TfDispAttr.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="TfEditses.h">
|
<ClInclude Include="TfEditSession.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
|
@ -903,7 +903,7 @@ Viewport Viewport::ToOrigin() const noexcept
|
||||||
// The result will be the smallest area that fits within both rectangles.
|
// The result will be the smallest area that fits within both rectangles.
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// - lhs: one of the viewports to intersect
|
// - lhs: one of the viewports to intersect
|
||||||
// - rhs: the other viepwort to intersect
|
// - rhs: the other viewport to intersect
|
||||||
// Return Value:
|
// Return Value:
|
||||||
// - a Viewport representing the intersection of the other two, or an empty viewport if there's no intersection.
|
// - a Viewport representing the intersection of the other two, or an empty viewport if there's no intersection.
|
||||||
[[nodiscard]] Viewport Viewport::Intersect(const Viewport& lhs, const Viewport& rhs) noexcept
|
[[nodiscard]] Viewport Viewport::Intersect(const Viewport& lhs, const Viewport& rhs) noexcept
|
||||||
|
|
Loading…
Reference in a new issue