-
Notifications
You must be signed in to change notification settings - Fork 325
Codebase Outline
Michael Hutchison edited this page Apr 1, 2019
·
11 revisions
-
.github/
GitHub configuration files -
.vscode/
Visual Studio Code configuration files -
media/
Transpiled TypeScript output of theweb
folder, and stylesheets -
node_modules/
Required node modules installed by runningnpm install
-
out/
Transpiled TypeScript output ofsrc
folder -
resources/
Media resources (e.g. icon and readme animations) -
src/
Extension back end TypeScript files -
web/
Webview front end TypeScript files
-
config.ts
- Abstracts the Visual Studio Code workspace settings, providing default values for unset configuration variables.
-
dataSource.ts
- Executes Git commands and parses output into the corresponding output objects
-
diffDocProvider.ts
- Provides documents at specific commits, in order to view the commit file diff.
-
gitGraphView.ts
- Manages the creation of the webview
- Responsible for communication with the front end
-
extension.ts
- Registers the
git-graph.view
command, and triggers webview creation - Registers the text document content document provider for commit diff viewing
- Manages status bar icon
- Registers the
-
extensionState.ts
- Exposes get and set methods interfacing with the global and workspace Visual Studio Code extension Memento's
-
repoFileWatcher.ts
- Watches the current repository for file changes, triggering the view to refresh when needed.
- Debounces file system events so that if multiple files change at once, only a single refresh is triggered.
- Provides a mute/unmute mechanism so that git commands don't trigger an unnecessary view refresh.
-
repoFolderWatcher.ts
- Watches the current workspace folders to detect when repositories are added or removed, triggering the view to refresh when needed.
-
statusBarItem.ts
- Handles the creation of the Git Graph status bar item
- Shows/hides the status bar item depending on the configuration setting and whether the active workspace contains any git repositories.
-
main.ts
- Renders the front end (e.g. controls, commits, context menus, dialogs, ...)
- Responsible for communication with the back end
- Manages event listeners
-
graph.ts
- Graph generation and rendering
-
dropdown.ts
- Custom dropdown element respecting the Visual Studio Code colour scheme
If you have any questions about the content of this page, or anything related to Git Graph, please chat with us on Discord!
General Information:
Release Information:
Contributing Information:
If you have any questions about Git Graph, please chat with us on Discord!