-
Notifications
You must be signed in to change notification settings - Fork 1
Breaking Changes for 0.4 #70
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
Conversation
ad0f1da
to
444b0ac
Compare
e667a1e
to
f48d187
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #70 +/- ##
===========================================
- Coverage 78.67% 52.64% -26.04%
===========================================
Files 25 26 +1
Lines 2420 2534 +114
Branches 477 516 +39
===========================================
- Hits 1904 1334 -570
- Misses 324 1052 +728
+ Partials 192 148 -44 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
79c11e7
to
0c15bbd
Compare
CI is still failing. My plan is to abandon my current end-to-end testing setup: it is too flakey and the package I'm using is poorly maintained. I have tested out a setup that uses playwright and that seems to be working well, so the next major PR will migrate to playwright. Merging to |
This re-organizes and reformats a lot of files to fit with the new build and linting system. The modern build setup uses: - esbuild - eslint (no google ts styling) - pnpm - mise build tasks It also lays the ground work for using rust libraries (via WASM and wasm-pack), though no such wasm modules exist yet. Additional changes: - Removes `jsep` as a dependency: this was an old library with no recent updates. I could not get it to work with a modern build setup. This changes the behavior for how and when keybindings are treated as identical: there are now fewer equivalent `when` clauses that are considered the same (now we just hash a string of the when clause with all spaces removed). The matching was never perfect, and I don't think this regression should practically impact usage. - I did a little debugging here that turned out to be another bug in `larkin.toml`'s repeat-motion command caused by the refactoring in #70. Yet another piece of evidence that we really need to move to a more robust testing infrastructure (would been caught by old tests, but we don't have the ability to reliably run it). Reviewers: Pull Request: #73
This is a complete overhaul of the CI/testing setup for this project. It makes a few small changes to the project as well: 1. Fix various bugs that were missed when merging #70: these were missed due to the flaky tests — which were the reason to revamp the tests here 2. Remove excessive UI features: there is some feature bloat in the config commands that was annoying to add tests for and did not really imporve the user experience, so I have simplified how master and user keybindings are activated. Reviewers: Pull Request: #74
I wanted to post this for visibility, to get any feedback, and provide an early warning.
This makes the following breaking changes to the keybinding format, planned for the release 0.4 of Master Key (cc @bhainesva and @sanrise, you are the two I know of who have created your own binding file). These changes will not be released until my documentation effort is complete, and more breaking changes may be added below as a part of my effort to write up the documentation.
foreach
expressions use{{}}
instead of{}
path
field of[[bind]]
has been renamed todefaults
[[path]]
element has been renamed to[[default]]
.when
field for[[default]]
toappendWhen
to be more explicit about what it doesname
anddescription
fields for[[default]]
resetTransient
tofinalKey
(re)storeNamed
command'sname
field toregister
Any fields using an expression make use of a more explicit name that includes the word
computed
repeat
tocomputedRepeat
if
towhenComputed
at
towhereComputedIndexIs
range
towhereComputedRangeIs
My goal is to make sure all breaking changes can be relatively easily addressed using simple find/replace commands.
TODO