Git Product home page Git Product logo

split-diff's Introduction

split-diff Installs! Version! License

Diffs text between two split panes. New panes are created if less than two panes exist upon run of the package.

** Supports diffing recent git changes! **

split-diff in action

Minimap Plugin

Get the split-diff minimap plugin to make it easier to spot differences.

Usage

Commands

You can call any of these commands from your own custom keybinding, simply override the command in your keymap.cson!

Command Effect Default Keymaps
Toggle split-diff:toggle Toggles a diff of the text between two side-by-side panes. Creates panes as necessary. Displays git changes if there is a repository found. ctrl-alt-t,
ctrl-alt-d (linux)
Enable split-diff:enable Enables a diff of the text between two side-by-side panes. Creates panes as necessary. Displays git changes if there is a repository found. ...
Disable split-diff:disable Disables a diff. Removes any panes that were created by this package. ...
Set Ignore Whitespace split-diff:set-ignore-whitespace Toggles the Ignore Whitespace setting. ...
Set Auto Diff split-diff:set-auto-diff Toggles the Auto Diff setting. ...
Move to Next Diff split-diff:next-diff Highlights the next difference. Moves the cursor so it can be easily copied. ctrl-alt-n
Move to Previous Diff split-diff:prev-diff Highlights the previous difference. Moves the cursor so it can be easily copied. ctrl-alt-p
Copy to Right split-diff:copy-to-right Copies all differences containing a cursor to the right pane. ctrl-alt-.
Copy to Left split-diff:copy-to-left Copies all differences containing a cursor to the left pane. ctrl-alt-,

Settings

  • Auto Diff - Automatically recalculates the diff when one of the editors changes.
  • Show Word Diff - Diffs the words between each line when this box is checked.
  • Ignore Whitespace - Will not diff whitespace when this box is checked.
  • Mute Notifications - Mutes all warning notifications when this box is checked.
  • Remove Soft Wrap - Removes soft wrap during diff - restores when finished.
  • Hide Docks - Hides all docks (Tree View, Github, etc) during diff - shows when finished.
  • Sync Scrolling - Syncs the scrolling of the editors.

Colors

  • Added Color Side - Which editor (left or right) to highlight as added. The opposite editor will be highlighted as removed.
  • Override Highlight Colors - Whether to override diff colors derived from the current syntax theme.
  • Added Custom Color - The color that will be used when overriding added highlight colors.
  • Removed Custom Color - The color that will be used when overriding removed highlight colors.

Service API

Packages can consume the split-diff service to do things like enable a diff between two editors.

/**
 * Getter for the marker layers of each editor being diffed.
 * @return {Promise} A promise that resolves to an object containing the marker layers.
 */
getMarkerLayers();

/**
 * Enables split-diff between the two given editors.
 * @param {TextEditor} editor1 - The left editor.
 * @param {TextEditor} editor2 - The right editor.
 * @param {object} options - Options to override any package setting.
 */
diffEditors(editor1, editor2, options);

/**
 * Disables split-diff.
 */
disable();

split-diff's People

Contributors

greenek avatar itiut avatar jerrykal avatar lwblackledge avatar moritamori avatar mupchrch avatar skylerlee avatar valepu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

split-diff's Issues

Add ability to give/receive diff between panes

I think it would be a good feature to be able to move diff'd hunks between panes. i.e. when performing a diff i would like to be able to to make the hunk in the right pane the same as the left (removing the difference) or vice versa.

Uncaught TypeError: Cannot read property 'softTabs' of undefined

[Enter steps to reproduce below:]

  1. Two files to compare are opened - and only these two files
  2. Select Packages -> Split-Diff -> Diff Panes

Atom Version: 0.186.0
System: linux 4.2.8-200.fc22.x86_64
Thrown From: split-diff package, v0.5.0

Stack Trace

Uncaught TypeError: Cannot read property 'softTabs' of undefined

At /usr/share/atom/resources/app/src/text-editor.js:77

TypeError: Cannot read property 'softTabs' of undefined
  at new TextEditor (/usr/share/atom/resources/app/src/text-editor.js:77:27)
  at Object.module.exports.SplitDiff.getVisibleEditors (/home/wojtek/.atom/packages/split-diff/lib/split-diff.coffee:57:21)
  at Object.module.exports.SplitDiff.diffPanes (/home/wojtek/.atom/packages/split-diff/lib/split-diff.coffee:72:16)
  at atom-workspace.subscriptions.add.atom.commands.add.split-diff:diffPanes (/home/wojtek/.atom/packages/split-diff/lib/split-diff.coffee:22:35)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app/src/command-registry.js:243:29)
  at CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app/src/command-registry.js:3:61)
  at CommandRegistry.module.exports.CommandRegistry.dispatch (/usr/share/atom/resources/app/src/command-registry.js:156:19)
  at EventEmitter.<anonymous> (/usr/share/atom/resources/app/src/window-event-handler.js:75:30)
  at EventEmitter.emit (events.js:116:17)

Commands

 15x -4:22.0 core:backspace (atom-text-editor.editor.mini)
     -4:05.5 core:confirm (atom-text-editor.editor.mini)
 15x -1:34.2 core:select-left (atom-text-editor.editor.mini)
     -1:31.2 core:confirm (atom-text-editor.editor.mini)
     -0:21.3 split-diff:diffPanes (div.settings-view.pane-item)
     -0:11.9 core:cancel (div.settings-view.pane-item)
     -0:00.3 split-diff:diffPanes (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "audioBeep": false
  }
}

Installed Packages

# User
language-powershell, v2.1.0
minimap-split-diff, v0.3.0
split-diff, v0.5.0

# Dev
No dev packages

Uncaught TypeError: Cannot read property 'clipScreenColumn' of undefined

I'm not sure if this is a split-diff bug or Atom bug. I got this error while diffing text with long lines.

nov 09 2015 13 11

  1. Enter split diff view
  2. Paste a long line of text to pane A (so that it wraps on a new line)
  3. In pane B, insert a newline followed by the same line of text you put in pane A
  4. The error should appear

Atom Version: 1.1.0
System: Mac OS X 10.11
Thrown From: Atom Core

Stack Trace

Uncaught TypeError: Cannot read property 'clipScreenColumn' of undefined

At /Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:784

TypeError: Cannot read property 'clipScreenColumn' of undefined
  at DisplayBuffer.module.exports.DisplayBuffer.clipScreenPosition (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:784:55)
  at DisplayBuffer.module.exports.DisplayBuffer.screenPositionForBufferPosition (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:713:19)
  at DisplayBuffer.module.exports.DisplayBuffer.screenRangeForBufferRange (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:646:20)
  at Marker.module.exports.Marker.getScreenRange (/Applications/Atom.app/Contents/Resources/app.asar/src/marker.js:139:33)
  at TextEditorPresenter.module.exports.TextEditorPresenter.fetchDecorations (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-presenter.js:1597:48)
  at TextEditorPresenter.module.exports.TextEditorPresenter.getPreMeasurementState (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-presenter.js:116:14)
  at LinesYardstick.module.exports.LinesYardstick.prepareScreenRowsForMeasurement (/Applications/Atom.app/Contents/Resources/app.asar/src/lines-yardstick.js:24:63)
  at TextEditorPresenter.module.exports.TextEditorPresenter.getState (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-presenter.js:183:27)
  at TextEditorComponent.module.exports.TextEditorComponent.updateSync (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-component.js:196:38)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-component.js:298:28
  at ViewRegistry.module.exports.ViewRegistry.performDocumentUpdate (/Applications/Atom.app/Contents/Resources/app.asar/src/view-registry.js:174:9)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/view-registry.js:3:61

