From f11c00ceda58665f12ecf127cbd67cc4349ad2ce Mon Sep 17 00:00:00 2001 From: Eric Amodio <eamodio@gmail.com> Date: Thu, 17 Aug 2017 01:23:06 -0400 Subject: [PATCH] Changes the annotation line separator rendering --- CHANGELOG.md | 2 ++ README.md | 3 +-- package.json | 5 ----- src/annotations/annotations.ts | 13 ++++++------ src/annotations/gutterBlameAnnotationProvider.ts | 25 ++++++++++++++---------- src/configuration.ts | 7 ------- 6 files changed, 25 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 017b0d3..d889401 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,10 +13,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p ## Changed - Changes chat links from Gitter to [Slack](https://join.slack.com/t/vscode-gitlens/shared_invite/MjIxOTgxNDE3NzM0LTE1MDE2Nzk1MTgtMjkwMmZjMzcxNQ) +- Changes the look of the line separators on the gutter blame annotations ## Removed - Removes unneeded `gitlens.stashExplorer.enabled` configuration setting since users can add or remove custom views natively now - Removes unneeded `Toggle Git Stashed Explorer` command (`gitlens.stashExplorer.toggle`) since users can add or remove custom views natively now +- Removes the `gitlens.theme.annotations.file.hover.separateLines` configuration setting ## Fixed - Fixes jumpiness when opening a diff to a certain line diff --git a/README.md b/README.md index d2cde4e..6f82734 100644 --- a/README.md +++ b/README.md @@ -318,14 +318,13 @@ GitLens is highly customizable and provides many configuration settings to allow |Name | Description |-----|------------ -|`gitlens.theme.annotations.file.gutter.separateLines`|Specifies whether or not gutter blame annotations will be separated by a small gap +|`gitlens.theme.annotations.file.gutter.separateLines`|Specifies whether or not gutter blame annotations will have line separators |`gitlens.theme.annotations.file.gutter.dark.backgroundColor`|Specifies the dark theme background color of the gutter blame annotations |`gitlens.theme.annotations.file.gutter.light.backgroundColor`|Specifies the light theme background color of the gutter blame annotations |`gitlens.theme.annotations.file.gutter.dark.foregroundColor`|Specifies the dark theme foreground color of the gutter blame annotations |`gitlens.theme.annotations.file.gutter.light.foregroundColor`|Specifies the light theme foreground color of the gutter blame annotations |`gitlens.theme.annotations.file.gutter.dark.uncommittedForegroundColor`|Specifies the dark theme foreground color of an uncommitted line in the gutter blame annotations |`gitlens.theme.annotations.file.gutter.light.uncommittedForegroundColor`|Specifies the light theme foreground color of an uncommitted line in the gutter blame annotations -|`gitlens.theme.annotations.file.hover.separateLines`|Specifies whether or not hover blame annotations will be separated by a small gap (if heatmap is enabled) |`gitlens.theme.annotations.line.trailing.dark.backgroundColor`|Specifies the dark theme background color of the trailing blame annotation |`gitlens.theme.annotations.line.trailing.light.backgroundColor`|Specifies the light theme background color of the trailing blame annotation |`gitlens.theme.annotations.line.trailing.dark.foregroundColor`|Specifies the dark theme foreground color of the trailing blame annotation diff --git a/package.json b/package.json index df2802d..b6d444f 100644 --- a/package.json +++ b/package.json @@ -508,11 +508,6 @@ "default": "rgba(0, 188, 242, 0.6)", "description": "Specifies the light theme foreground color of an uncommitted line in the gutter blame annotations. Must be a valid css color" }, - "gitlens.theme.annotations.file.hover.separateLines": { - "type": "boolean", - "default": false, - "description": "Specifies whether or not hover blame annotations will be separated by a small gap (if heatmap is enabled)" - }, "gitlens.theme.annotations.line.trailing.dark.backgroundColor": { "type": "string", "default": null, diff --git a/src/annotations/annotations.ts b/src/annotations/annotations.ts index 47161c0..3ab73d6 100644 --- a/src/annotations/annotations.ts +++ b/src/annotations/annotations.ts @@ -142,17 +142,18 @@ export class Annotations { before: { borderStyle: borderStyle, borderWidth: borderWidth, - height: cfgFileTheme.separateLines ? 'calc(100% - 1px)' : '100%', - margin: '0 26px 0 0', - textDecoration: 'none' + height: '100%', + margin: '0 26px -1px 0' }, dark: { backgroundColor: cfgFileTheme.dark.backgroundColor || undefined, - color: cfgFileTheme.dark.foregroundColor || themeDefaults.annotations.file.gutter.dark.foregroundColor + color: cfgFileTheme.dark.foregroundColor || themeDefaults.annotations.file.gutter.dark.foregroundColor, + textDecoration: cfgFileTheme.separateLines ? 'overline solid rgba(0, 0, 0, .2)' : 'none' } as DecorationInstanceRenderOptions, light: { backgroundColor: cfgFileTheme.light.backgroundColor || undefined, - color: cfgFileTheme.light.foregroundColor || themeDefaults.annotations.file.gutter.light.foregroundColor + color: cfgFileTheme.light.foregroundColor || themeDefaults.annotations.file.gutter.light.foregroundColor, + textDecoration: cfgFileTheme.separateLines ? 'overline solid rgba(0, 0, 0, .05)' : 'none' } as DecorationInstanceRenderOptions } as IRenderOptions; } @@ -172,7 +173,7 @@ export class Annotations { borderStyle: 'solid', borderWidth: '0 0 0 2px', contentText: GlyphChars.ZeroWidthSpace, - height: cfgTheme.annotations.file.hover.separateLines ? 'calc(100% - 1px)' : '100%', + height: '100%', margin: '0 26px 0 0', textDecoration: 'none' } diff --git a/src/annotations/gutterBlameAnnotationProvider.ts b/src/annotations/gutterBlameAnnotationProvider.ts index 7816293..02d2001 100644 --- a/src/annotations/gutterBlameAnnotationProvider.ts +++ b/src/annotations/gutterBlameAnnotationProvider.ts @@ -36,6 +36,7 @@ export class GutterBlameAnnotationProvider extends BlameAnnotationProviderBase { const offset = this.uri.offset; const renderOptions = Annotations.gutterRenderOptions(this._config.theme, cfg.heatmap); const dateFormat = this._config.defaultDateFormat; + const separateLines = this._config.theme.annotations.file.gutter.separateLines; const decorations: DecorationOptions[] = []; const document = this.document; @@ -58,7 +59,18 @@ export class GutterBlameAnnotationProvider extends BlameAnnotationProviderBase { if (cfg.compact && !compacted) { // Since we are wiping out the contextText make sure to copy the objects gutter.renderOptions = { ...gutter.renderOptions }; - gutter.renderOptions.before = { ...gutter.renderOptions.before, ...{ contentText: GlyphChars.Space.repeat(gutter.renderOptions!.before!.contentText!.length) } }; // !.before!.contentText = GlyphChars.Space.repeat(gutter.renderOptions!.before!.contentText!.length); + gutter.renderOptions.before = { + ...gutter.renderOptions.before, + ...{ contentText: GlyphChars.Space.repeat(gutter.renderOptions!.before!.contentText!.length) } + }; + + if (separateLines) { + gutter.renderOptions.dark = { ...gutter.renderOptions.dark }; + gutter.renderOptions.dark.before = { ...gutter.renderOptions.dark.before, ...{ textDecoration: 'none' } }; + gutter.renderOptions.light = { ...gutter.renderOptions.light }; + gutter.renderOptions.light.before = { ...gutter.renderOptions.light.before, ...{ textDecoration: 'none' } }; + } + compacted = true; } @@ -78,16 +90,9 @@ export class GutterBlameAnnotationProvider extends BlameAnnotationProviderBase { } compacted = false; - gutter = Annotations.gutter(commit, cfg.format, options, renderOptions); + previousSha = l.sha; - // TODO: Remove this "if" once vscode 1.15 ships - since empty lines won't be "missing" anymore -- Woo! - if (cfg.compact) { - const isEmptyOrWhitespace = document.lineAt(line).isEmptyOrWhitespace; - previousSha = isEmptyOrWhitespace ? undefined : l.sha; - } - else { - previousSha = l.sha; - } + gutter = Annotations.gutter(commit, cfg.format, options, renderOptions); if (cfg.heatmap.enabled) { Annotations.applyHeatmap(gutter, commit.date, now); diff --git a/src/configuration.ts b/src/configuration.ts index f4cc20b..3d2709e 100644 --- a/src/configuration.ts +++ b/src/configuration.ts @@ -134,10 +134,6 @@ export interface IThemeConfig { uncommittedForegroundColor: string | null; }; }; - - hover: { - separateLines: boolean; - }; }; line: { @@ -181,9 +177,6 @@ export const themeDefaults: IThemeConfig = { foregroundColor: 'rgb(116, 116, 116)', uncommittedForegroundColor: null } - }, - hover: { - separateLines: false } }, line: {