Skip to content
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

feat: Arm support #118

Merged
merged 1 commit into from
Aug 17, 2024
Merged

feat: Arm support #118

merged 1 commit into from
Aug 17, 2024

Conversation

WillLillis
Copy link
Collaborator

@WillLillis WillLillis commented Aug 15, 2024

Adds autocomplete and hover capabilities for the ARM architecture.

Sources ARM's exploration tools for instruction information, and a few misc. website for the register info. I've been as thorough as (reasonably) possible in verifying the results of parsing the opcode documentation. However, given the sheer column of information, I'm sure there's a few mistakes/mistranslations hiding in there. Any and all bug reports, suggestions for improvement, etc. are more than welcome.

This will break people's existing .asm-lsp.toml files with the new arm instruction set configuration option, so publishing will require a minor version bump to 0.8.0.

The diff for this PR is quite large, but the vast majority is just the ARM opcode xml files. Regarding actual changes, we have:

  • Updates to README.md, listing more documentation sources, as well as updating the examples .asm-lsp.toml config file.
  • Updates to the documentation parser, allowing for parsing of the ARM documentation files (split over many files rather than one large file as in x86/x86-64, z80, etc.)
  • additions to the Instruction type to store the ARM documentation's assembly templates and alias forms
  • Updates to the src/lsp.rs logic to support ARM
  • Corresponding tests for the new architecture

cc @bergercookie

Checks off a stretch goal in #80
Closes #17

@WillLillis WillLillis force-pushed the arm_support branch 2 times, most recently from c993285 to b2f6932 Compare August 15, 2024 23:31
@WillLillis WillLillis merged commit f5e99ce into bergercookie:master Aug 17, 2024
18 checks passed
@WillLillis WillLillis deleted the arm_support branch August 17, 2024 17:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for arm / arm64 instruction sets
1 participant