Commands

     -0:30.1.0 core:select-all (atom-text-editor.editor.is-focused)
     -0:29.8.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:28.5.0 core:select-all (atom-text-editor.editor)
     -0:28 core:backspace (atom-text-editor.editor)
     -0:26.4.0 core:select-all (atom-text-editor.editor)
  2x -0:26 core:backspace (atom-text-editor.editor)
     -0:23.4.0 application:new-file (atom-text-editor.editor.is-focused)
     -0:20.3.0 tabs:split-left (li.tab.sortable.active.right-clicked)
     -0:15.2.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:13.7.0 command-palette:toggle (atom-text-editor.editor.is-focused)
  2x -0:12.8.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -0:10.3.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:10.3.0 split-diff:diffPanes (atom-text-editor.editor)
     -0:04.7.0 core:paste (atom-text-editor.editor.is-focused)
     -0:03.5.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:03.3.0 core:paste (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "symbols-view",
      "autocomplete-emojis",
      "autocomplete-plus",
      "linter-rubocop",
      "vim-mode"
    ]
  },
  "editor": {
    "invisibles": {},
    "scrollPastEnd": true,
    "softWrap": true,
    "fontSize": 13
  }
}

Installed Packages

# User
Sublime-Style-Column-Selection, v1.3.0
git-log, v0.4.1
language-haskell, v1.4.11
language-puppet, v0.15.0
language-terraform, v0.6.0
last-cursor-position, v0.9.0
linter, v1.8.1
linter-ruby, v1.2.0
minimap, v4.15.0
minimap-find-and-replace, v4.3.1
minimap-git-diff, v4.1.8
split-diff, v0.4.4
tasks, v2.4.0

# Dev
No dev packages

Refactor to use new block decorations in Atom 1.6

Now that Atom 1.6 has introduced block decorations, we can use this instead of the hacky fake soft-wrapped lines.

Will need to think about how this would affect people running on older versions.

Uncaught Error: This TextEditor has been destroyed

  1. Create split diff view with two editor panes
  2. Close one editor pane without stopping split diff view

Atom Version: 1.5.0
System: Mac OS X 10.11
Thrown From: split-diff package, v0.5.5

Stack Trace

Uncaught Error: This TextEditor has been destroyed

At /Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:790

Error: This TextEditor has been destroyed
    at DisplayBuffer.module.exports.DisplayBuffer.screenPositionForBufferPosition (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:790:15)
    at TextEditorMarker.module.exports.TextEditorMarker.getHeadScreenPosition (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-marker.js:179:33)
    at TextEditorMarker.module.exports.TextEditorMarker.notifyObservers (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-marker.js:240:36)
    at TextEditorMarkerLayer.module.exports.TextEditorMarkerLayer.refreshMarkerScreenPositions (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-marker-layer.js:128:16)
    at DisplayBuffer.module.exports.DisplayBuffer.refreshMarkerScreenPositions (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:1155:15)
    at DisplayBuffer.module.exports.DisplayBuffer.emitDidChange (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:315:14)
    at DisplayBuffer.module.exports.DisplayBuffer.updateWrappedScreenLines (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:327:19)
    at DisplayBuffer.module.exports.DisplayBuffer.setSoftWrapped (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:472:14)
    at TextEditor.module.exports.TextEditor.setSoftWrapped (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:2321:33)
    at DiffViewEditor.enableSoftWrap (/Users/Iain/.atom/packages/split-diff/lib/build-lines.js:122:18)
    at Object.module.exports.SplitDiff.disable (/Users/Iain/.atom/packages/split-diff/lib/split-diff.coffee:132:24)
    at /Users/Iain/.atom/packages/split-diff/lib/split-diff.coffee:97:8
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
    at TextEditor.module.exports.TextEditor.destroyed (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:254:27)
    at TextEditor.module.exports.Model.destroy (/Applications/Atom.app/Contents/Resources/app.asar/src/model.js:31:58)
    at Pane.module.exports.Pane.destroyItem (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:466:18)
    at Pane.module.exports.Pane.destroyActiveItem (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:444:12)
    at Workspace.module.exports.Workspace.destroyActivePaneItem (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:657:35)
    at Workspace.module.exports.Workspace.closeActivePaneItemOrEmptyPaneOrWindow (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:696:21)
    at atom-workspace.commandRegistry.add.core:close (/Applications/Atom.app/Contents/Resources/app.asar/src/register-default-commands.js:170:32)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:536:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:359:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:97:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -0:22.2.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:20.4.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:20.4.0 split-diff:enable (atom-text-editor.editor)
     -0:12.8.0 core:copy (atom-text-editor.editor.is-focused)
     -0:11.2.0 core:paste (atom-text-editor.editor.is-focused)
     -0:06.2.0 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
     -0:05.9.0 refactor:done (atom-text-editor.editor.is-focused)
     -0:05.9.0 docblockr:parse-enter (atom-text-editor.editor.is-focused)
     -0:05.9.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:01.4.0 core:close (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "destroyEmptyPanes": false,
    "ignoredNames": [
      ".git",
      ".hg",
      ".svn",
      ".DS_Store",
      "._*",
      "Thumbs.db",
      ".idea",
      ".cache",
      "node_modules",
      "php/vendor"
    ],
    "openEmptyEditorOnStart": false,
    "themes": [
      "one-dark-ui",
      "monokai-seti"
    ]
  },
  "split-diff": {
    "ignoreWhitespace": true
  }
}

Installed Packages

# User
auto-update-packages, v1.0.0
autoclose-html, v0.20.0
docblockr, v0.7.3
emmet, v2.4.1
file-types, v0.5.1
highlight-selected, v0.11.2
html-entities, v0.4.0
js-refactor, v0.6.0
language-api-blueprint, v1.0.2
language-svg, v0.9.0
linter, v1.11.3
minimap, v4.19.0
minimap-pigments, v0.1.7
monokai-seti, v0.7.0
php-integrator-annotations, v0.2.4
php-integrator-autocomplete-plus, v0.5.1
php-integrator-base, v0.5.3
php-integrator-navigation, v0.4.0
php-integrator-tooltips, v0.3.1
php-twig, v4.0.0
pigments, v0.23.1
refactor, v0.6.0
split-diff, v0.5.5
tool-bar, v0.2.0

# Dev
No dev packages

Cannot run split diff, missing 'space-pen'

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.4.0
System: Microsoft Windows 7 Enterprise
Thrown From: split-diff package, v0.5.3

Stack Trace

