ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Clipboard Diff

by sabhiram ALL

SublimeText plugin to diff your clipboard against the current selection

Details

Installs

  • Total 9K
  • Win 4K
  • Mac 3K
  • Linux 1K
Apr 18 Apr 17 Apr 16 Apr 15 Apr 14 Apr 13 Apr 12 Apr 11 Apr 10 Apr 9 Apr 8 Apr 7 Apr 6 Apr 5 Apr 4 Apr 3 Apr 2 Apr 1 Mar 31 Mar 30 Mar 29 Mar 28 Mar 27 Mar 26 Mar 25 Mar 24 Mar 23 Mar 22 Mar 21 Mar 20 Mar 19 Mar 18 Mar 17 Mar 16 Mar 15 Mar 14 Mar 13 Mar 12 Mar 11 Mar 10 Mar 9 Mar 8 Mar 7 Mar 6 Mar 5 Mar 4
Windows 0 0 1 2 0 0 0 1 1 1 0 0 0 0 0 0 2 2 0 0 1 0 0 0 2 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 1 1 0 1 3
Mac 1 2 1 1 1 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 4 0 1 0 0 1 2 1 1 1 0 0 3 1 1 0 0 0 0 1 3 0 1 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

sublime-clipboard-diff

Build Status

SublimeText plugin to diff your clipboard against the current selection

Clipboard Diff on Package Control

Usage:

  1. Copy something to the clipboard
  2. Select something you want to compare the clipboard to
  3. Press:
OS Key Combination
Linux ctrl + alt + D
Mac super(⌘) + alt + ctrl + D
Windows ctrl + alt + D

You can also run it from the Command Palette (ctrl + shift + P) followed by "Clipboard Diff". The same command is also available from the “Context Menu” (right clicking on a text area).

Installation

The easiest way to install Clipboard Diff is to install it from Package Control

Package Control Install

If you have Package Control installed, then simply naviagte to Package Control: Install Package and select the Clipboard Diff plugin and you are done!

Manual Install

From SublimeText Packages folder:

git clone git@github.com:sabhiram/sublime-clipboard-diff.git sublime-clipboard-diff

Settings & Default Key Mapping

Here is a list of settings exposed by Clipboard Diff:

// Setting the `diff_type` will allow the user to toggle the type
    // of diff used in Clipboard Diff
    //
    // Here is a list of supported types as of now:
    //
    // 1. [Default] unified - Uses difflib.unified_diff(...)
    // 2.           context - Uses difflib.context_diff(...)
    "diff_type": "unified",

    // Setting the `clipboard_file_name` will allow the user to change the
    // file name which shows up when the diff is run for the Clipboard
    // contents.
    "clipboard_file_name": "Clipboard",

    // Setting the `selection_file_name` will allow the user to change the
    // file name which shows up when the diff is run for the Selection
    // contents.
    "selection_file_name": "Selection"

To override any of these settings, simply create a file called clipboard_diff.sublime-settings in the Packages\User folder. Here is a sample:

more ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/User/clipboard_diff.sublime-settings
{
    "diff_type": "context",
    "clipboard_file_name": "Clipboard contents",
    "selection_file_name": "Selected stuff..."
}

The above User specific setting file overrides the names which will be displayed when a diff is computed. It also demonstrates how we can change the diff_type to a difflib.context_diff as opposed to the default difflib.unified_diff

Developers

Appreciate the help! Here is stuff you should probably know:

Install for both Sublime Text 2 and 3:

Some folks prefer to clone the git repo right into their SublimeText Packages folder. While this is probably ok for most users, I prefer to create a symbolic link to the package so that I can point to the plugin from both flavors of SublimeText (for testing and the like…)

cd ~/dev
git clone git@github.com:sabhiram/sublime-clipboard-diff.git sublime-clipboard-diff
ln -s sublime-clipboard-diff ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/sublime-clipboard-diff
ln -s sublime-clipboard-diff ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/sublime-clipboard-diff

Running Tests & CI

This project, and any pull requests will automatically be run against Travis CI. For local development, the tests assume that the following are installed and configured:

Hopefully you have Sublime Text installed

Next make sure you have Package Control installed as well (and you really should, it's awesome!)

Via the SublimeText Package Control, install the UnitTesting package. You can do this by hitting ctrl + shift + p, then select Package Control: Install Package. Once the menu loads, choose the UnitTesting package.

To run the tests: ctrl + shift + p then select UnitTesting: Run any project test suite and type in the name of this package (in my case, and typically sublime-clipboard-diff but is basically the name of the folder which you chose to clone the repo into).

Sublime Text API Reference

Sublime Text 2 API

Sublime Text 3 API

Versions Released

1.2.0 - Future Release

  1. Add external diff tool
  2. … What would you like to see?

1.1.4 - Current Release

  1. Display appropriate message when the selection and clipboard match

1.1.3

  1. Adds Context menu item for “Clipboard Diff”
  2. Adds Command Palette entry for “Clipboard Diff”

1.1.2

  1. Minor update: add package control messages
  2. Prettify the plugin settings in the readme

1.1.1

  1. Minor bugfix with diff output view

1.1.0

  1. Adds syntax highlighting to diff output view
  2. Exposes settings to change diff_type and source / destination file names
  3. Small bugfixes in helper functions which were never tested
  4. More tests to validate the above

1.0.0 - Initial Release

  1. Implements basic diff feature
  2. Adds simple tests for plugin functionality
  3. Ready for package control deployment