-
-
Notifications
You must be signed in to change notification settings - Fork 85
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
Elixir support #1844
base: main
Are you sure you want to change the base?
Elixir support #1844
Conversation
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.
wow off to a fantastic start 😍! I left a bunch of small comments. Feel free to drop into a meet-up as well; we have them 3 times a week on various timezones
This comment was marked as resolved.
This comment was marked as resolved.
Calls of non-def functions with do end blocks shouldn't count as funks
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.
Looking good! Left some minor comments. Also
- There are a few empty checkboxes on PR description
- It's worth thinking bout whether there are other scopes you want to implement. Eg "state", "map", "list", etc
- What about items in lists? Seems like you've only done maps, but maybe I missed it
- I see you checked box for
textFragment
, but I don't see that in the code - Looks like you're still missing a few tests, eg
"change item"
(I only see"chuck"
)
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 might want to support "chuck key" / "chuck value" removing the =>
; might make it easier to convert a map to a list. We support that in other languagse
packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/elixir/changeLambda.yml
Outdated
Show resolved
Hide resolved
...cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/elixir/changePreviousComment.yml
Outdated
Show resolved
Hide resolved
This is great! I'm about to be doing some elixir work. What's left to this? Can I help? |
@jaresty help would be great! I haven't had a chance to do any more on this since Sept. The biggest outstanding thing is drink/pour in lists/maps (see Pokey's last comment, I haven't made it to a meetup since). I don't remember what else is outstanding, but I think its mergable if we get just that working |
@r-tae I'd love to help! Could we maybe find some time where you could introduce me to the work? I sent you a message on slack if you'd like to coordinate. |
Ok I kicked the ball down the field a bit; see my changes @jaresty I'm happy to get you up to speed on this PR in a meet-up if you want to carry it to the finish line; not too much left |
Thank you for that @pokey - I'm unexpectedly in a job search so it may be some time before I can get back to this. |
ok @r-tae if you wanna bring this home go for it. Otherwise I may take a pass again in the future |
@r-tae wanted to let you know that community now has an elixir language mode 😄 |
What
Adds support for the
elixir
programming languageChecklist
"change"
/"clear"
instead of"take"
for selection tests to make recorded tests easier to read"chuck"
instead of"change"
to test removal behaviour when it's interesting, especially:"chuck arg"
with single argument in list"chuck arg"
with multiple arguments in list"chuck item"
with single argument in list"chuck item"
with multiple arguments in list@textFragment
captures. Usually you want to put these on comment and string nodes. This enables"take round"
to work within comments and strings."change round"
inside a string, eg"hello (there)"
"type"
both for type annotations (egfoo: string
) and declarations (eginterface Foo {}
) (and added tests for this behaviour 😊)"item"
both for map pairs and list entries (with tests of course)"name"