Failed to activate the split-diff package

At Cannot find module 'space-pen'

Error: Cannot find module 'space-pen'
    at Module._resolveFilename (module.js:336:15)
    at Function.Module._resolveFilename (D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\src\module-cache.js:383:52)
    at Function.Module._load (module.js:286:25)
    at Module.require (module.js:365:17)
    at require (D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\src\native-compile-cache.js:50:27)
    at Object.<anonymous> (file:///C:/Users/yannie/.atom/packages/split-diff-master/lib/split-diff.coffee:2:7)
    at Object.<anonymous> (file:///C:/Users/yannie/.atom/packages/split-diff-master/lib/split-diff.coffee:1:1)
    at Module._compile (D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\src\native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .coffee] (D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\src\compile-cache.js:208:21)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\src\native-compile-cache.js:50:27)
    at Package.module.exports.Package.requireMainModule (D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\src\package.js:721:27)
    at Package.module.exports.Package.activateNow (D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\src\package.js:173:16)
    at D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\src\package.js:801:25
    at Function.module.exports.Emitter.simpleDispatch (D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\node_modules\event-kit\lib\emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\node_modules\event-kit\lib\emitter.js:125:28)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\src\command-registry.js:241:20)
    at CommandRegistry.handleCommandEvent (D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\src\command-registry.js:3:61)
    at CommandRegistry.module.exports.CommandRegistry.dispatch (D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\src\command-registry.js:160:19)
    at AtomEnvironment.module.exports.AtomEnvironment.dispatchApplicationMenuCommand (D:\Users\yannie.NET\AppData\Local\atom\app-1.4.0\resources\app.asar\src\atom-environment.js:1013:28)
    at emitOne (events.js:77:13)
    at EventEmitter.emit (events.js:169:7)

Commands

     -0:29 split-diff:diffPanes (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "atom-dark-ui",
      "monokai-slate"
    ]
  }
}

Installed Packages

# User
language-latex, v0.6.1
monokai-slate, v0.5.0

# Dev
No dev packages

I am trying to compare two Latex code I wrote. I am new to Atom and got this error.

Copy to left / copy to right buttons UI question

Does anyone have input about which order the copy to left / copy to right buttons should be in?

image

vs.

image

For usability reasons, should the copy to right button be closer to the left editor? Or should the arrows remain facing outward?


Also, should the buttons have text so they are easier to understand?

image

Broken in Atom-Beta 1.7

Hi,

I'm not sure if this is expected behavior, but I could not get this to work with the Atom Beta 1.7. It would flash momentarily, and then the diff highlights would disappear again.

It does work on Atom 1.54 though (and it's really helpful)

  • Thanks.

Next/Previous Diff starts from beginning of file after change

(First time bringing up an issue, so sorry if I do something wrong)

When using Move to Next/Prev Diff commands, if you make a change to the file you are editing, and try to find the Next Diff, it starts back at the first diff of the file.

Expected behavior would be to move to the diff after the change.

Uncaught TypeError: Cannot read property 'deselectAllLines' of null

[Enter steps to reproduce below:]

  1. Call the "diff panes" command
  2. Disable split diff (either close a tab or call "disable")
  3. Call move to next/prev diff command (either one will work)
  4. Get exception

Atom Version: 1.3.2
System: Mac OS X 10.10.5
Thrown From: split-diff package, v0.5.0

Stack Trace

Uncaught TypeError: Cannot read property 'deselectAllLines' of null

At /Users/upchm/github/split-diff/lib/split-diff.coffee:142

TypeError: Cannot read property 'deselectAllLines' of null
    at Object.module.exports.SplitDiff.selectDiffs (/Users/upchm/github/split-diff/lib/split-diff.coffee:142:21)
    at Object.module.exports.SplitDiff.nextDiff (/Users/upchm/github/split-diff/lib/split-diff.coffee:128:6)
    at atom-workspace.subscriptions.add.atom.commands.add.split-diff:nextDiff (/Users/upchm/github/split-diff/lib/split-diff.coffee:23:34)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61)
    at CommandRegistry.module.exports.CommandRegistry.dispatch (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:160:19)
    at AtomEnvironment.module.exports.AtomEnvironment.dispatchContextMenuCommand (/Applications/Atom.app/Contents/Resources/app.asar/src/atom-environment.js:1016:28)
    at emitTwo (events.js:87:13)
    at EventEmitter.emit (events.js:172:7)
    at EventEmitter.ipc.sendSync (/Applications/Atom.app/Contents/Resources/atom.asar/renderer/api/lib/ipc.js:21:31)
    at BrowserWindow.RemoteMemberFunction [as emit] (/Applications/Atom.app/Contents/Resources/atom.asar/renderer/api/lib/remote.js:143:29)
    at ContextMenuManager.module.exports.ContextMenuManager.showForEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/context-menu-manager.js:156:33)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentContextmenu (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:250:47)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -0:05.0 split-diff:diffPanes (atom-text-editor.editor.is-focused)
     -0:01.2.0 split-diff:nextDiff (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "seti-ui",
      "pegasus-syntax"
    ],
    "openEmptyEditorOnStart": false
  },
  "split-diff": {}
}

Installed Packages

# User
color-picker, v2.0.14
highlight-selected, v0.11.1
minimap, v4.19.0
minimap-find-and-replace, v4.4.0
minimap-highlight-selected, v4.3.1
minimap-selection, v4.3.1
minimap-split-diff, v0.3.0
pegasus-syntax, v0.1.0
pigments, v0.19.5
seti-ui, v0.8.1
split-diff, v0.5.0

# Dev
No dev packages

[Windows] undefined is not a function - atom.workspace.isTextEditor

Split-diff does not work on Windows because of this error. It fires in getVisibleEditors when trying to determine if the active pane item is a TextEditor.

Looking at atom.workspace.getTextEditors, a better option might be to use instanceof:

if (activeItem instanceof TextEditor) {

I'll make a PR with the suggested change, but I tested this on Windows by modifying the file directly and it fixed my issue.

Uncaught TypeError: Cannot read property 'split' of null

[Enter steps to reproduce below:]

  1. Open one file in Atom editor.
  2. Have only one Pane open with one file open.
  3. Choose Packages -> Split Diff -> Toggle menu option.
  4. Crash occurs.

Atom Version: 1.7.2
System: Mac OS X 10.11.4
Thrown From: split-diff package, v0.7.4

Stack Trace

Uncaught TypeError: Cannot read property 'split' of null

At /Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:833

TypeError: Cannot read property 'split' of null
    at Function.module.exports.Range.fromText (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/range.js:47:19)
    at TextBuffer.module.exports.TextBuffer.setTextInRange (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:588:24)
    at /Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:576:26
    at TextBuffer.module.exports.TextBuffer.transact (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:828:18)
    at TextBuffer.module.exports.TextBuffer.setTextInRange (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:574:21)
    at TextBuffer.module.exports.TextBuffer.setText (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:514:19)
    at TextEditor.module.exports.TextEditor.setText (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:810:26)
    at Object.module.exports.SplitDiff.getVisibleEditors (/Users/kcole/.atom/packages/split-diff/lib/split-diff.coffee:77:21)
    at Object.module.exports.SplitDiff.diffPanes (/Users/kcole/.atom/packages/split-diff/lib/split-diff.coffee:108:16)
    at Object.module.exports.SplitDiff.toggle (/Users/kcole/.atom/packages/split-diff/lib/split-diff.coffee:400:8)
    at atom-workspace.subscriptions.add.atom.commands.add.split-diff:toggle (/Users/kcole/.atom/packages/split-diff/lib/split-diff.coffee:34:32)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61)
    at CommandRegistry.module.exports.CommandRegistry.dispatch (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:160:19)
    at AtomEnvironment.module.exports.AtomEnvironment.dispatchApplicationMenuCommand (/Applications/Atom.app/Contents/Resources/app.asar/src/atom-environment.js:1100:28)
    at EventEmitter.outerCallback (/Applications/Atom.app/Contents/Resources/app.asar/src/application-delegate.js:314:25)
    at emitTwo (events.js:87:13)
    at EventEmitter.emit (events.js:172:7)

