-
-
Notifications
You must be signed in to change notification settings - Fork 13
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 Z80 Support #59
Merged
Merged
Add Z80 Support #59
Conversation
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
Thank you so much for adding Z80 support. I don't know how to proceed from here. If there is anything that I can add or contribute, let me know. |
The features shown in the GIF are amazing! I can't wait having this functionality in the final asm-lsp! Well done @WillLillis. |
dcb20b4
to
4b1b92a
Compare
4b1b92a
to
dc5583e
Compare
aad8c4e
to
2683ea9
Compare
2683ea9
to
a1d6444
Compare
Hover support for Z80 registers Remove extraneous semicolons Short Z80 register descriptions Initial commit for z80 instructions xml and its generator. Co-authored-by: gilbertfrancois <> Checkpoint commit, sketching out z80 data structs Appease clippy Chore: Update opcodes (bergercookie#40) * Chore: Update opcodes xml files * Update parser for updated xml files Cleaning up More clean up, syncing up with master branch Simplifying things... Most z80 features working, need to polish instruction hover support Hover display tweaks, correct URL escaping, formatting Z80 documentation now opens at correct section Initial work on instruction descriptions Instruction descriptions done Z80 Signature Help support Fix logic bug for file word grab
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Note: Keeping this as a draft for now. Before it's ready I'd like to:
Sync this branch up with the pending changes in the other PRsJust should be merged after refactor: Assign Register and Instructionarch
field at read time #68Create an internalIn my own testing, having the extra z80 field under instruction sets doesn't prevent deserializing of the TargetConfig struct using an older version of the lsp.TargetConfig
-like struct with all optional fields. Use this to deserialize config files and then translate any missing fields to "false" in the actualTargetConfig
. This way we can add the Z80 as a configuration option without breaking anyone's existing config files.Do a more thorough read over, taking out TODO comments, cleaning things up, etc.Done!This PR will add support for the Zilog Z80 CPU. Hover and autocomplete support for registers and instructions, as well as instruction signature help are included.
A huge thank you to @gilbertfrancois for writing the initial python script to translate instruction data from some of the online docs. I'll add some demo gifs for all the features once things are finalized, but I was kinda happy with this in particular:
The Z80 user manual has different sections for each instruction form, meaning the manual can be opened to any form's entry by adding a fragment to the url.
I realize this is very much on the long side of things, so no worries if it takes some time to review once it's ready. If anything's too messy/ needs to be refactored I'm more than happy to take another pass at it.
Closes #39