Skip to content

Declarative API + VCS inlays#6

Merged
MehVahdJukaar merged 38 commits intocodeemoji:mainfrom
MehVahdJukaar:vcs-dev
Mar 7, 2025
Merged

Declarative API + VCS inlays#6
MehVahdJukaar merged 38 commits intocodeemoji:mainfrom
MehVahdJukaar:vcs-dev

Conversation

@MehVahdJukaar
Copy link
Contributor

This PR contains major refactos and new additions.
Its main changes are:

  • Refactored the entire codebase to use the new IntelliJ Declarative annotation API instead of the old deprecated one
  • New config menus for all inlays which allow to pick and select arbitrary emojis for them
  • Class structure was changed to accomodate the new API, while doing that meaningful renames were also performed and some class were merged in the name of simplification
  • VCS inlays, notably Author Avatar, Recently Modified, Frequently Modified, Last Commit and Too Many Authors
  • Many additional small refactors and cleanups such as missing translations

The changes made were to say the least massive so I don't expect this to work without issues.
I have tested all the annotations that i was familiar so the functionality of most of them is tested.
One notable exeption are the Declarative ones which I was not able to test yet.

Changes are massive so do let me know i you would like me to go into more details of the specific refactos, incase you would like to review the changes.

  • Matteo Gozzi, UNIBZ

@MehVahdJukaar
Copy link
Contributor Author

To add onto this, the Declarative API changes allow the plugin to be run on latest IntelliJ version.
As a catch however said API is a lot less powerful than the old one. Fortunately i have found that the only things that would be missing from the previous impl are:

  • Inlays displaying directly into the preview text in the config menu (the new api seems to hardcode its own inlays directly into the text string as these are now handled inside class files in the resource package)
  • ability to open the config menu by right clicking an emoji
  • displaying non text elements (images) instead of emojis. This is less relevant however as said feature was implemented but not really used before

@MehVahdJukaar MehVahdJukaar merged commit 1d06b47 into codeemoji:main Mar 7, 2025
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.

1 participant