Commands

     -0:00.9.0 split-diff:toggle (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "atom-dark-ui",
      "atom-dark-syntax"
    ]
  }
}

Installed Packages

# User
atom-jinja2, v0.5.0
split-diff, v0.7.4

# Dev
No dev packages

Next/Prev diff command should move cursor with it

"split-diff:next-diff" and "split-diff:prev-diff" commands should move the cursor along with them. This would make using the "split-diff:copy-to-right" and "split-diff:copy-to-left" commands work in conjunction with the highlighting that comes from next/prev.

Uncaught Error: Cannot find module './split-diff-compute'

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.7.2
System: Mac OS X 10.10.5
Thrown From: split-diff package, v0.7.5

Stack Trace

Uncaught Error: Cannot find module './split-diff-compute'

At module.js:340

Error: Cannot find module './split-diff-compute'
    at Module._resolveFilename (module.js:338:15)
    at Function.Module._resolveFilename (/Applications/Atom.app/Contents/Resources/app.asar/src/module-cache.js:383:52)
    at Function.Module._load (module.js:289:25)
    at Module.require (module.js:366:17)
    at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.module.exports.SplitDiff.updateDiff (/Users/paa/.atom/packages/split-diff/lib/split-diff.coffee:9:3)
    at Object.module.exports.SplitDiff.diffPanes (/Users/paa/.atom/packages/split-diff/lib/split-diff.coffee:128:59)
    at atom-workspace.subscriptions.add.atom.commands.add.split-diff:enable (/Users/paa/.atom/packages/split-diff/lib/split-diff.coffee:29:5)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/command-palette/lib/command-palette-view.js:183:32)
    at CommandPaletteView.module.exports.SelectListView.confirmSelection (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:338:21)
    at space-pen-div.atom.commands.add.core:confirm (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -1:16.6.0 core:move-left (atom-text-editor.editor.is-focused)
     -1:14.4.0 core:move-right (atom-text-editor.editor.is-focused)
  4x -1:12.4.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:53.6.0 core:move-right (atom-text-editor.editor.is-focused)
  8x -0:53.1.0 core:move-left (atom-text-editor.editor.is-focused)
     -0:51.5.0 core:move-right (atom-text-editor.editor.is-focused)
     -0:51.3.0 core:move-left (atom-text-editor.editor.is-focused)
 10x -0:49.7.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:12.2.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:05.9.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -0:05.5.0 core:move-up (atom-text-editor.editor.mini.is-focused)
  9x -0:04.1.0 core:move-down (atom-text-editor.editor.mini.is-focused)
  4x -0:03.2.0 core:move-up (atom-text-editor.editor.mini.is-focused)
  3x -0:02.7.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -0:01.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:01.7.0 split-diff:enable (atom-text-editor.editor)

Config

{
  "core": {
    "audioBeep": false,
    "disabledPackages": [
      "atom-lint",
      "atom-lint",
      "atom-lint",
      "file-watcher",
      "nuclide-file-watcher",
      "linter-python-pep257",
      "python-indent",
      "save-session"
    ],
    "themes": [
      "one-dark-ui",
      "monokai"
    ]
  }
}

Installed Packages

# User
atom-beautify, v0.29.7
atom-pair, v2.0.10
build-make, v0.9.0
cucumber, v0.5.0
formatter, v2.12.3
git-tab-status, v1.9.2
language-diff, v0.4.0
language-gherkin, v1.0.3
language-haml, v0.24.0
language-x86asm, v0.8.0
linter, v1.11.4
linter-clang, v3.4.4
linter-cpplint, v1.0.1
linter-gcc, v0.6.12
linter-pep8, v1.2.1
linter-python-pep8, v0.2.0
linter-python-pyflakes, v0.1.0
linter-rubocop, v0.4.7
merge-conflicts, v1.4.2
minimap-split-diff, v0.3.0
monokai, v0.18.0
pain-split, v1.4.0
pretty-json, v1.0.3
rubocop-auto-correct, v1.2.0
ruby-slim, v0.2.0
split-diff, v0.7.5
ssh-config, v0.10.1
travis-ci-status, v1.0.0

# Dev
No dev packages

New pane should open with same line ending (same files are shown as different)

I recently started using split-diff in atom and there's a problem which raises it's head too often to ignore;
If I select an entire text file, copy it, then open split-diff and paste the contents to the right pane, sometimes it shows the right pane to be almost entirely different from the left (screenshot). Also, the left pane is suspiciously green...

How can this even happen?

Uncaught TypeError: Cannot read property 'length' of undefined

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.7.3
System: Ubuntu 16.04
Thrown From: split-diff package, v0.8.3

Stack Trace

Uncaught TypeError: Cannot read property 'length' of undefined

At /home/marinetech/.atom/packages/split-diff/lib/build-lines.js:111

TypeError: Cannot read property 'length' of undefined
    at DiffViewEditor.setWordHighlights (/home/marinetech/.atom/packages/split-diff/lib/build-lines.js:111:112)
    at Object.<anonymous> (/home/marinetech/.atom/packages/split-diff/lib/split-diff.coffee:503:30)
    at Object.module.exports.SplitDiff._highlightWordDiff (/home/marinetech/.atom/packages/split-diff/lib/split-diff.coffee:499:9)
    at Object.module.exports.SplitDiff._resumeUpdateDiff (/home/marinetech/.atom/packages/split-diff/lib/split-diff.coffee:245:8)
    at /home/marinetech/.atom/packages/split-diff/lib/split-diff.coffee:229:10
    at triggerExitCallback (/opt/atom/resources/app.asar/src/buffered-process.js:215:47)
    at /opt/atom/resources/app.asar/src/buffered-process.js:229:18
    at Socket.<anonymous> (/opt/atom/resources/app.asar/src/buffered-process.js:100:18)
    at emitOne (events.js:82:20)
    at Socket.emit (events.js:169:7)
    at Pipe._onclose (net.js:469:12)

Commands

     -4:55.9.0 platformio-ide:maintenance.serial-monitor (atom-text-editor.editor)
     -4:54.3.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -4:54.3.0 core:cancel (atom-text-editor.editor.is-focused)
     -4:48.4.0 application:show-settings (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
     -4:43.6.0 core:paste (atom-text-editor.editor.mini.is-focused)
 13x -4:40.8.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -4:11.4.0 core:paste (atom-text-editor.editor.mini.is-focused)
  4x -4:08.3.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -3:30.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -3:10.6.0 core:backspace (atom-text-editor.editor.mini.is-focused)
  2x -3:09.9.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -1:44.8.0 core:save (atom-text-editor.editor.is-focused)
     -1:31.4.0 tree-view:move (span.name.icon.icon-file-text)
     -1:28 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:11.5.0 split-diff:toggle (atom-text-editor.editor.is-focused)
  2x -0:01.3.0 core:delete (atom-text-editor.editor.is-focused)

Config

{}

Installed Packages

# User
autocomplete-clang, v0.9.3
build, v0.63.0
language-ini, v1.16.0
linter, v1.11.4
linter-gcc, v0.6.14
minimap-split-diff, v0.3.0
platformio-ide, v1.2.2
platformio-ide-terminal, v2.0.9
split-diff, v0.8.3
tool-bar, v0.4.0

# Dev
No dev packages

Uncaught TypeError: Cannot read property 'setScrollTop' of null

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.1.0
System: Mac OS X 10.11.1
Thrown From: split-diff package, v0.4.4

Stack Trace

Uncaught TypeError: Cannot read property 'setScrollTop' of null

At /Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-element.js:315

TypeError: Cannot read property 'setScrollTop' of null
  at atom-text-editor.TextEditorElement.setScrollTop (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-element.js:315:28)
  at TextEditor.module.exports.TextEditor.setScrollTop (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:2799:39)
  at SyncScroll._scrollPositionChanged (/Users/iyanello/.atom/packages/split-diff/lib/sync-scroll.js:46:19)
  at /Users/iyanello/.atom/packages/split-diff/lib/sync-scroll.js:29:22
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:86:11)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-element.js:105:47
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:86:11)
  at TextEditorPresenter.module.exports.TextEditorPresenter.updateScrollTop (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-presenter.js:1028:29)
  at TextEditorPresenter.module.exports.TextEditorPresenter.commitPendingScrollTopPosition (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-presenter.js:2056:14)
  at TextEditorPresenter.module.exports.TextEditorPresenter.getPreMeasurementState (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-presenter.js:110:12)
  at LinesYardstick.module.exports.LinesYardstick.prepareScreenRowsForMeasurement (/Applications/Atom.app/Contents/Resources/app.asar/src/lines-yardstick.js:24:63)
  at TextEditorPresenter.module.exports.TextEditorPresenter.getState (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-presenter.js:183:27)
  at TextEditorComponent.module.exports.TextEditorComponent.updateSync (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-component.js:196:38)
  at TextEditorComponent.module.exports.TextEditorComponent.becameVisible (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-component.js:278:21)
  at TextEditorComponent.module.exports.TextEditorComponent.checkForVisibilityChange (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-component.js:929:16)
  at atom-text-editor.TextEditorElement.attachedCallback (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-element.js:87:22)
  at atom-pane-container.module.exports.PaneContainerElement.rootChanged (/Applications/Atom.app/Contents/Resources/app.asar/src/pane-container-element.js:38:14)
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:86:11)
  at PaneContainer.module.exports.PaneContainer.setRoot (/Applications/Atom.app/Contents/Resources/app.asar/src/pane-container.js:165:20)
  at PaneContainer.module.exports.PaneContainer.replaceChild (/Applications/Atom.app/Contents/Resources/app.asar/src/pane-container.js:175:19)
  at PaneAxis.module.exports.PaneAxis.reparentLastChild (/Applications/Atom.app/Contents/Resources/app.asar/src/pane-axis.js:219:19)
  at PaneAxis.module.exports.PaneAxis.removeChild (/Applications/Atom.app/Contents/Resources/app.asar/src/pane-axis.js:184:21)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/pane-axis.js:227:24
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:86:11)
  at Pane.module.exports.Pane.destroyed (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:641:20)
  at Pane.module.exports.Model.destroy (/Applications/Atom.app/Contents/Resources/app.asar/src/model.js:31:58)
  at Pane.module.exports.Pane.destroy (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:632:39)
  at Pane.module.exports.Pane.removeItem (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:406:21)
  at Pane.module.exports.Pane.destroyItem (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:448:16)
  at HTMLDivElement.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/tabs/lib/tab-bar-view.js:236:22)
  at space-pen-ul.jQuery.event.dispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/jquery/dist/jquery.js:4435:9)
  at space-pen-ul.elemData.handle (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/jquery/dist/jquery.js:4121:28)

