Commit Graph

6 Commits

Author SHA1 Message Date
Ruby Allison Rose
967d63bb5e fix(git-diff): Now targets the closest parent repo to the open file.
Initial fix to `helpers` done by Utkarsh, Spec written by me.
Co-authored-by: Utkarsh Gupta <utkarshgupta137@gmail.com>
2022-01-02 16:38:49 -08:00
Kent
2c9eea82f4 fixed edtior typo 2021-06-04 21:20:13 +08:00
Ruby Allison Rose
b079194478 Fix git diff subscriptions (#21968)
The startup script now uses a `Set` to manage `GitDiffView`s held in memory and destroy them when `deactivate` is called.
There are now four major subscription blocks. 
1. The outer subscriptions held by `activate`.
2. The per-editor subscriptions held within `activate`.
3. The per-editor repository event subscriptions held within each `GitDIffView` instance.
4. The per-editor modification event subscriptions held within each `GitDiffView` are only active when the editor content is bound to a valid git repository.

Teardowns of any editor or the module now result in `disposal` of the respective editor's subscriptions or all subscriptions authored within the module.

I removed some of `GitDiffView`'s unnecessary methods such as the `start`, `cancleUpdate`, `addDecoration` and `removeDecorations`;
The last two methods were combined into the body of `updateDiffs`.
`scheduleUpdate` now calls `requestAnimationFrame` instead of `setImmediate` because it's native, standard, and yields
to other more important browser processes. I know Atom Core implements setImmediate, but rAF seems to work just as fast if not faster.
The memory management of the editor markers and diffs have been joined using a WeakMap. When the diffs are destroyed,
so too are the editor markers.
Finally, I added the `destroy` method to handle the teardown of subscriptions and other destroyable objects contained within the `GitDiffViews` before object release.
2021-03-08 21:12:07 +03:00
Rafael Oleza
7f3f040628 Reformat all JS files using prettier 2019-05-31 18:33:56 +02:00
Rafael Oleza
7e23d4dc7a Run prettier on packages/ folder 2019-02-25 12:19:44 +01:00
Max Brunsfeld
de64cb666d ➡️ Migrate core package 'git-diff' into ./packages 2018-09-06 14:31:10 -07:00