From 05c774139a75752f8ac83711136d2f858e7a57f6 Mon Sep 17 00:00:00 2001 From: Rodrigo Fernandes Date: Sun, 9 Feb 2020 19:01:30 +0000 Subject: [PATCH] fix: Skip selection of structural lines in side diff --- src/__tests__/side-by-side-printer-tests.ts | 250 ++++++++++---------- src/side-by-side-renderer.ts | 4 +- src/templates/generic-line.mustache | 3 + src/ui/css/diff2html.css | 3 +- 4 files changed, 132 insertions(+), 128 deletions(-) diff --git a/src/__tests__/side-by-side-printer-tests.ts b/src/__tests__/side-by-side-printer-tests.ts index 9e1a7c0..0214e6f 100644 --- a/src/__tests__/side-by-side-printer-tests.ts +++ b/src/__tests__/side-by-side-printer-tests.ts @@ -78,81 +78,81 @@ describe('SideBySideRenderer', () => { const fileHtml = sideBySideRenderer.generateFileHtml(file); expect(fileHtml).toMatchInlineSnapshot(` - Object { - "left": " - - -
@@ -19,7 +19,7 @@
- - - - 19 - - -
-   - context -
- - - - 20 - - -
- - - removed -
- - - - - - -
-   -   -
- - ", - "right": " - - -
- - - - 19 - - -
-   - context -
- - - - 20 - - -
- + - added -
- - - - 21 - - -
- + - another added -
- - ", - } - `); +Object { + "left": " + + +
@@ -19,7 +19,7 @@
+ + + + 19 + + +
+   + context +
+ + + + 20 + + +
+ - + removed +
+ + + + + + +
+   +
+
+ +", + "right": " + + +
+ + + + 19 + + +
+   + context +
+ + + + 20 + + +
+ + + added +
+ + + + 21 + + +
+ + + another added +
+ +", +} +`); }); }); @@ -168,31 +168,31 @@ describe('SideBySideRenderer', () => { }); expect(fileHtml).toMatchInlineSnapshot(` - Object { - "left": " - - - - -
-   -   -
- - ", - "right": " - - 30 - - -
- + - test -
- - ", - } - `); +Object { + "left": " + + + + +
+   +
+
+ +", + "right": " + + 30 + + +
+ + + test +
+ +", +} +`); }); it('should work for deletions', () => { const hoganUtils = new HoganJsUtils({}); @@ -208,31 +208,31 @@ describe('SideBySideRenderer', () => { ); expect(fileHtml).toMatchInlineSnapshot(` - Object { - "left": " - - 30 - - -
- - - test -
- - ", - "right": " - - - - -
-   -   -
- - ", - } - `); +Object { + "left": " + + 30 + + +
+ - + test +
+ +", + "right": " + + + + +
+   +
+
+ +", +} +`); }); }); diff --git a/src/side-by-side-renderer.ts b/src/side-by-side-renderer.ts index 08209bf..cb9a791 100644 --- a/src/side-by-side-renderer.ts +++ b/src/side-by-side-renderer.ts @@ -285,8 +285,8 @@ export default class SideBySideRenderer { type: line?.type || `${renderUtils.CSSLineClass.CONTEXT} d2h-emptyplaceholder`, lineClass: line !== undefined ? lineClass : `${lineClass} d2h-code-side-emptyplaceholder`, contentClass: line !== undefined ? contentClass : `${contentClass} d2h-code-side-emptyplaceholder`, - prefix: line?.prefix === ' ' ? ' ' : line?.prefix || ' ', - content: line?.content || ' ', + prefix: line?.prefix === ' ' ? ' ' : line?.prefix, + content: line?.content, lineNumber: line?.number, }); } diff --git a/src/templates/generic-line.mustache b/src/templates/generic-line.mustache index dc5e056..37ed7a1 100644 --- a/src/templates/generic-line.mustache +++ b/src/templates/generic-line.mustache @@ -7,6 +7,9 @@ {{#prefix}} {{{prefix}}} {{/prefix}} + {{^prefix}} +   + {{/prefix}} {{#content}} {{{content}}} {{/content}} diff --git a/src/ui/css/diff2html.css b/src/ui/css/diff2html.css index 00ebae3..acd5db5 100644 --- a/src/ui/css/diff2html.css +++ b/src/ui/css/diff2html.css @@ -207,7 +207,8 @@ .d2h-code-linenumber, .d2h-code-side-linenumber, -.d2h-code-line-prefix { +.d2h-code-line-prefix, +.d2h-emptyplaceholder { user-select: none; }