Commands

  4x -4:42.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
 10x -4:15.1.0 core:backspace (atom-text-editor.editor.mini.is-focused)
  2x -4:04.4.0 core:confirm (atom-text-editor.editor.mini.is-focused)
 23x -1:56.1.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -1:51.9.0 core:confirm (atom-text-editor.editor.mini.is-focused)
 12x -1:03.0 core:backspace (atom-text-editor.editor.mini.is-focused)
  4x -1:00.8.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:38.1.0 fuzzy-finder:toggle-file-finder (atom-text-editor.editor.is-focused)
  5x -0:35.4.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -0:33.5.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
     -0:33.5.0 core:cancel (atom-text-editor.editor.mini.is-focused)
     -0:22.5.0 split-diff:diffPanes (atom-text-editor.editor.is-focused)
     -0:17 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:16.9.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:15.8.0 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:15.8.0 editor:newline (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "packagesWithKeymapsDisabled": [
      "atom-beautify"
    ]
  }
}

Installed Packages

# User
atom-autocomplete-php, v0.18.1
autocomplete-paths, v1.0.2
autocomplete-python, v0.9.4
color-picker, v2.0.13
emmet, v2.3.13
es-identifier-highlight, v0.2.7
language-rust, v0.4.5
linter, v1.10.0
linter-php, v1.0.5
pigments, v0.18.1
split-diff, v0.4.4

# Dev
No dev packages

Sync folds between panes

Doesn't seem to be done currently, i.e folds can be opened/closed independently on right and left. Would be a nice feature to propagate open/close actions to the other pane.

Uncaught Error: Cannot find module 'diff'

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.7.0
System: Mac OS X 10.11.4
Thrown From: split-diff package, v0.7.3

Stack Trace

Uncaught Error: Cannot find module 'diff'

At module.js:340

