-
Notifications
You must be signed in to change notification settings - Fork 8.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for iterable, nested commands #6856
Merged
Merged
Changes from 74 commits
Commits
Show all changes
82 commits
Select commit
Hold shift + click to select a range
c56eb8f
Add a ton of text regarding Commandline Mode vs Action Mode
zadjii-msft fe640ff
move this spec out of `drafts/`
zadjii-msft 614d1b2
last little todos for review
zadjii-msft ead76d7
Merge remote-tracking branch 'origin/master' into dev/migrie/s/5400-C…
zadjii-msft 2e56436
Move this section to 'future considerations'
zadjii-msft 0886e8f
Merge remote-tracking branch 'origin/master' into dev/migrie/s/5400-C…
zadjii-msft 11130a4
Add some notes about the advanced tab switcher and how that might int…
zadjii-msft f53553f
Merge remote-tracking branch 'origin/master' into dev/migrie/s/5400-C…
zadjii-msft 0672812
good bot
zadjii-msft 43bd483
Blind port these files from the old branch
zadjii-msft 75af4ca
Hook up all the parsing once again
zadjii-msft 33a9e32
Get names from the resources if provided as an object, not a string
zadjii-msft 3627d8a
This should have been in the previous commit
zadjii-msft 0416a94
Hook up the parsing of `ActionAndArgs`s to the command palette
zadjii-msft 6905065
Merge remote-tracking branch 'origin/master' into dev/migrie/f/2046-C…
zadjii-msft 02f47f4
Make the action names map public, so the ToJson in AKBSerialization c…
zadjii-msft 62b9a0d
Move the action into it's own sub-object
zadjii-msft 207666e
Add a ton of default commands
zadjii-msft b88be45
Make sure to scroll the selected item into view
zadjii-msft 00763fd
Add duplicate pane to the default commands
zadjii-msft bc546db
Add some stability
zadjii-msft e1be26b
Do this in WinRTUtils instead of hackily doing it manually
zadjii-msft a309191
Rename private methods, fix wraparound logic
zadjii-msft 9905945
Return focus to the active control when closed
zadjii-msft cf6e1f2
Try to do this with a shadow, but it crashes inexplicably
zadjii-msft fa93fdc
Well, this is neat, and works, but requires 18362 and also casts a sh…
zadjii-msft 1fbe8e4
Turns out, the shadow on the menuflyout isn't my fault, it's on every…
zadjii-msft 6e6979a
Extract ActionAndArgs::FromJson into it's own class, so it can be re-…
zadjii-msft 829beda
Merge remote-tracking branch 'origin/master' into dev/migrie/f/2046-C…
zadjii-msft 487f33e
Merge commit '6e6979abe' into dev/migrie/f/2046-Command-Palette-v2
zadjii-msft 58be8cd
Tons of commenting
zadjii-msft 9d411d4
Make the commands a map, so we can override on "name"
zadjii-msft d71d8d7
Ready for review.
zadjii-msft b3d8f0e
Merge remote-tracking branch 'origin/master' into dev/migrie/f/2046-C…
zadjii-msft 67c7969
I couldn't tell you how long this took
zadjii-msft 82f968d
If a key is bound to that action, then display the keybinding in the …
zadjii-msft edc8b55
Add much better key chord text to the command palette
zadjii-msft dd684cb
implement a weighted ordering for command palette entries
zadjii-msft 3674c61
Add support for expanding a command into many commands for every prof…
zadjii-msft 0b126f0
lets clean this up so it's not so horrifying.
zadjii-msft 4420aea
Merge remote-tracking branch 'origin/master' into dev/migrie/f/comman…
zadjii-msft 4e134e3
get it building again
zadjii-msft 946d710
This works to auto-generate names from iterable commands without give…
zadjii-msft a5eba5a
add some stubs for tests in the future
zadjii-msft ac74de4
escape profile names for json before re-parsing
zadjii-msft 7321639
re-use FromJson when expanding, as to not just duplicate the entire m…
zadjii-msft d953d8b
start working on nested actions
zadjii-msft dc7a816
Merge remote-tracking branch 'origin/master' into dev/migrie/f/comman…
zadjii-msft 0c8471d
holy shit this worked on the first try
zadjii-msft bdd7e3b
write a test that _should_ check if an iterable command can have nest…
zadjii-msft 93d31c2
This was a failure
zadjii-msft 5052e64
Revert "This was a failure"
zadjii-msft c6a8fe9
more tests, more!
zadjii-msft f5659d2
this fixes `TestNestedInIterableCommand`, but `TestMixedNestedAndIter…
zadjii-msft 077cd6e
this mysteriously fixes the mixed test, which I was pretty onfident I…
zadjii-msft 26a1a41
man these are some great tests
zadjii-msft 33ee177
clean up this duplicated code
zadjii-msft be5aee3
make sure to actually update the xaml lists as well.
zadjii-msft 92167a5
code cleanup
zadjii-msft 7968b2a
more tests, code cleanup
zadjii-msft c5208e6
finish remaining todos, also, good bot
zadjii-msft 7cb870c
Merge remote-tracking branch 'origin/master' into dev/migrie/f/comman…
zadjii-msft 8fd3e0d
These changes to defaults.json are out-of-date, and Command doesn't n…
zadjii-msft 2763c90
Merge remote-tracking branch 'origin/master' into dev/migrie/f/comman…
zadjii-msft 3d0c81c
the tiniest nit
zadjii-msft 50bdc3d
Merge remote-tracking branch 'origin/master' into dev/migrie/f/comman…
zadjii-msft 2a8d4c5
well, we definitely want this
zadjii-msft 0719b42
This makes command expansion the TerminalPage's responsibility, but i…
zadjii-msft 77e51af
expand commands every time the list of tabs changes
zadjii-msft 1e9bf47
Merge remote-tracking branch 'origin/master' into dev/migrie/f/comman…
zadjii-msft b60b82b
Merge remote-tracking branch 'origin/master' into dev/migrie/f/comman…
zadjii-msft ec2db21
I guess we only really need to do this once
zadjii-msft c8c0032
Merge remote-tracking branch 'origin/dev/migrie/f/6856-let-terminalpa…
zadjii-msft b4eb86d
nits from PR
zadjii-msft 1975e8c
Merge remote-tracking branch 'origin/master' into dev/migrie/f/comman…
zadjii-msft 57abe29
Add a helper for find/replace-ing a string
zadjii-msft 9981126
Clean up our string handling substantially
zadjii-msft c55d53e
minor nits, more tracing
zadjii-msft 3269309
some cleaner lifetime management for these variables
zadjii-msft 933dc7e
use a IMap to store subcommands, and then generate the vector when we…
zadjii-msft 5198142
Fix the localtests for commands
zadjii-msft 7b014d9
Dustin wanted every command to not necessarily have a subcommand map,…
zadjii-msft File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
1,356 changes: 1,356 additions & 0 deletions
1,356
src/cascadia/LocalTests_TerminalApp/SettingsTests.cpp
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
whatever we choose, I absolutely want to make sure we can eventually give this a parser and a key/value reader so we don't need to specialize variable substitutions by the hundreds 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yea, I could see that being a reasonable follow-up to this. I'd rather not convolute this PR more though, if possible 😉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mostly just mean “let’s choose a syntax that isn’t going to hamper our efforts here in the future” moreso than “do it in this PR” :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh okay, that makes sense.
We could maybe even drop the
profile.
here. You're already iterating onprofiles
. Maybe that's redundant?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(I don’t want us to regret it later and have to shim toooooo much)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like that idea actually, profile being implied. Or like Go templates,
.name
where . Implies the object currently in scope (it supports referencing things that aren’t in scope)