Skip to content

Feature/linter cache #611

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

Merged
merged 3 commits into from
Aug 14, 2022
Merged

Feature/linter cache #611

merged 3 commits into from
Aug 14, 2022

Conversation

gnikit
Copy link
Member

@gnikit gnikit commented Aug 12, 2022

Improves caching of paths, variables and glob patterns, while also generalising the caching framework.
This is meant to be merged into #591 to allow for more efficient resolution of linter and fypp include paths.

Also adds unittests for linting integration and caching.

gnikit added 2 commits August 12, 2022 18:36
We change the way caching is done. A class was created
that holds the globs and the resolved and expanded paths.

On the linter side, a `Map` (has `O(1)` access) is used to
store all the VS Code options that would need a cache e.g.
`cache.set('fortran.linter.option', new GlobPaths(globs))`.

Possible performance improvements:
- Use Sets instead of Arrays
- Prefetch certain directories

TODO:
- Add unittests for linter integration

No changes to the API have been done
Tests check that
- internal variables and glob patterns are resolved
- caching works as expected
@gnikit gnikit self-assigned this Aug 12, 2022
@gnikit gnikit merged commit 04bda89 into main Aug 14, 2022
@gnikit gnikit deleted the feature/linter-cache branch August 14, 2022 11:43
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