Error: Cannot find module 'diff'
    at Module._resolveFilename (module.js:338:15)
    at Function.Module._resolveFilename (/Users/steve/Applications/Atom.app/Contents/Resources/app.asar/src/module-cache.js:383:52)
    at Function.Module._load (module.js:289:25)
    at Module.require (module.js:366:17)
    at require (/Users/steve/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at _computeDiffChunks (/Users/steve/.atom/packages/split-diff/lib/split-diff-compute.js:57:16)
    at Object.computeDiff (/Users/steve/.atom/packages/split-diff/lib/split-diff-compute.js:44:44)
    at Object.module.exports.SplitDiff.updateDiff (/Users/steve/.atom/packages/split-diff/lib/split-diff.coffee:165:37)
    at Object.module.exports.SplitDiff.diffPanes (/Users/steve/.atom/packages/split-diff/lib/split-diff.coffee:123:8)
    at Object.module.exports.SplitDiff.toggle (/Users/steve/.atom/packages/split-diff/lib/split-diff.coffee:387:8)
    at atom-workspace.subscriptions.add.atom.commands.add.split-diff:toggle (/Users/steve/.atom/packages/split-diff/lib/split-diff.coffee:32:32)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Users/steve/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at CommandRegistry.handleCommandEvent (/Users/steve/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61)
    at CommandRegistry.module.exports.CommandRegistry.dispatch (/Users/steve/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:160:19)
    at AtomEnvironment.module.exports.AtomEnvironment.dispatchApplicationMenuCommand (/Users/steve/Applications/Atom.app/Contents/Resources/app.asar/src/atom-environment.js:1100:28)
    at EventEmitter.outerCallback (/Users/steve/Applications/Atom.app/Contents/Resources/app.asar/src/application-delegate.js:314:25)
    at emitTwo (events.js:87:13)
    at EventEmitter.emit (events.js:172:7)

Commands

     -1:07.9.0 open-recent:Dir2-/Users/steve (atom-text-editor.editor.is-focused)
     -1:07.8.0 tree-view:toggle-focus (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-seti-ui)
     -1:00.7.0 tree-view:remove-project-folder (div.header.list-item)
     -0:58.2.0 application:add-project-folder (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
     -0:39.7.0 open-recent:File1-/Users/steve/cws/apis/cws_policy_schema.json (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
  2x -0:14.6.0 split-diff:toggle (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "seti-ui",
      "one-dark-syntax"
    ]
  }
}

Installed Packages

# User
api-workbench, v0.8.23
atom-alignment, v0.12.1
autoclose-html, v0.23.0
change-case, v0.6.0
event-kit, v2.0.0
highlight-selected, v0.11.2
language-scala, v1.1.6
linter, v1.11.4
linter-htmlhint, v1.1.2
linter-js-yaml, v1.2.5
linter-jshint, v2.1.0
linter-swagger, v0.3.6
minimap, v4.21.0
minimap-split-diff, v0.3.0
open-recent, v5.0.0
seti-ui, v0.9.2
split-diff, v0.7.3

# Dev
No dev packages

Uncaught TypeError: Invalid Point: (NaN, 0)

[Enter steps to reproduce below:]

  1. Have a chunk in one editor that corresponds to after the last line of the other editor.
  2. Try to call split-diff:copy-to-right or split-diff:copy-to-left (depending on the situation).
  3. You will get this error.

Atom Version: 1.7.3
System: Mac OS X 10.10.5
Thrown From: split-diff package, v0.8.3

Stack Trace

Uncaught TypeError: Invalid Point: (NaN, 0)

At /Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:833

TypeError: Invalid Point: (NaN, 0)
    at Function.module.exports.Point.assertValid (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/point.js:63:15)
    at TextBuffer.module.exports.TextBuffer.clipPosition (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1061:13)
    at TextBuffer.module.exports.TextBuffer.clipRange (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1049:20)
    at TextBuffer.module.exports.TextBuffer.setTextInRange (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:586:23)
    at /Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:576:26
    at TextBuffer.module.exports.TextBuffer.transact (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:828:18)
    at TextBuffer.module.exports.TextBuffer.setTextInRange (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:574:21)
    at TextEditor.module.exports.TextEditor.setTextInBufferRange (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:814:31)
    at Object.<anonymous> (/Users/upchm/github/split-diff/lib/split-diff.coffee:130:40)
    at Object.module.exports.SplitDiff.copyChunkToRight (/Users/upchm/github/split-diff/lib/split-diff.coffee:127:7)
    at atom-workspace.subscriptions.add.atom.commands.add.split-diff:copy-to-right (/Users/upchm/github/split-diff/lib/split-diff.coffee:36:39)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/command-palette/lib/command-palette-view.js:183:32)
    at CommandPaletteView.module.exports.SelectListView.confirmSelection (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:338:21)
    at space-pen-div.atom.commands.add.core:confirm (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -2:26.7.0 split-diff:toggle (atom-text-editor.editor.is-focused)
  2x -2:19.3.0 split-diff:copy-to-right (atom-workspace.workspace.scrollbars-visible-always.seti-ui-no-icons.compact-tab-bar.use-animations.compact-tree-view.theme-firewatch-syntax.theme-atom-material-ui.has-custom-icons)
     -1:43 editor:newline (atom-text-editor.editor.is-focused)
  2x -1:39.2.0 split-diff:copy-to-right (atom-workspace.workspace.scrollbars-visible-always.seti-ui-no-icons.compact-tab-bar.use-animations.compact-tree-view.theme-firewatch-syntax.theme-atom-material-ui.has-custom-icons)
     -0:12.2.0 split-diff:toggle (atom-text-editor.editor)
     -0:07.2.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:04.8.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:04.8.0 split-diff:copy-to-right (atom-text-editor.editor)
     -0:03.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:01.1.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:01.1.0 split-diff:copy-to-right (atom-text-editor.editor)

Config

{
  "core": {
    "disabledPackages": [
      "activate-power-mode"
    ],
    "openEmptyEditorOnStart": false,
    "themes": [
      "atom-material-ui",
      "firewatch-syntax"
    ]
  },
  "split-diff": {
    "ignoreWhitespace": true,
    "syncHorizontalScroll": true
  }
}

Installed Packages

# User
atom-material-ui, v1.2.11
file-icons, v1.7.11
firewatch-syntax, v1.0.1
flex-tool-bar, v0.10.0
highlight-selected, v0.11.2
minimap, v4.23.5
minimap-find-and-replace, v4.5.1
minimap-highlight-selected, v4.4.0
minimap-selection, v4.4.0
minimap-split-diff, v0.3.0
pigments, v0.26.3
split-diff, v0.8.3
tool-bar, v0.4.0

# Dev
No dev packages

Uncaught TypeError: Cannot read property 'oldLineStart' of undefined

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.3.2
System: Mac OS X 10.10.5
Thrown From: split-diff package, v0.5.2

Stack Trace

Uncaught TypeError: Cannot read property 'oldLineStart' of undefined

At /Users/bouchez/.atom/packages/split-diff/lib/split-diff.coffee:167

TypeError: Cannot read property 'oldLineStart' of undefined
    at Object.module.exports.SplitDiff.selectDiffs (/Users/bouchez/.atom/packages/split-diff/lib/split-diff.coffee:167:19)
    at Object.module.exports.SplitDiff.nextDiff (/Users/bouchez/.atom/packages/split-diff/lib/split-diff.coffee:149:6)
    at atom-workspace.subscriptions.add.atom.commands.add.split-diff:nextDiff (/Users/bouchez/.atom/packages/split-diff/lib/split-diff.coffee:25:34)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:536:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:359:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:97:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

  6x -4:17.7.0 core:undo (atom-text-editor.editor.is-focused)
  3x -4:13.6.0 core:move-down (atom-text-editor.editor.is-focused)
     -4:11.2.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -4:11.2.0 git-diff-details:close-git-diff-details (atom-text-editor.editor.is-focused)
     -4:11.2.0 core:cancel (atom-text-editor.editor.is-focused)
     -4:06.7.0 settings-view:open (atom-text-editor.editor.is-focused)
     -2:56.1.0 core:backspace (div.package-detail.panels-item)
     -1:04.3.0 core:undo (atom-text-editor.editor.is-focused)
     -0:52.2.0 fuzzy-finder:toggle-file-finder (atom-text-editor.editor.is-focused)
     -0:48.5.0 editor:select-to-first-character-of-line (atom-text-editor.editor.mini.is-focused)
     -0:48.3.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
     -0:48.3.0 git-diff-details:close-git-diff-details (atom-text-editor.editor.mini.is-focused)
     -0:48.3.0 core:cancel (atom-text-editor.editor.mini.is-focused)
     -0:44.8.0 settings-view:open (atom-text-editor.editor.is-focused)
     -0:11.1.0 split-diff:diffPanes (div.package-detail.panels-item)
     -0:03.5.0 split-diff:nextDiff (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "packagesWithKeymapsDisabled": [
      "nuclide-code-format",
      "jsformat"
    ],
    "disabledPackages": [
      "linter-jscs",
      "linter-scss-lint"
    ]
  }
}

