-
-
Notifications
You must be signed in to change notification settings - Fork 617
feat: rewrite git management with sqlite #682
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
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
e556685
to
2a5cd54
Compare
56c231f
to
2237204
Compare
kyazdani42
referenced
this pull request
Oct 10, 2021
Colors groups and icons are now in diagnostics.lua. They are defined on setup which allows an easier configuration and better documentation. `lsp_diagnostics` boolean value has been moved into a table `diagnostics` with `enable` and `icons` as properties.
9650314
to
e389812
Compare
Closed
078a555
to
499e233
Compare
use `tami5/sqlite.nvim` to store git informations. Run git small commands in system and run git status management in a libuv job. This allows to fetch millions of status and add them partially in the database to avoid destroying the lua memory with huge tables. The paths can then be retrieved partially to apply updates.
also fix toggle ignored/hidden by disabling the clock
also fix git ignore impl (recursive)
499e233
to
bb320f9
Compare
also fix many small issues in lib regarding redraw logic, and remove the old M.Tree.loaded logic that wasn't useful and also remove some overkill redraw calls with full reload.
also refactor some code, remove match_name match_path properties from nodes because they are basically useless, better to use `vim.fn.stridx`
do not redraw when applying updates on git, only redraw when a new project is indexed.
closing because sqlite was too complex to handle compared to just running the job with a timeout. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
use
tami5/sqlite.lua
to store git informations.Run git small commands in
vim.fn.system
and run git status retrieval in alibuv
job.This allows to fetch millions of statuses and add them partially in the database to avoid destroying the lua memory with huge tables.
The paths can then be retrieved partially to apply updates.
partially addresses #549 and more i guess.
Also will allow for extending the git integration once renderer will be refactored. It'd be nicer to have more configuration over git display.
EDIT 11/10: also did some cleanup on the lib file, just noticed that a lot of reload are unecessary. I will need to rewrite the reload logic to avoid redrawing multiple times.
next steps:
rejected:
cannot reproduce the bug anymore, i changed the random impl to return a proper number string to avoid weird characters in filename that could potentially cause issues.
to do: