How many functions do you have in your #erlang / #elixirlang VM? Add extra security to your image handling

IntelliJ Elixir 10.0.1

  • Eliminate freezes when calculating Module and Library dependencies during project import and dependency updates.

    • Run library syncing in tasks: When importing projects, run sync as a modal task while when VirtualFileSystem events occur, run sync as background tasks. Either style of task is cancellable and importantly, it allows to show what is happening during the syncing. This converts the unresponsive UI beachball on macOS during import to an updating progress bar.
    • Calculate dep sets iteratively with a work queue instead of recursively to limit the calculation of dep set for a root to 1 time. Then use normal transitive walk to get complete dep set for module. Vastly speeds up project import.
    • Cache dep set on package PsiFile to allow faster refreshes when indirect dependencies don’t change.
  • Log nameSet when it reaches suspect size (10) to allow triaging if it is a real bug or just something with a lot of valid names.
  • Fix inverted condition around when to warn and when to error and use readAheadLength.

Installation Instructions

Shameless plug: Check out @elixirstatus' other community project:

Credo, a new static code analysis tool that acts as a code linter, but also focusses on teaching coding practices and code consistency.