Installed Packages

# User
Stylus, v1.2.1
atom-gdb, v0.4.0
atom-jshint, v2.0.0
behat-atom, v0.1.2
docblockr, v0.7.3
editorconfig, v1.2.0
git-diff-details, v0.21.0
jsdoc-generator, v0.1.10
language-babel, v1.0.0
linter, v1.7.2
linter-eslint, v5.2.6
php-twig, v4.0.0
project-manager, v2.6.1
react, v0.12.10
react-snippets, v0.2.0
split-diff, v0.5.2

# Dev
No dev packages

diff highlighting dissappears

animation

As can be seen in the attached gif, when I try to toggle split-diff, the highlighting shows up for less than a second and then disappears. This is new as of the latest version of Atom I believe.

window 10, atom 1.7.3, split-diff 0.7.5

Right panel empty

When I make a change (remove a couple of lines for example), save and then toggle split diff. The left shows everything red as removed and the right panel just shows an empty file and 1 empty line.

Uncaught TypeError: SplitDiffCompute.computeCharDiff is not a function

[Enter steps to reproduce below:]

  1. Open two files on two panes
  2. Ctrl + Shift + P -> Split Diff : Enable
  3. Live modifiy one off the two files
  4. This error is thrown on every change

Atom Version: 1.6.0
System: Unknown Windows Version
Thrown From: split-diff package, v0.6.2

Stack Trace

Uncaught TypeError: SplitDiffCompute.computeCharDiff is not a function

At /C:/Users/Pierre/.atom/packages/split-diff/lib/split-diff.coffee:323

