diff --git a/.vscodeignore b/.vscodeignore index 93e28ff..2450088 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -1,3 +1,4 @@ +images/*.gif .vscode/** typings/** out/test/** diff --git a/README.md b/README.md index c1cc772..81f260d 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ Must be using Git and it must be in your path. ## Release Notes -### 0.3.0 +### 0.3.1 - Adds new CodeLens visibility & location settings -- see **Extension Settings** above for details - Adds new command to toggle CodeLens on and off when `gitlens.codeLens.visibility` is set to `ondemand` diff --git a/images/preview-blame.png b/images/preview-blame.png deleted file mode 100644 index 447f8c8..0000000 Binary files a/images/preview-blame.png and /dev/null differ diff --git a/images/preview-codelens.png b/images/preview-codelens.png deleted file mode 100644 index 4bb2c35..0000000 Binary files a/images/preview-codelens.png and /dev/null differ diff --git a/package.json b/package.json index a01e9b6..21c1fa7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gitlens", - "version": "0.3.0", + "version": "0.3.1", "author": { "name": "Eric Amodio", "email": "eamodio@gmail.com" @@ -195,7 +195,9 @@ ], "dependencies": { "ignore": "^3.1.5", - "lodash": "^4.15.0", + "lodash.debounce": "^4.0.8", + "lodash.escaperegexp": "^4.1.2", + "lodash.isequal": "^4.4.0", "moment": "^2.15.0", "spawn-rx": "^2.0.1", "tmp": "^0.0.29" diff --git a/src/gitCodeLensProvider.ts b/src/gitCodeLensProvider.ts index fa75e0e..c894d0e 100644 --- a/src/gitCodeLensProvider.ts +++ b/src/gitCodeLensProvider.ts @@ -3,9 +3,10 @@ import {CancellationToken, CodeLens, CodeLensProvider, commands, DocumentSelecto import {BuiltInCommands, Commands, DocumentSchemes, WorkspaceState} from './constants'; import {CodeLensCommand, CodeLensLocation, ICodeLensesConfig} from './configuration'; import GitProvider, {IGitBlame, IGitBlameLines, IGitCommit} from './gitProvider'; -import * as _ from 'lodash'; import * as moment from 'moment'; +const escapeRegExp = require('lodash.escapeRegExp'); + export class GitRecentChangeCodeLens extends CodeLens { constructor(private git: GitProvider, public fileName: string, public symbolKind: SymbolKind, public blameRange: Range, range: Range) { super(range); @@ -105,7 +106,7 @@ export default class GitCodeLensProvider implements CodeLensProvider { let startChar = -1; try { - startChar = line.text.search(`\\b${_.escapeRegExp(symbol.name)}\\b`); + startChar = line.text.search(`\\b${escapeRegExp(symbol.name)}\\b`); } catch (ex) { } if (startChar === -1) { diff --git a/src/gitProvider.ts b/src/gitProvider.ts index e0c5b57..3a64ad0 100644 --- a/src/gitProvider.ts +++ b/src/gitProvider.ts @@ -6,10 +6,12 @@ import GitCodeLensProvider from './gitCodeLensProvider'; import Git, {GitBlameParserEnricher, GitBlameFormat, GitCommit, IGitAuthor, IGitBlame, IGitBlameCommitLines, IGitBlameLine, IGitBlameLines, IGitCommit} from './git/git'; import * as fs from 'fs' import * as ignore from 'ignore'; -import * as _ from 'lodash'; import * as moment from 'moment'; import * as path from 'path'; +const debounce = require('lodash.debounce'); +const isEqual = require('lodash.isequal'); + export { Git }; export * from './git/git'; @@ -83,7 +85,7 @@ export default class GitProvider extends Disposable { private _onConfigure() { const config = workspace.getConfiguration().get('gitlens'); - if (!_.isEqual(config.codeLens, this._config && this._config.codeLens)) { + if (!isEqual(config.codeLens, this._config && this._config.codeLens)) { this._codeLensProviderDisposable && this._codeLensProviderDisposable.dispose(); if (config.codeLens.visibility === CodeLensVisibility.Auto && (config.codeLens.recentChange.enabled || config.codeLens.authors.enabled)) { this._codeLensProviderSelector = GitCodeLensProvider.selector; @@ -93,7 +95,7 @@ export default class GitProvider extends Disposable { } } - if (!_.isEqual(config.advanced, this._config && this._config.advanced)) { + if (!isEqual(config.advanced, this._config && this._config.advanced)) { if (config.advanced.caching.enabled) { // TODO: Cache needs to be cleared on file changes -- createFileSystemWatcher or timeout? this._blameCache = new Map(); @@ -103,7 +105,7 @@ export default class GitProvider extends Disposable { // TODO: Maybe stop clearing on close and instead limit to a certain number of recent blames disposables.push(workspace.onDidCloseTextDocument(d => this._removeCachedBlame(d, RemoveCacheReason.DocumentClosed))); - const removeCachedBlameFn = _.debounce(this._removeCachedBlame.bind(this), 2500); + const removeCachedBlameFn = debounce(this._removeCachedBlame.bind(this), 2500); disposables.push(workspace.onDidSaveTextDocument(d => removeCachedBlameFn(d, RemoveCacheReason.DocumentSaved))); disposables.push(workspace.onDidChangeTextDocument(e => removeCachedBlameFn(e.document, RemoveCacheReason.DocumentChanged)));