-
-
Notifications
You must be signed in to change notification settings - Fork 84
Fixed regression in vertical range target #735
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
Fixed regression in vertical range target #735
Conversation
Hmm. What you describe is the behaviour I would expect. The behaviour you want is the behaviour I'd want for "chuck risk slice made". If you want that behaviour, why say "line"? |
Fwiw in next generation inference engine, I'd argue that "line" should be applied to output of slice range, so you'll get this behaviour, plus things like "change line risk slice made" will work as well |
Because you want to create a selection the width of the entire line. Imagine you have multiple tokens on the line and you want to remove them all in a vertical column. If you just wanted to remove the entire line you didn't need to you slice and the simple |
Okay that can be useful, but it is an change on how it works on main today that we have not planned as far as I know. But my main problem is that we now have a divergent in how the different actions operate on a sliced target. take/change will not used entire line, but chuck will. That behavior I definitely think is a regression and should be reverted until we can support it probably in the next generation inference engine. |
Btw one argument for what you're proposing here is that soon we will have |
That one is actually interesting, but when it comes to removal if you just want to remove all lines there's no difference in doing "chuck line risk past made". "take every line risk past made" can probably be really useful. |
Although we'll need next-gen slice semantics to support "string air slice bat", which I often find myself wanting in markdown tables of cursorless commands, so next-gen "every" doesn't hit every use case for next-gen "slice" I think it's quite rare that you'd actually want the rigid vertical slice behaviour from this PR. I'm hesitant to go out of our way to support / test behaviour that we're planning to change soon, and which users have expressed surprise at But tbh I don't feel too strongly on this one, as I don't think many users will hit it one way or the other. If you feel strongly I'm fine to merge this one in |
I want that too. I'm not arguing against that next gen implementation. All I'm saying right now is that the changes we made to compositional grammar made the behavior of content and removal ranges for slice targets diverge which must be viewed as a regression. Once we actually can support modifiers after sliced range this will work as intended for both selection and removal. Users has only expressed surprise of the content range of sliced targets which this pr does nothing to change. All I want is to have a consistency between selection and removal behavior. I'm going to go ahead and merge this and then we can change it when we can do it properly. |
8639b56
into
pokey/issue69-Support-fully-compositional-modifiers
Go for it, but see my comment re weak vs plain |
results.push(anchorTarget.withContentRange(contentRange)); | ||
} else { | ||
results.push( | ||
new PlainTarget({ |
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.
Do we want to use a WeakTarget
instead? Might be nice to clean up white space and do weak expansion, given these are more like a bunch of marks in my mind
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.
You do make a point but at the same time I do feel that the behavior of sliced targets right now is a fixed range that expands to a column and if I tell it to slice a specific column I don't want anything unexpected to change that range. This is a real edge case but I believe that plain target is more correct.
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.
Ok we have pretty different expectations of slice semantics. Let's leave as plain for now but aim to discuss
Will you miss your rigid block slice semantics if we move to post-slice modifier application? If so then maybe we need two different kinds of slice?
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.
Agreed we definitely need to iron this one out
I guess in that case I can just use just/raw to get the same results. But that is definitely something we need to think about.
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'm not sure "just" helps you here. What exactly were you planning to say?
Fwiw we could just add a new range modifier called "strict slice"
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.
Ok let's plan to discuss
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.
Definitely
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.
We could change the grammar a bit
"take line slice air past bat"
"take slice line air past bat"
In these examples it's quite clear which modifies are run before or after the slice. Since we have the slice prefix it would actually be quite simple to turn it into a modifier instead of a (normal) compound target.
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.
yeah worth thinking bout. Fwiw I updated #193 in prep for this discussion. Lmk if that formalism makes sense
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.
Works for me
* Fixed bug in removal range for range target * A dead delimiter highlight to range target * Added token context to all marks * Added correct token context too regex * Don't unifi ranges on content only removal * Update the test * Added feature to run single recorded test * Updated tests * Fallback on token context for containing scope * Updated target inference * general refactoring of removable ranges * Updated unify removal targets * Fixed that mark bug on set selection * Fixed is reverse bug on vertical range targets * Fixed is reverse bug on vertical range targets * Set empty delimiter on end of and start of positions * Updated test * Fixed last tests * Added description to run single recorded test * At dead tests for bring before and after file * Update to removal ranges * Mark cleanup * Added interior only and exclude interior as proper modifiers * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Added support for every line * Only select lines with content * Added take every paragraph * Added every file line and block tests * Added take every token * Added every too regex stages * Cleanup * Moved example of custom test transformation to docs * Update src/core/commandVersionUpgrades/upgradeV1ToV2/commandV1.types.ts Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * Update src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeV1ToV2.ts Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Added OO targets * Fixed merge conflict * Reversed order of migration modifiers * Default to array * Cleaned up inference code * Added paragraph target * Better updates of new range * oo targets past all test * Added line and paragraph tests * Highlight update * Added script to show unused exports * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Added line 2 unused export * Default modifiers to empty array * Don't use hat map * Modifiers default to undefined * Fixed is implicit inference * Removed get tokens function * Update src/core/commandVersionUpgrades/upgradeV1ToV2/commandV1.types.ts Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * Update src/core/inferFullTargets.ts Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * General cleanup * Added notebook cell target * Support delimiter based edit newline (#684) * Added delimiter based edit line * Added support for arbitrary delimiters * Added tests * Renamed is above to is before * Better handling of empty lines * Cleanup * Added default delimiters for some common scope types * Run yarn * Attempt to fix raw delimiter * Fixed delimiter * Revert "Attempt to fix raw delimiter" This reverts commit 0de0798. * Revert "Fixed delimiter" This reverts commit a035390. * Use low dash unique with * Made base target abstract * Updated tests * Added return type * Fixed compilation errors * Updated position * Add empty string as default delimiter for sub tokens * Updated bugs * Cleanup * Added tests * Updated inference of implicit target * Updated spoken forms in test * Utilize getters * Refactored getters and setters for targets * Implemented get final stages * Added final stages to process targets * Cleanup * Converted command action into object with associated arguments * Switch to complex scope types * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Remove scope type type from base target * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Updated to edit new context * Added bring statement test * Change behavior of pour line * Use weak containing line stage for edit new * Updated edit new * Get targets in correct order * Updated selection for editor * Cleanup * New attempt at EditNew * Added rich targets * Updated edit new with proper line handling * Only used single edit * Added comment * Added comment * Cleanup * Added derived target * Moved weak target into base target class * Cleanup * Updated action form * Updated scope type for tests * Fix upgrade path with ordinal range * Pass leading and trailing delimiters to super constructor * Learn to spell * Updated more tests * Cleanup * Fixed bug taking matching pair in error code * Added block tests * Fixed test * Added support for custom delimiters in copy lines * Fix package json * Fix one test * Updated tests * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Disabled phrase snapshot on recorded test runner * Updated test and upgrade path * Fixed failing hat map tests * Added sleep option to recorded tests * Verbosity for the win * Tweak modify of week stage * Minor python cleanup * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Don't de duplicate that mark * Use utility function to set selection that deduplicates * Make document content range the entire file including white lines * Added source mark to wrap action * Added source mark to actions wrap and rewrap * Updated error messages * Updated tests * Don't focus editor on notebook cell insertion * Cleanup * Don't update selection on notebook cell insertion * Add comment * Various fixes * More renames and stuff * Fix bug with missing delimiters in weak targets * Update src/processTargets/processTargets.ts Co-authored-by: Will Sommers <will.sommers@gmail.com> * Unify implementation of copy lines and edit new actions * Rename * Started working on lazy removal * Clarify processPrimitiveTarget * Tweak * Tweak again * Imports fix * All tests pass * Updated highlights * Highlight updates on continuous range target * Moved edit decorations into graph * Added decorations to test recorder and runner * Updated to highlight recorder test * Added decorations test * Added decorations test * Added leading and trailing delimiters as separate stage and target * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Create edits in actual targets * Use object oriented targets to construct edits * Enabled bring before and after without to * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix * Support fully compositional modifiers Fixes #69 * Getting started * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Start using InsertionRemovalBehavior * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Cleanup * Tweak * More cleanup * More tweaks * Tweaks * More cleanup * Cleanup * Removed padding from float and drop * Updated that mark on pour action * Lots of stuff * Fixed removal behavior on scope type target * Hide panel on recorded test sweet startup * More stuff * More stuff * Cleanup * Some stuff clean up whatever don't care * Committed some stuff * Stuff * Updated tests * Support chuck after and chuck before * Add hack for "paste to to" * Add run single test launch config * Add comment about running a single test to contributing docs * Update cursorless-talon/src/csv_overrides.py * Update cursorless-talon/src/positional_target.py Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * Update cursorless-talon/src/positional_target.py Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * Use plain target in clear action * Initial modifier unification work * Unify simple modifiers * docstring * Clean up position code * At a couple comments * Creates separate file for target descriptor types * Separate notebook cell edit new from regular edit new * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fixed that mark on notebook cells * Cleanup * More positional tweaks on talon side * Removes support for chuck after and chuck before * Clean up names * Use proper error for syntax scope not found * Record tests for leading trailing before and after * Add chuck before after to upgrade * Failed attempt at trying to simplify edit new * Revert "Failed attempt at trying to simplify edit new" This reverts commit 52193ae. * Cleanup vscode ignore * Fixed regression in vertical range target (#735) * Revert generic insert empty lines code * Add broken float and puff tests * Add working puff float drop tests * Switch to mocha grep syntax for running subset of tests * Make subdir for insert empty lines tests * Support updating fixture decorations * Add decorations to float drop puff tests * Cleanup test case recorder docs * Add bunch of clone tests * Move files * More cleanup * `PartialTargetDesc` => `PartialTargetDescriptor` * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Re-add provenance file * Comments * Bump package version * Attempt to fix docs link Co-authored-by: Andreas Arvidsson <andreas.arvidsson87@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Will Sommers <will.sommers@gmail.com>
* Fixed bug in removal range for range target * A dead delimiter highlight to range target * Added token context to all marks * Added correct token context too regex * Don't unifi ranges on content only removal * Update the test * Added feature to run single recorded test * Updated tests * Fallback on token context for containing scope * Updated target inference * general refactoring of removable ranges * Updated unify removal targets * Fixed that mark bug on set selection * Fixed is reverse bug on vertical range targets * Fixed is reverse bug on vertical range targets * Set empty delimiter on end of and start of positions * Updated test * Fixed last tests * Added description to run single recorded test * At dead tests for bring before and after file * Update to removal ranges * Mark cleanup * Added interior only and exclude interior as proper modifiers * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Added support for every line * Only select lines with content * Added take every paragraph * Added every file line and block tests * Added take every token * Added every too regex stages * Cleanup * Moved example of custom test transformation to docs * Update src/core/commandVersionUpgrades/upgradeV1ToV2/commandV1.types.ts Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * Update src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeV1ToV2.ts Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Added OO targets * Fixed merge conflict * Reversed order of migration modifiers * Default to array * Cleaned up inference code * Added paragraph target * Better updates of new range * oo targets past all test * Added line and paragraph tests * Highlight update * Added script to show unused exports * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Added line 2 unused export * Default modifiers to empty array * Don't use hat map * Modifiers default to undefined * Fixed is implicit inference * Removed get tokens function * Update src/core/commandVersionUpgrades/upgradeV1ToV2/commandV1.types.ts Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * Update src/core/inferFullTargets.ts Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * General cleanup * Added notebook cell target * Support delimiter based edit newline (#684) * Added delimiter based edit line * Added support for arbitrary delimiters * Added tests * Renamed is above to is before * Better handling of empty lines * Cleanup * Added default delimiters for some common scope types * Run yarn * Attempt to fix raw delimiter * Fixed delimiter * Revert "Attempt to fix raw delimiter" This reverts commit 0de0798. * Revert "Fixed delimiter" This reverts commit a035390. * Use low dash unique with * Made base target abstract * Updated tests * Added return type * Fixed compilation errors * Updated position * Add empty string as default delimiter for sub tokens * Updated bugs * Cleanup * Added tests * Updated inference of implicit target * Updated spoken forms in test * Utilize getters * Refactored getters and setters for targets * Implemented get final stages * Added final stages to process targets * Cleanup * Converted command action into object with associated arguments * Switch to complex scope types * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Remove scope type type from base target * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Updated to edit new context * Added bring statement test * Change behavior of pour line * Use weak containing line stage for edit new * Updated edit new * Get targets in correct order * Updated selection for editor * Cleanup * New attempt at EditNew * Added rich targets * Updated edit new with proper line handling * Only used single edit * Added comment * Added comment * Cleanup * Added derived target * Moved weak target into base target class * Cleanup * Updated action form * Updated scope type for tests * Fix upgrade path with ordinal range * Pass leading and trailing delimiters to super constructor * Learn to spell * Updated more tests * Cleanup * Fixed bug taking matching pair in error code * Added block tests * Fixed test * Added support for custom delimiters in copy lines * Fix package json * Fix one test * Updated tests * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Disabled phrase snapshot on recorded test runner * Updated test and upgrade path * Fixed failing hat map tests * Added sleep option to recorded tests * Verbosity for the win * Tweak modify of week stage * Minor python cleanup * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Don't de duplicate that mark * Use utility function to set selection that deduplicates * Make document content range the entire file including white lines * Added source mark to wrap action * Added source mark to actions wrap and rewrap * Updated error messages * Updated tests * Don't focus editor on notebook cell insertion * Cleanup * Don't update selection on notebook cell insertion * Add comment * Various fixes * More renames and stuff * Fix bug with missing delimiters in weak targets * Update src/processTargets/processTargets.ts Co-authored-by: Will Sommers <will.sommers@gmail.com> * Unify implementation of copy lines and edit new actions * Rename * Started working on lazy removal * Clarify processPrimitiveTarget * Tweak * Tweak again * Imports fix * All tests pass * Updated highlights * Highlight updates on continuous range target * Moved edit decorations into graph * Added decorations to test recorder and runner * Updated to highlight recorder test * Added decorations test * Added decorations test * Added leading and trailing delimiters as separate stage and target * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Create edits in actual targets * Use object oriented targets to construct edits * Enabled bring before and after without to * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix * Support fully compositional modifiers Fixes #69 * Getting started * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Start using InsertionRemovalBehavior * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Cleanup * Tweak * More cleanup * More tweaks * Tweaks * More cleanup * Cleanup * Removed padding from float and drop * Updated that mark on pour action * Lots of stuff * Fixed removal behavior on scope type target * Hide panel on recorded test sweet startup * More stuff * More stuff * Cleanup * Some stuff clean up whatever don't care * Committed some stuff * Stuff * Updated tests * Support chuck after and chuck before * Add hack for "paste to to" * Add run single test launch config * Add comment about running a single test to contributing docs * Update cursorless-talon/src/csv_overrides.py * Update cursorless-talon/src/positional_target.py Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * Update cursorless-talon/src/positional_target.py Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * Use plain target in clear action * Initial modifier unification work * Unify simple modifiers * docstring * Clean up position code * At a couple comments * Creates separate file for target descriptor types * Separate notebook cell edit new from regular edit new * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fixed that mark on notebook cells * Cleanup * More positional tweaks on talon side * Removes support for chuck after and chuck before * Clean up names * Use proper error for syntax scope not found * Record tests for leading trailing before and after * Add chuck before after to upgrade * Failed attempt at trying to simplify edit new * Revert "Failed attempt at trying to simplify edit new" This reverts commit 52193ae. * Cleanup vscode ignore * Fixed regression in vertical range target (#735) * Revert generic insert empty lines code * Add broken float and puff tests * Add working puff float drop tests * Switch to mocha grep syntax for running subset of tests * Make subdir for insert empty lines tests * Support updating fixture decorations * Add decorations to float drop puff tests * Cleanup test case recorder docs * Add bunch of clone tests * Move files * More cleanup * `PartialTargetDesc` => `PartialTargetDescriptor` * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Re-add provenance file * Comments * Bump package version * Attempt to fix docs link Co-authored-by: Andreas Arvidsson <andreas.arvidsson87@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Will Sommers <will.sommers@gmail.com>
* Fixed bug in removal range for range target * A dead delimiter highlight to range target * Added token context to all marks * Added correct token context too regex * Don't unifi ranges on content only removal * Update the test * Added feature to run single recorded test * Updated tests * Fallback on token context for containing scope * Updated target inference * general refactoring of removable ranges * Updated unify removal targets * Fixed that mark bug on set selection * Fixed is reverse bug on vertical range targets * Fixed is reverse bug on vertical range targets * Set empty delimiter on end of and start of positions * Updated test * Fixed last tests * Added description to run single recorded test * At dead tests for bring before and after file * Update to removal ranges * Mark cleanup * Added interior only and exclude interior as proper modifiers * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Added support for every line * Only select lines with content * Added take every paragraph * Added every file line and block tests * Added take every token * Added every too regex stages * Cleanup * Moved example of custom test transformation to docs * Update src/core/commandVersionUpgrades/upgradeV1ToV2/commandV1.types.ts Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * Update src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeV1ToV2.ts Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Added OO targets * Fixed merge conflict * Reversed order of migration modifiers * Default to array * Cleaned up inference code * Added paragraph target * Better updates of new range * oo targets past all test * Added line and paragraph tests * Highlight update * Added script to show unused exports * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Added line 2 unused export * Default modifiers to empty array * Don't use hat map * Modifiers default to undefined * Fixed is implicit inference * Removed get tokens function * Update src/core/commandVersionUpgrades/upgradeV1ToV2/commandV1.types.ts Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * Update src/core/inferFullTargets.ts Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * General cleanup * Added notebook cell target * Support delimiter based edit newline (cursorless-dev#684) * Added delimiter based edit line * Added support for arbitrary delimiters * Added tests * Renamed is above to is before * Better handling of empty lines * Cleanup * Added default delimiters for some common scope types * Run yarn * Attempt to fix raw delimiter * Fixed delimiter * Revert "Attempt to fix raw delimiter" This reverts commit 0de0798. * Revert "Fixed delimiter" This reverts commit a035390. * Use low dash unique with * Made base target abstract * Updated tests * Added return type * Fixed compilation errors * Updated position * Add empty string as default delimiter for sub tokens * Updated bugs * Cleanup * Added tests * Updated inference of implicit target * Updated spoken forms in test * Utilize getters * Refactored getters and setters for targets * Implemented get final stages * Added final stages to process targets * Cleanup * Converted command action into object with associated arguments * Switch to complex scope types * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Remove scope type type from base target * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Updated to edit new context * Added bring statement test * Change behavior of pour line * Use weak containing line stage for edit new * Updated edit new * Get targets in correct order * Updated selection for editor * Cleanup * New attempt at EditNew * Added rich targets * Updated edit new with proper line handling * Only used single edit * Added comment * Added comment * Cleanup * Added derived target * Moved weak target into base target class * Cleanup * Updated action form * Updated scope type for tests * Fix upgrade path with ordinal range * Pass leading and trailing delimiters to super constructor * Learn to spell * Updated more tests * Cleanup * Fixed bug taking matching pair in error code * Added block tests * Fixed test * Added support for custom delimiters in copy lines * Fix package json * Fix one test * Updated tests * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Disabled phrase snapshot on recorded test runner * Updated test and upgrade path * Fixed failing hat map tests * Added sleep option to recorded tests * Verbosity for the win * Tweak modify of week stage * Minor python cleanup * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Don't de duplicate that mark * Use utility function to set selection that deduplicates * Make document content range the entire file including white lines * Added source mark to wrap action * Added source mark to actions wrap and rewrap * Updated error messages * Updated tests * Don't focus editor on notebook cell insertion * Cleanup * Don't update selection on notebook cell insertion * Add comment * Various fixes * More renames and stuff * Fix bug with missing delimiters in weak targets * Update src/processTargets/processTargets.ts Co-authored-by: Will Sommers <will.sommers@gmail.com> * Unify implementation of copy lines and edit new actions * Rename * Started working on lazy removal * Clarify processPrimitiveTarget * Tweak * Tweak again * Imports fix * All tests pass * Updated highlights * Highlight updates on continuous range target * Moved edit decorations into graph * Added decorations to test recorder and runner * Updated to highlight recorder test * Added decorations test * Added decorations test * Added leading and trailing delimiters as separate stage and target * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Create edits in actual targets * Use object oriented targets to construct edits * Enabled bring before and after without to * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix * Support fully compositional modifiers Fixes cursorless-dev#69 * Getting started * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Start using InsertionRemovalBehavior * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Cleanup * Tweak * More cleanup * More tweaks * Tweaks * More cleanup * Cleanup * Removed padding from float and drop * Updated that mark on pour action * Lots of stuff * Fixed removal behavior on scope type target * Hide panel on recorded test sweet startup * More stuff * More stuff * Cleanup * Some stuff clean up whatever don't care * Committed some stuff * Stuff * Updated tests * Support chuck after and chuck before * Add hack for "paste to to" * Add run single test launch config * Add comment about running a single test to contributing docs * Update cursorless-talon/src/csv_overrides.py * Update cursorless-talon/src/positional_target.py Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * Update cursorless-talon/src/positional_target.py Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com> * Use plain target in clear action * Initial modifier unification work * Unify simple modifiers * docstring * Clean up position code * At a couple comments * Creates separate file for target descriptor types * Separate notebook cell edit new from regular edit new * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fixed that mark on notebook cells * Cleanup * More positional tweaks on talon side * Removes support for chuck after and chuck before * Clean up names * Use proper error for syntax scope not found * Record tests for leading trailing before and after * Add chuck before after to upgrade * Failed attempt at trying to simplify edit new * Revert "Failed attempt at trying to simplify edit new" This reverts commit 52193ae. * Cleanup vscode ignore * Fixed regression in vertical range target (cursorless-dev#735) * Revert generic insert empty lines code * Add broken float and puff tests * Add working puff float drop tests * Switch to mocha grep syntax for running subset of tests * Make subdir for insert empty lines tests * Support updating fixture decorations * Add decorations to float drop puff tests * Cleanup test case recorder docs * Add bunch of clone tests * Move files * More cleanup * `PartialTargetDesc` => `PartialTargetDescriptor` * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Re-add provenance file * Comments * Bump package version * Attempt to fix docs link Co-authored-by: Andreas Arvidsson <andreas.arvidsson87@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Will Sommers <will.sommers@gmail.com>
"chuck line R slice M"
All three lines are completely removed because the new targets are still lines. This is a regression in how vertical range target is supposed to work. The solution is to always default to a plain target except in the case of a position target.
Checklist