TypeError: SplitDiffCompute.computeCharDiff is not a function
    at Object.<anonymous> (file:///C:/Users/Pierre/.atom/packages/split-diff/lib/split-diff.coffee:278:39)
    at Object.module.exports.SplitDiff.highlightCharDiff (file:///C:/Users/Pierre/.atom/packages/split-diff/lib/split-diff.coffee:277:9)
    at Object.module.exports.SplitDiff.updateDiff (file:///C:/Users/Pierre/.atom/packages/split-diff/lib/split-diff.coffee:125:8)
    at Object.module.exports.SplitDiff.diffPanes (file:///C:/Users/Pierre/.atom/packages/split-diff/lib/split-diff.coffee:103:6)
    at Object.module.exports.SplitDiff.toggle (file:///C:/Users/Pierre/.atom/packages/split-diff/lib/split-diff.coffee:295:8)
    at atom-workspace.subscriptions.add.atom.commands.add.split-diff:toggle (file:///C:/Users/Pierre/.atom/packages/split-diff/lib/split-diff.coffee:30:32)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (C:\Users\Pierre\AppData\Local\atom\app-1.6.0\resources\app.asar\src\command-registry.js:260:29)
    at C:\Users\Pierre\AppData\Local\atom\app-1.6.0\resources\app.asar\src\command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (C:\Users\Pierre\AppData\Local\atom\app-1.6.0\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:570:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (C:\Users\Pierre\AppData\Local\atom\app-1.6.0\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:378:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (C:\Users\Pierre\AppData\Local\atom\app-1.6.0\resources\app.asar\src\window-event-handler.js:97:36)
    at HTMLDocument.<anonymous> (C:\Users\Pierre\AppData\Local\atom\app-1.6.0\resources\app.asar\src\window-event-handler.js:3:61)

Commands

     -0:32 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -0:32 core:cancel (atom-text-editor.editor.is-focused)
     -0:29.7.0 core:undo (atom-text-editor.editor.is-focused)
     -0:29.2.0 core:redo (atom-text-editor.editor.is-focused)
     -0:27.3.0 core:move-left (atom-text-editor.editor.is-focused)
     -0:27 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:26.4.0 editor:newline (atom-text-editor.editor.is-focused)
  2x -0:22.3.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:17.6.0 core:move-right (atom-text-editor.editor.is-focused)
     -0:15.7.0 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:15.1.0 editor:newline (atom-text-editor.editor.is-focused)
  2x -0:12.1.0 core:move-right (atom-text-editor.editor.is-focused)
     -0:03.3.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:02.4.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
     -0:02.4.0 core:cancel (atom-text-editor.editor.mini.is-focused)
     -0:01.8.0 split-diff:toggle (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "fileEncoding": "iso885915",
    "themes": [
      "flatland-dark-ui",
      "tomorrow-night-eighties-syntax"
    ]
  },
  "split-diff": {
    "ignoreWhitespace": true
  }
}

Installed Packages

# User
atom-beautify, vundefined
autocomplete-clang, v0.8.9
color-picker, v2.1.1
column-select, v0.2.0
emmet, v2.4.3
file-icons, v1.6.19
flatland-dark-ui, v0.2.4
minimap, v4.21.0
minimap-split-diff, v0.3.0
pigments, v0.26.0
pretty-json, v0.4.1
project-manager, v2.8.0
react, v0.14.2
split-diff, v0.6.2
tomorrow-night-eighties-syntax, v0.13.0

# Dev
No dev packages

Specify which panes to diff

A lot of times I'll have 2, 3 panes open (split down, split left, etc). It would be nice if I could specify which two panes I want to diff. Say I have
| pane 1 | pane 2 | pane 3 |
Currently split diff only allows diff between panes 1 & 2. But say I want to diff 2 & 3. I have to move the file from 3 over to 1 just to diff.

Additionally say I have

|      pane 1     |
| pane 2 | pane 3 |

split diff only allows the ability to diff panes 1 & 2 still, but I want to be able to diff 2 & 3.

Sync Horizontal Scrolling

It would be nice to have a setting to be able to sync horizontal scrolling while split-diff is enabled.

Uncaught TypeError: Cannot read property 'removeLineOffsets' of null

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.0.19
System: Microsoft Windows 10 Enterprise
Thrown From: split-diff package, v0.4.0

Stack Trace

Uncaught TypeError: Cannot read property 'removeLineOffsets' of null

At /C:/Users/KRebstock/.atom/packages/split-diff/lib/split-diff.coffee:128

TypeError: Cannot read property 'removeLineOffsets' of null
  at Object.module.exports.SplitDiff.clearDiff (C:\Users\KRebstock\.atom\packages\split-diff\lib\split-diff.coffee:111:23)
  at Object.module.exports.SplitDiff.updateDiff (C:\Users\KRebstock\.atom\packages\split-diff\lib\split-diff.coffee:85:6)
  at C:\Users\KRebstock\.atom\packages\split-diff\lib\split-diff.coffee:69:8
  at Emitter.module.exports.Emitter.emit (C:\Users\KRebstock\AppData\Local\atom\app-1.0.19\resources\app.asar\node_modules\event-kit\lib\emitter.js:82:11)
  at C:\Users\KRebstock\AppData\Local\atom\app-1.0.19\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:1273:25

Commands

     -0:48.5.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:48.5.0 split-diff:disable (atom-text-editor.editor)
     -0:39.2.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:35.6.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -0:35.3.0 core:move-up (atom-text-editor.editor.mini.is-focused)
     -0:34.9.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:34.9.0 split-diff:disable (atom-text-editor.editor)
     -0:29.5.0 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:29.5.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:23.1.0 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:23.1.0 editor:newline (atom-text-editor.editor.is-focused)
  2x -0:21.5.0 core:undo (atom-text-editor.editor.is-focused)
     -0:13.1.0 core:save (atom-text-editor.editor.is-focused)
     -0:04.4.0 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:04.4.0 editor:newline (atom-text-editor.editor.is-focused)
  2x -0:03.4.0 core:backspace (atom-text-editor.editor.is-focused)

Config

{}

Installed Packages

# User
emmet, v2.3.13
split-diff, v0.4.0

# Dev
No dev packages

Uncaught TypeError: projectRepo.repo.getHeadBlob is not a function

[Enter steps to reproduce below:]

  1. Enable diff

Atom Version: 1.7.3
System: Mac OS X 10.11.4
Thrown From: split-diff package, v0.7.5

Stack Trace

Uncaught TypeError: projectRepo.repo.getHeadBlob is not a function

At /Users/markus/.atom/packages/split-diff/lib/split-diff.coffee:292

TypeError: projectRepo.repo.getHeadBlob is not a function
    at Object.module.exports.SplitDiff._setupGitRepo (/Users/markus/.atom/packages/split-diff/lib/split-diff.coffee:292:44)
    at Object.module.exports.SplitDiff._getVisibleEditors (/Users/markus/.atom/packages/split-diff/lib/split-diff.coffee:259:6)
    at Object.module.exports.SplitDiff.diffPanes (/Users/markus/.atom/packages/split-diff/lib/split-diff.coffee:119:16)
    at atom-workspace.subscriptions.add.atom.commands.add.split-diff:enable (/Users/markus/.atom/packages/split-diff/lib/split-diff.coffee:32:32)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/command-palette/lib/command-palette-view.js:183:32)
    at CommandPaletteView.module.exports.SelectListView.confirmSelection (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:338:21)
    at space-pen-div.atom.commands.add.core:confirm (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -0:51.2.0 tree-view:reveal-active-file (atom-workspace.workspace.scrollbars-visible-when-scrolling.seti-ui-no-icons.theme-an-old-hope-syntax.theme-one-dark-ui)
     -0:48.2.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -0:48.2.0 core:cancel (atom-text-editor.editor.is-focused)
     -0:43.1.0 pane:show-next-recently-used-item (atom-text-editor.editor.is-focused)
     -0:43 pane:move-active-item-to-top-of-stack (atom-text-editor.editor.is-focused)
     -0:32.5.0 core:paste (atom-text-editor.editor.is-focused)
  5x -0:30.2.0 tree-view:reveal-active-file (atom-workspace.workspace.scrollbars-visible-when-scrolling.seti-ui-no-icons.theme-an-old-hope-syntax.theme-one-dark-ui)
     -0:09.8.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:07.2.0 split-diff:prev-diff (atom-text-editor.editor)
     -0:06.1.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -0:06.1.0 core:cancel (atom-text-editor.editor.is-focused)
     -0:04.4.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:01.7.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -0:01.4.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:01.4.0 split-diff:enable (atom-text-editor.editor)
     -0:01.1.0 tree-view:reveal-active-file (atom-workspace.workspace.scrollbars-visible-when-scrolling.seti-ui-no-icons.theme-an-old-hope-syntax.theme-one-dark-ui)

Config

{
  "core": {
    "disabledPackages": [
      "php-debug",
      "terminal-plus",
      "atom-typescript",
      "atom-ternjs",
      "atom-css-comb"
    ],
    "ignoredNames": [
      "htdocs/media/js",
      "htdocs/media/css",
      "htdocs/var/cache"
    ],
    "themes": [
      "one-dark-ui",
      "an-old-hope-syntax"
    ]
  }
}

Installed Packages

# User
an-old-hope-syntax, v0.5.0
angularjs-styleguide-snippets, v0.7.3
atom-alignment, v0.12.1
atom-hg, v2.0.4
auto-reveal-in-sidebar, v0.8.0
autoclose-html, v0.23.0
autocomplete-angular-material, v0.4.0
bottom-dock, v0.4.4
css-comb, v2.4.3
editorconfig, v1.4.1
file-icons, v1.7.11
file-types, v0.5.1
linter, v1.11.4
linter-csslint, v1.3.2
linter-htmlhint, v1.1.4
linter-jshint, v2.1.0
linter-manager, v0.2.12
linter-scss-lint, v3.0.3
merge-conflicts, v1.4.2
minimap, v4.23.5
pigments, v0.26.2
project-manager, v2.9.7
split-diff, v0.7.5
sync-settings, v0.7.2
todo-manager, v0.2.8

# Dev
No dev packages

Problems with Updates

You mentioned a while back in other issues ( #41 (comment) and #29 (comment) ) about problems with people getting your updates. Even though I do receive your updates, when I click the update button on your package in the package manager, the installing animation/message never stops. If I close the tab or click Check for Updates again, split-diff just disappears and says there are no updates. When I go back to split-diff, it says it is the new version.

Just adding this so hopefully people will contribute and this can get figured out. Is there any logging or something I can do to help? (I am just starting to teach myself how to write Atom packages, so I may not be much help in that regard)

Ignore whitespace false does not work

When ignore whitespace is set to false, it still ignores whitespace.

This is due to the refactor to support asynchronous diffing. Turns out the argument I send into the buffered node process gets converted to a string - it doesn't remain a boolean.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.