expert-lsp / expert-lsp/expert

Future of elixir_sense integration

Open
#234 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Elixir
Stars
2.1k
Forks
113
Avg merge
1d 10h
Merged PRs (30d)
26

Description

I get the impression from my reading of the code (I've done quite a bit of digging around now) that elixir_sense is on the way out.

I wanted to see if I could make completion a more acceptable speed, and so I made a bunch of changes in elixir_sense to reduce redundant work, add caching for module and function lookups (invalidated based on file changes) and made a few smaller changes through the completion processing pipeline outside of elixir_sense too.

I got performance on my slow laptop from 300-600ms for a completion down to as low as 90 and generally around 100-150ms.

However I noticed there seems to be quite a lot of duplication of the things elixir_sense is doing, ast parsing, document handling etc. And with an overall much nicer design. Elixir_sense is still doing a lot for this work, despite it mostly already existing in the elixir_sense codebase.

Would I be correct in thinking that elixir_sense is being partially or full fazed out? Or at least altered to operate on the Forge ast and documents?

If so I'll focus on adding a module cache to the Env and passing that over to elixir_sense so it's easier to migrate away from it in future. I'll also see what I can do as far as avoiding redoing parsing work on the ES side.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.