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

WIP (very wip) Index macro expansions #3015

Open
wants to merge 2 commits into
base: master
from

Conversation

Projects
None yet
2 participants
@vlad20012
Copy link
Member

vlad20012 commented Nov 6, 2018

Now most macros are expanded once (together with indexing) and stored persistently. This opens the way to index macro expansions, and thus support impls/modules declared with macros, and also make auto-import, find symbol/usages (and other index-driven features) to work with macros.

Also it should significantly increases performance.

Closes #2458.
Also fixes #2615, fixes #2902, fixes #2787, fixes #3006, fixes #2383, fixes #955, fixes #3087, fixes #3259, (... and more)

TODO:

  • support macro call insertion (bug)
  • replace java-serialization with something more meaningful
  • compress expansion-file urls
  • fix spawning tons of background tasks
  • use write-priority retryable read actions
  • support modules defined with a macro (improve module index)
  • split expansion task into several batches (?)
  • validate expanded macros sequentially (don't re-expand macros that may be invalidated by other expansions in same task)
  • disable inspections/annotators while expanding macros
  • think about project root / search scopes
  • re-validate only workspace macros on local change
  • clear dangling expansions (check consistency) on startup
  • fix expansion of not-item macros
  • fix performance tests
  • add completion tests
  • clear macros directory if not accessed for a long time

@vlad20012 vlad20012 force-pushed the vlad20012:macro-index branch 3 times, most recently from 458653d to 28f2374 Nov 7, 2018

@vlad20012 vlad20012 force-pushed the vlad20012:macro-index branch from 28f2374 to 257a2fe Nov 21, 2018

@Undin Undin added the feature label Dec 30, 2018

@vlad20012 vlad20012 force-pushed the vlad20012:macro-index branch from 257a2fe to f8cae63 Feb 1, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment