From c577ca45c59829b5ed2fbf7c1f7e938b79e1ba17 Mon Sep 17 00:00:00 2001 From: Starli0n Date: Thu, 13 Mar 2014 11:48:39 +0100 Subject: [PATCH 01/60] Add unicode to menu strings --- file_diffs.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/file_diffs.py b/file_diffs.py index f9581a0..4dbfc4c 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -11,11 +11,11 @@ import codecs class FileDiffMenuCommand(sublime_plugin.TextCommand): - CLIPBOARD = 'Diff file with Clipboard' - SELECTIONS = 'Diff Selections' - SAVED = 'Diff file with Saved' - FILE = 'Diff file with File in Project…' - TAB = 'Diff file with Open Tab…' + CLIPBOARD = u'Diff file with Clipboard' + SELECTIONS = u'Diff Selections' + SAVED = u'Diff file with Saved' + FILE = u'Diff file with File in Project…' + TAB = u'Diff file with Open Tab…' FILE_DIFFS = [CLIPBOARD, SAVED, FILE, TAB] From 3c9ed75aec9852151fdd7ed2a4e79ee86970af9b Mon Sep 17 00:00:00 2001 From: Starli0n Date: Thu, 13 Mar 2014 11:51:08 +0100 Subject: [PATCH 02/60] Add window support for running external tool --- file_diffs.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/file_diffs.py b/file_diffs.py index 4dbfc4c..01d7dbd 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -10,6 +10,9 @@ from fnmatch import fnmatch import codecs +if sublime.platform() == "windows": + from subprocess import Popen + class FileDiffMenuCommand(sublime_plugin.TextCommand): CLIPBOARD = u'Diff file with Clipboard' SELECTIONS = u'Diff Selections' @@ -125,7 +128,11 @@ def diff_with_external(self, external_command, a, b, from_file=None, to_file=Non if os.path.exists(from_file): external_command = [c.replace(u'$file1', from_file) for c in external_command] external_command = [c.replace(u'$file2', to_file) for c in external_command] - self.view.window().run_command("exec", {"cmd": external_command}) + if sublime.platform() == "windows": + print external_command + Popen(external_command) + else: + self.view.window().run_command("exec", {"cmd": external_command}) except Exception as e: # some basic logging here, since we are cluttering the /tmp folder sublime.status_message(str(e)) From a4ecec17562b0702c1cff412648b9ebbe98590ce Mon Sep 17 00:00:00 2001 From: Starli0n Date: Thu, 13 Mar 2014 18:05:39 +0100 Subject: [PATCH 03/60] Add 'File Diff with Previous' feature --- .gitignore | 1 + Context.sublime-menu | 1 + README.md | 2 ++ file_diffs.py | 47 +++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7e99e36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pyc \ No newline at end of file diff --git a/Context.sublime-menu b/Context.sublime-menu index 2cf4afd..c437b46 100644 --- a/Context.sublime-menu +++ b/Context.sublime-menu @@ -4,5 +4,6 @@ { "caption": "Diff Selections", "command": "file_diff_selections" }, { "caption": "Diff with Clipboard", "command": "file_diff_clipboard" }, { "caption": "Diff with Saved", "command": "file_diff_saved" }, + { "caption": "Diff with Previous", "command": "file_diff_previous" }, { "caption": "-" } ] diff --git a/README.md b/README.md index 3aaf462..509aab6 100644 --- a/README.md +++ b/README.md @@ -60,3 +60,5 @@ The rest of the commands do not need to be bound (accessible from the menu): `file_diff_file`: Shows the diff of the current file or selection(s) and a file that is in the current project. `file_diff_tab`: Shows the diff of the current file or selection(s) and an open file (aka a file that has a tab). + +`file_diff_previous`: Shows the diff of the current file or selection(s) and the previous activated file. diff --git a/file_diffs.py b/file_diffs.py index 01d7dbd..428430e 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -19,8 +19,9 @@ class FileDiffMenuCommand(sublime_plugin.TextCommand): SAVED = u'Diff file with Saved' FILE = u'Diff file with File in Project…' TAB = u'Diff file with Open Tab…' + PREVIOUS = u'Diff file with Previous' - FILE_DIFFS = [CLIPBOARD, SAVED, FILE, TAB] + FILE_DIFFS = [CLIPBOARD, SAVED, FILE, TAB, PREVIOUS] def run(self, edit, cmd=None): menu_items = self.FILE_DIFFS[:] @@ -49,6 +50,8 @@ def on_done(index): self.view.run_command('file_diff_file', {'cmd': cmd}) elif restored_menu_items[index] == self.TAB: self.view.run_command('file_diff_tab', {'cmd': cmd}) + elif restored_menu_items[index] == self.PREVIOUS: + self.view.run_command('file_diff_previous', {'cmd': cmd}) self.view.window().show_quick_panel(menu_items, on_done) @@ -303,3 +306,45 @@ def on_done(index): else: menu_items = [os.path.basename(f) for f in files] sublime.set_timeout(lambda: self.view.window().show_quick_panel(menu_items, on_done), 1) + + +previousView = currentView = None + +class FileDiffPreviousCommand(FileDiffCommand): + def run(self, edit, **kwargs): + if previousView: + previousView_content = previousView.substr(sublime.Region(0, previousView.size())) + previousView_name = '' + if previousView.file_name(): + previousView_name = previousView.file_name() + elif previousView.name(): + previousView_name = previousView.name() + else: + previousView_name = 'untitled (Previous)' + + view_name = '' + if self.view.file_name(): + view_name = self.view.file_name() + elif self.view.name(): + view_name = self.view.name() + else: + view_name = 'untitled (Current)' + + self.run_diff(previousView_content, self.diff_content(), + from_file=previousView_name, + to_file=view_name, + **kwargs) + +def recordCurrentView(view): + global previousView + global currentView + previousView = currentView + currentView = view + +class FileDiffListener(sublime_plugin.EventListener): + def on_activated(self, view): + # Prevent 'show_quick_panel()' of 'FileDiffs Menu' from being recorded + viewids = [v.id() for v in view.window().views()] + if view.id() in viewids: + if currentView == None or view.id() != currentView.id(): + recordCurrentView(view) From 003f6553650ce037b75915fb0b54bf7394e0b5e0 Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Fri, 14 Mar 2014 10:34:56 -0600 Subject: [PATCH 04/60] colin's changes (snake_case, no need for u'') --- file_diffs.py | 68 +++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/file_diffs.py b/file_diffs.py index 428430e..2bebca5 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -13,13 +13,14 @@ if sublime.platform() == "windows": from subprocess import Popen + class FileDiffMenuCommand(sublime_plugin.TextCommand): - CLIPBOARD = u'Diff file with Clipboard' - SELECTIONS = u'Diff Selections' - SAVED = u'Diff file with Saved' - FILE = u'Diff file with File in Project…' - TAB = u'Diff file with Open Tab…' - PREVIOUS = u'Diff file with Previous' + CLIPBOARD = 'Diff file with Clipboard' + SELECTIONS = 'Diff Selections' + SAVED = 'Diff file with Saved' + FILE = 'Diff file with File in Project…' + TAB = 'Diff file with Open Tab…' + PREVIOUS = 'Diff file with Previous window' FILE_DIFFS = [CLIPBOARD, SAVED, FILE, TAB, PREVIOUS] @@ -30,14 +31,14 @@ def run(self, edit, cmd=None): if len(non_empty_regions) == 2: menu_items.insert(1, self.SELECTIONS) elif len(non_empty_regions): - menu_items = [f.replace(u'Diff file', u'Diff selection') for f in menu_items] - saved = saved.replace(u'Diff file', u'Diff selection') + menu_items = [f.replace('Diff file', 'Diff selection') for f in menu_items] + saved = saved.replace('Diff file', 'Diff selection') if not (self.view.file_name() and self.view.is_dirty()): menu_items.remove(saved) def on_done(index): - restored_menu_items = [f.replace(u'Diff selection', u'Diff file') for f in menu_items] + restored_menu_items = [f.replace('Diff selection', 'Diff file') for f in menu_items] if index == -1: return elif restored_menu_items[index] == self.CLIPBOARD: @@ -129,10 +130,9 @@ def diff_with_external(self, external_command, a, b, from_file=None, to_file=Non tmp_file.write(b) if os.path.exists(from_file): - external_command = [c.replace(u'$file1', from_file) for c in external_command] - external_command = [c.replace(u'$file2', to_file) for c in external_command] + external_command = [c.replace('$file1', from_file) for c in external_command] + external_command = [c.replace('$file2', to_file) for c in external_command] if sublime.platform() == "windows": - print external_command Popen(external_command) else: self.view.window().run_command("exec", {"cmd": external_command}) @@ -198,12 +198,12 @@ def run(self, edit, **kwargs): # trim off indent indent = self.trim_indent(first_selection.splitlines()) if indent: - first_selection = u"\n".join(line[len(indent):] for line in first_selection.splitlines()) + first_selection = "\n".join(line[len(indent):] for line in first_selection.splitlines()) # trim off indent indent = self.trim_indent(second_selection.splitlines()) if indent: - second_selection = u"\n".join(line[len(indent):] for line in second_selection.splitlines()) + second_selection = "\n".join(line[len(indent):] for line in second_selection.splitlines()) self.run_diff(first_selection, second_selection, from_file='first selection', @@ -215,7 +215,7 @@ class FileDiffSavedCommand(FileDiffCommand): def run(self, edit, **kwargs): self.run_diff(self.read_file(self.view.file_name()), self.diff_content(), from_file=self.view.file_name(), - to_file=self.view.file_name() + u' (Unsaved)', + to_file=self.view.file_name() + ' (Unsaved)', **kwargs) @@ -225,7 +225,7 @@ def run(self, edit, **kwargs): folders = self.view.window().folders() files = self.find_files(folders) for folder in folders: - if common == None: + if common is None: common = folder else: common_len = len(common) @@ -308,19 +308,19 @@ def on_done(index): sublime.set_timeout(lambda: self.view.window().show_quick_panel(menu_items, on_done), 1) -previousView = currentView = None +previous_view = current_view = None class FileDiffPreviousCommand(FileDiffCommand): def run(self, edit, **kwargs): - if previousView: - previousView_content = previousView.substr(sublime.Region(0, previousView.size())) - previousView_name = '' - if previousView.file_name(): - previousView_name = previousView.file_name() - elif previousView.name(): - previousView_name = previousView.name() + if previous_view: + previous_view_content = previous_view.substr(sublime.Region(0, previous_view.size())) + previous_view_name = '' + if previous_view.file_name(): + previous_view_name = previous_view.file_name() + elif previous_view.name(): + previous_view_name = previous_view.name() else: - previousView_name = 'untitled (Previous)' + previous_view_name = 'untitled (Previous)' view_name = '' if self.view.file_name(): @@ -330,21 +330,21 @@ def run(self, edit, **kwargs): else: view_name = 'untitled (Current)' - self.run_diff(previousView_content, self.diff_content(), - from_file=previousView_name, + self.run_diff(previous_view_content, self.diff_content(), + from_file=previous_view_name, to_file=view_name, **kwargs) -def recordCurrentView(view): - global previousView - global currentView - previousView = currentView - currentView = view +def record_current_view(view): + global previous_view + global current_view + previous_view = current_view + current_view = view class FileDiffListener(sublime_plugin.EventListener): def on_activated(self, view): # Prevent 'show_quick_panel()' of 'FileDiffs Menu' from being recorded viewids = [v.id() for v in view.window().views()] if view.id() in viewids: - if currentView == None or view.id() != currentView.id(): - recordCurrentView(view) + if current_view is None or view.id() != current_view.id(): + record_current_view(view) From fb1ed7c7c069ca9a7fcf149aa3100f414cbd2be2 Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Fri, 14 Mar 2014 10:46:01 -0600 Subject: [PATCH 05/60] license update --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 8da8c54..b40776e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2012, Colin T.A. Gray +Copyright (c) 2014, Colin T.A. Gray All rights reserved. Redistribution and use in source and binary forms, with or without From e030dc544f310eb94e39352565074eadedeba421 Mon Sep 17 00:00:00 2001 From: Starli0n Date: Fri, 21 Mar 2014 15:30:19 +0100 Subject: [PATCH 06/60] Merge last st2 features to master --- FileDiffs.sublime-settings | 2 ++ file_diffs.py | 41 +++++++++++++++++++++++++++++++++----- package.json | 7 +------ 3 files changed, 39 insertions(+), 11 deletions(-) diff --git a/FileDiffs.sublime-settings b/FileDiffs.sublime-settings index 1d8c3b7..c5adb27 100644 --- a/FileDiffs.sublime-settings +++ b/FileDiffs.sublime-settings @@ -31,4 +31,6 @@ // deltawalker (DeltaWalker) // "cmd": ["deltawalker", "-nosplash", "$file1", "$file2"] + + // "trim_trailing_white_space_before_diff": false } diff --git a/file_diffs.py b/file_diffs.py index 2bebca5..70e69b5 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -18,8 +18,8 @@ class FileDiffMenuCommand(sublime_plugin.TextCommand): CLIPBOARD = 'Diff file with Clipboard' SELECTIONS = 'Diff Selections' SAVED = 'Diff file with Saved' - FILE = 'Diff file with File in Project…' - TAB = 'Diff file with Open Tab…' + FILE = u'Diff file with File in Project…' + TAB = u'Diff file with Open Tab…' PREVIOUS = 'Diff file with Previous window' FILE_DIFFS = [CLIPBOARD, SAVED, FILE, TAB, PREVIOUS] @@ -77,6 +77,11 @@ def prep_content(self, ab, file_name, default_name): if file_name is None: file_name = default_name content = [line.replace("\r\n", "\n").replace("\r", "\n") for line in content] + + trim_trailing_white_space_before_diff = self.settings().get('trim_trailing_white_space_before_diff', False) + if trim_trailing_white_space_before_diff: + content = [line.rstrip() for line in content] + return (content, file_name) def run_diff(self, a, b, from_file, to_file, **options): @@ -129,6 +134,30 @@ def diff_with_external(self, external_command, a, b, from_file=None, to_file=Non with codecs.open(to_file, encoding='utf-8', mode='w+') as tmp_file: tmp_file.write(b) + trim_trailing_white_space_before_diff = self.settings().get('trim_trailing_white_space_before_diff', False) + if trim_trailing_white_space_before_diff: + def trim_trailing_white_space(file_name): + trim_lines = [] + modified = False + with codecs.open(file_name, encoding='utf-8', mode='r') as f: + lines = f.readlines() + lines = [line.replace("\n", "").replace("\r", "") for line in lines] + for line in lines: + trim_line = line.rstrip() + trim_lines.append(trim_line) + if trim_line != line: + modified = True + if modified: + tmp_file = tempfile.NamedTemporaryFile(delete=False) + file_name = tmp_file.name + tmp_file.close() + with codecs.open(file_name, encoding='utf-8', mode='w+') as f: + f.writelines('\n'.join(trim_lines)) + return file_name + + from_file = trim_trailing_white_space(from_file) + to_file = trim_trailing_white_space(to_file) + if os.path.exists(from_file): external_command = [c.replace('$file1', from_file) for c in external_command] external_command = [c.replace('$file2', to_file) for c in external_command] @@ -343,8 +372,10 @@ def record_current_view(view): class FileDiffListener(sublime_plugin.EventListener): def on_activated(self, view): - # Prevent 'show_quick_panel()' of 'FileDiffs Menu' from being recorded - viewids = [v.id() for v in view.window().views()] - if view.id() in viewids: + try: + # Prevent 'show_quick_panel()' of 'FileDiffs Menu' from being recorded + view.window().views() if current_view is None or view.id() != current_view.id(): record_current_view(view) + except AttributeError: + pass diff --git a/package.json b/package.json index 020ac54..29d55aa 100644 --- a/package.json +++ b/package.json @@ -6,12 +6,7 @@ "labels": ["diff/merge"], "releases": [ { - "details": "https://github.com/colinta/SublimeFileDiffs/tree/st2", - "sublime_text": "<3000" - }, - { - "details": "https://github.com/colinta/SublimeFileDiffs/tags", - "sublime_text": ">=3000" + "details": "https://github.com/colinta/SublimeFileDiffs/tags" } ] } \ No newline at end of file From 816e838b38fdb5da9c169f5e8726ed3ec407c10d Mon Sep 17 00:00:00 2001 From: Starli0n Date: Fri, 21 Mar 2014 16:03:22 +0100 Subject: [PATCH 07/60] Fix Diff Selection with Clipboard with external tool --- file_diffs.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/file_diffs.py b/file_diffs.py index 70e69b5..40a0410 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -190,9 +190,14 @@ def run(self, edit, content): class FileDiffClipboardCommand(FileDiffCommand): def run(self, edit, **kwargs): + from_file = self.view.file_name() + for region in self.view.sel(): + if not region.empty(): + from_file += ' (Selection)' + break clipboard = sublime.get_clipboard() self.run_diff(self.diff_content(), clipboard, - from_file=self.view.file_name(), + from_file=from_file, to_file='(clipboard)', **kwargs) From 0b2e108693f8402a57574fc802bb22e7aa8231b9 Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Fri, 21 Mar 2014 09:51:38 -0600 Subject: [PATCH 08/60] fixes 'Diff with previous window' --- file_diffs.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/file_diffs.py b/file_diffs.py index 40a0410..1f6b41f 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -377,9 +377,10 @@ def record_current_view(view): class FileDiffListener(sublime_plugin.EventListener): def on_activated(self, view): + # Prevent 'show_quick_panel()' of 'FileDiffs Menu' from being recorded + if view not in view.window().views(): + return try: - # Prevent 'show_quick_panel()' of 'FileDiffs Menu' from being recorded - view.window().views() if current_view is None or view.id() != current_view.id(): record_current_view(view) except AttributeError: From 8ac2cdd86860d50698c27f087e1e245b179575f6 Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Fri, 21 Mar 2014 10:00:40 -0600 Subject: [PATCH 09/60] added contributors --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 509aab6..824b8e9 100644 --- a/README.md +++ b/README.md @@ -62,3 +62,13 @@ The rest of the commands do not need to be bound (accessible from the menu): `file_diff_tab`: Shows the diff of the current file or selection(s) and an open file (aka a file that has a tab). `file_diff_previous`: Shows the diff of the current file or selection(s) and the previous activated file. + +Contributors +------------ + +Thanks to: + +- **Sebastian Pape** for adding support for using an external diff tool +- **Starli0n** for merging the ST2 and ST3 branches into one branch, +- and for adding the "Diff file with previous" feature +- **dnsmkl** for helping with diffing temporary files From b38246a7ae28fecd9ca10ca82274ff4491b22b9f Mon Sep 17 00:00:00 2001 From: Starli0n Date: Fri, 21 Mar 2014 17:14:45 +0100 Subject: [PATCH 10/60] Add expand full file name in tab feature --- FileDiffs.sublime-settings | 2 ++ file_diffs.py | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/FileDiffs.sublime-settings b/FileDiffs.sublime-settings index c5adb27..86bae91 100644 --- a/FileDiffs.sublime-settings +++ b/FileDiffs.sublime-settings @@ -33,4 +33,6 @@ // "cmd": ["deltawalker", "-nosplash", "$file1", "$file2"] // "trim_trailing_white_space_before_diff": false + + // "expand_full_file_name_in_tab": false } diff --git a/file_diffs.py b/file_diffs.py index 1f6b41f..13d81de 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -338,7 +338,10 @@ def on_done(index): if len(files) == 1: on_done(0) else: - menu_items = [os.path.basename(f) for f in files] + if self.settings().get('expand_full_file_name_in_tab', False): + menu_items = [[os.path.basename(f),f] for f in files] + else: + menu_items = [os.path.basename(f) for f in files] sublime.set_timeout(lambda: self.view.window().show_quick_panel(menu_items, on_done), 1) From 33667878c5c6024d0bff88bb1dbe217eb695395f Mon Sep 17 00:00:00 2001 From: Starli0n Date: Mon, 24 Mar 2014 09:29:06 +0100 Subject: [PATCH 11/60] Fix 'Diff with previous window' --- file_diffs.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/file_diffs.py b/file_diffs.py index 13d81de..022a1a8 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -380,10 +380,11 @@ def record_current_view(view): class FileDiffListener(sublime_plugin.EventListener): def on_activated(self, view): - # Prevent 'show_quick_panel()' of 'FileDiffs Menu' from being recorded - if view not in view.window().views(): - return try: + # Prevent 'show_quick_panel()' of 'FileDiffs Menu' from being recorded + viewids = [v.id() for v in view.window().views()] + if view.id() not in viewids: + return if current_view is None or view.id() != current_view.id(): record_current_view(view) except AttributeError: From 7bf894eb72489db1d9804b7e2e0f6986aa3ce136 Mon Sep 17 00:00:00 2001 From: Starli0n Date: Mon, 24 Mar 2014 10:31:48 +0100 Subject: [PATCH 12/60] Hide items in menu when features cannot be used --- file_diffs.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/file_diffs.py b/file_diffs.py index 022a1a8..a048600 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -201,6 +201,9 @@ def run(self, edit, **kwargs): to_file='(clipboard)', **kwargs) + def is_visible(self): + return sublime.get_clipboard() + class FileDiffSelectionsCommand(FileDiffCommand): def trim_indent(self, lines): @@ -244,6 +247,9 @@ def run(self, edit, **kwargs): to_file='second selection', **kwargs) + def is_visible(self): + return len(self.view.sel()) > 1 + class FileDiffSavedCommand(FileDiffCommand): def run(self, edit, **kwargs): @@ -252,6 +258,9 @@ def run(self, edit, **kwargs): to_file=self.view.file_name() + ' (Unsaved)', **kwargs) + def is_visible(self): + return self.view.file_name() and self.view.is_dirty() + class FileDiffFileCommand(FileDiffCommand): def run(self, edit, **kwargs): @@ -344,6 +353,9 @@ def on_done(index): menu_items = [os.path.basename(f) for f in files] sublime.set_timeout(lambda: self.view.window().show_quick_panel(menu_items, on_done), 1) + def is_visible(self): + return len(self.view.window().views()) > 1 + previous_view = current_view = None @@ -372,6 +384,9 @@ def run(self, edit, **kwargs): to_file=view_name, **kwargs) + def is_visible(self): + return previous_view + def record_current_view(view): global previous_view global current_view From 08b9b4821ce8f5d49246df537256bfebef360f70 Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Mon, 24 Mar 2014 08:16:43 -0600 Subject: [PATCH 13/60] changed 'file' to 'f' since 'file' is a builtin --- file_diffs.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/file_diffs.py b/file_diffs.py index a048600..af92364 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -278,9 +278,9 @@ def run(self, edit, **kwargs): my_file = self.view.file_name() # filter out my_file - files = [file for file in files if file != my_file] + files = [f for f in files if f != my_file] # shorten names using common length - file_picker = [file[len(common):] for file in files] + file_picker = [f[len(common):] for f in files] def on_done(index): if index > -1: @@ -302,15 +302,15 @@ def find_files(self, folders, ret=[]): if not os.path.isdir(folder): continue - for file in os.listdir(folder): - fullpath = os.path.join(folder, file) + for f in os.listdir(folder): + fullpath = os.path.join(folder, f) if os.path.isdir(fullpath): # excluded folder? - if not len([True for pattern in folder_exclude_patterns if fnmatch(file, pattern)]): + if not len([True for pattern in folder_exclude_patterns if fnmatch(f, pattern)]): self.find_files([fullpath], ret) else: # excluded file? - if not len([True for pattern in file_exclude_patterns if fnmatch(file, pattern)]): + if not len([True for pattern in file_exclude_patterns if fnmatch(f, pattern)]): ret.append(fullpath) if len(ret) >= max_files: sublime.status_message('Too many files to include all of them in this list') From 01b52ee1f124560b76b511a1181aac044d9d42bc Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Mon, 24 Mar 2014 08:16:57 -0600 Subject: [PATCH 14/60] fixes dup entries in 'diff file with file in project' --- file_diffs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file_diffs.py b/file_diffs.py index af92364..e8796ea 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -266,7 +266,7 @@ class FileDiffFileCommand(FileDiffCommand): def run(self, edit, **kwargs): common = None folders = self.view.window().folders() - files = self.find_files(folders) + files = self.find_files(folders, []) for folder in folders: if common is None: common = folder From f1018ff31bace1bedde7667a3357d0d435680d39 Mon Sep 17 00:00:00 2001 From: User Date: Sat, 14 Jun 2014 00:33:33 -0400 Subject: [PATCH 15/60] Fixes #19 - Prevent console from popping up --- file_diffs.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/file_diffs.py b/file_diffs.py index e8796ea..95357ec 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -6,6 +6,7 @@ import sublime_plugin import difflib import tempfile +import subprocess from fnmatch import fnmatch import codecs @@ -164,7 +165,7 @@ def trim_trailing_white_space(file_name): if sublime.platform() == "windows": Popen(external_command) else: - self.view.window().run_command("exec", {"cmd": external_command}) + subprocess.Popen(external_command) except Exception as e: # some basic logging here, since we are cluttering the /tmp folder sublime.status_message(str(e)) From 74584d3cf7779876aba62845d2eb724faf5fafb5 Mon Sep 17 00:00:00 2001 From: Starli0n Date: Tue, 25 Mar 2014 15:27:11 +0100 Subject: [PATCH 16/60] Improve file_diff_previous command with selection --- file_diffs.py | 49 +++++++++++++++++++++---------------------------- 1 file changed, 21 insertions(+), 28 deletions(-) diff --git a/file_diffs.py b/file_diffs.py index 95357ec..db8a6af 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -61,16 +61,16 @@ class FileDiffCommand(sublime_plugin.TextCommand): def settings(self): return sublime.load_settings('FileDiffs.sublime-settings') - def diff_content(self): + def diff_content(self, view): content = '' - for region in self.view.sel(): + for region in view.sel(): if region.empty(): continue - content += self.view.substr(region) + content += view.substr(region) if not content: - content = self.view.substr(sublime.Region(0, self.view.size())) + content = view.substr(sublime.Region(0, view.size())) return content def prep_content(self, ab, file_name, default_name): @@ -183,6 +183,16 @@ def read_file(self, file_name): content = f.read() return content + def get_file_name(self, view, default_name): + file_name = '' + if view.file_name(): + file_name = view.file_name() + elif view.name(): + file_name = view.name() + else: + file_name = default_name + return file_name + class FileDiffDummy1Command(sublime_plugin.TextCommand): def run(self, edit, content): @@ -197,7 +207,7 @@ def run(self, edit, **kwargs): from_file += ' (Selection)' break clipboard = sublime.get_clipboard() - self.run_diff(self.diff_content(), clipboard, + self.run_diff(self.diff_content(self.view), clipboard, from_file=from_file, to_file='(clipboard)', **kwargs) @@ -254,7 +264,7 @@ def is_visible(self): class FileDiffSavedCommand(FileDiffCommand): def run(self, edit, **kwargs): - self.run_diff(self.read_file(self.view.file_name()), self.diff_content(), + self.run_diff(self.read_file(self.view.file_name()), self.diff_content(self.view), from_file=self.view.file_name(), to_file=self.view.file_name() + ' (Unsaved)', **kwargs) @@ -285,7 +295,7 @@ def run(self, edit, **kwargs): def on_done(index): if index > -1: - self.run_diff(self.diff_content(), self.read_file(files[index]), + self.run_diff(self.diff_content(self.view), self.read_file(files[index]), from_file=self.view.file_name(), to_file=files[index], **kwargs) @@ -340,7 +350,7 @@ def run(self, edit, **kwargs): def on_done(index): if index > -1: - self.run_diff(self.diff_content(), contents[index], + self.run_diff(self.diff_content(self.view), contents[index], from_file=self.view.file_name(), to_file=files[index], **kwargs) @@ -363,26 +373,9 @@ def is_visible(self): class FileDiffPreviousCommand(FileDiffCommand): def run(self, edit, **kwargs): if previous_view: - previous_view_content = previous_view.substr(sublime.Region(0, previous_view.size())) - previous_view_name = '' - if previous_view.file_name(): - previous_view_name = previous_view.file_name() - elif previous_view.name(): - previous_view_name = previous_view.name() - else: - previous_view_name = 'untitled (Previous)' - - view_name = '' - if self.view.file_name(): - view_name = self.view.file_name() - elif self.view.name(): - view_name = self.view.name() - else: - view_name = 'untitled (Current)' - - self.run_diff(previous_view_content, self.diff_content(), - from_file=previous_view_name, - to_file=view_name, + self.run_diff(self.diff_content(previous_view), self.diff_content(self.view), + from_file=self.get_file_name(previous_view, 'untitled (Previous)'), + to_file=self.get_file_name(self.view, 'untitled (Current)'), **kwargs) def is_visible(self): From 364de9c5f3c9141519f3d523ad5fd05de0179986 Mon Sep 17 00:00:00 2001 From: Starli0n Date: Tue, 25 Mar 2014 15:47:37 +0100 Subject: [PATCH 17/60] Fix bug on clipboard command --- file_diffs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file_diffs.py b/file_diffs.py index db8a6af..af634d0 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -201,7 +201,7 @@ def run(self, edit, content): class FileDiffClipboardCommand(FileDiffCommand): def run(self, edit, **kwargs): - from_file = self.view.file_name() + from_file = self.get_file_name(self.view, 'untitled') for region in self.view.sel(): if not region.empty(): from_file += ' (Selection)' From 057392040fcaf0d8d48d5ba3cc30a412719c77cc Mon Sep 17 00:00:00 2001 From: Starli0n Date: Wed, 26 Mar 2014 14:33:07 +0100 Subject: [PATCH 18/60] Add apply_tempfile_changes_after_diff_tool feature --- FileDiffs.sublime-settings | 2 ++ file_diffs.py | 57 ++++++++++++++++++++++++++++++++++++-- 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/FileDiffs.sublime-settings b/FileDiffs.sublime-settings index 86bae91..910d957 100644 --- a/FileDiffs.sublime-settings +++ b/FileDiffs.sublime-settings @@ -35,4 +35,6 @@ // "trim_trailing_white_space_before_diff": false // "expand_full_file_name_in_tab": false + + // "apply_tempfile_changes_after_diff_tool": false } diff --git a/file_diffs.py b/file_diffs.py index af634d0..09d7723 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -100,14 +100,14 @@ def run_diff(self, a, b, from_file, to_file, **options): open_in_sublime = self.settings().get('open_in_sublime', not external_command) if external_command: - self.diff_with_external(external_command, a, b, from_file, to_file) + self.diff_with_external(external_command, a, b, from_file, to_file, **options) if open_in_sublime: # fix diffs diffs = map(lambda line: (line and line[-1] == "\n") and line or line + "\n", diffs) self.diff_in_sublime(diffs) - def diff_with_external(self, external_command, a, b, from_file=None, to_file=None): + def diff_with_external(self, external_command, a, b, from_file=None, to_file=None, **options): try: try: from_file_exists = os.path.exists(from_file) @@ -166,6 +166,17 @@ def trim_trailing_white_space(file_name): Popen(external_command) else: subprocess.Popen(external_command) + + apply_tempfile_changes_after_diff_tool = self.settings().get('apply_tempfile_changes_after_diff_tool', False) + post_diff_tool = options.get('post_diff_tool') + if apply_tempfile_changes_after_diff_tool and post_diff_tool is not None and (not from_file_exists or not to_file_exists): + if from_file_exists: + from_file = None + if to_file_exists: + to_file = None + # Use a dialog to block st and wait for the closing of the diff tool + if sublime.ok_cancel_dialog("Apply changes from tempfile after external diff tool execution?"): + post_diff_tool(from_file, to_file) except Exception as e: # some basic logging here, since we are cluttering the /tmp folder sublime.status_message(str(e)) @@ -193,6 +204,27 @@ def get_file_name(self, view, default_name): file_name = default_name return file_name + def get_content_from_file(self, file_name): + with codecs.open(file_name, encoding='utf-8', mode='r') as f: + lines = f.readlines() + lines = [line.replace("\r\n", "\n").replace("\r", "\n") for line in lines] + content = ''.join(lines) + return content + + def update_view(self, view, edit, tmp_file): + if tmp_file: + non_empty_regions = [region for region in view.sel() if not region.empty()] + nb_non_empty_regions = len(non_empty_regions) + region = None + if nb_non_empty_regions == 0: + region = sublime.Region(0, view.size()) + elif nb_non_empty_regions == 1: + region = non_empty_regions[0] + else: + sublime.status_message('Cannot update multiselection') + return + view.replace(edit, region, self.get_content_from_file(tmp_file)) + class FileDiffDummy1Command(sublime_plugin.TextCommand): def run(self, edit, content): @@ -207,6 +239,11 @@ def run(self, edit, **kwargs): from_file += ' (Selection)' break clipboard = sublime.get_clipboard() + def on_post_diff_tool(from_file, to_file): + self.update_view(self.view, edit, from_file) + sublime.set_clipboard(self.get_content_from_file(to_file)) + + kwargs.update({'post_diff_tool': on_post_diff_tool}) self.run_diff(self.diff_content(self.view), clipboard, from_file=from_file, to_file='(clipboard)', @@ -264,6 +301,10 @@ def is_visible(self): class FileDiffSavedCommand(FileDiffCommand): def run(self, edit, **kwargs): + def on_post_diff_tool(from_file, to_file): + self.update_view(self.view, edit, to_file) + + kwargs.update({'post_diff_tool': on_post_diff_tool}) self.run_diff(self.read_file(self.view.file_name()), self.diff_content(self.view), from_file=self.view.file_name(), to_file=self.view.file_name() + ' (Unsaved)', @@ -334,6 +375,7 @@ def run(self, edit, **kwargs): my_id = self.view.id() files = [] contents = [] + views = [] untitled_count = 1 for v in self.view.window().views(): if v.id() != my_id: @@ -347,9 +389,15 @@ def run(self, edit, **kwargs): untitled_count += 1 contents.append(this_content) + views.append(v) def on_done(index): if index > -1: + def on_post_diff_tool(from_file, to_file): + self.update_view(self.view, edit, from_file) + self.update_view(views[index], edit, to_file) + + kwargs.update({'post_diff_tool': on_post_diff_tool}) self.run_diff(self.diff_content(self.view), contents[index], from_file=self.view.file_name(), to_file=files[index], @@ -373,6 +421,11 @@ def is_visible(self): class FileDiffPreviousCommand(FileDiffCommand): def run(self, edit, **kwargs): if previous_view: + def on_post_diff_tool(from_file, to_file): + self.update_view(previous_view, edit, from_file) + self.update_view(current_view, edit, to_file) + + kwargs.update({'post_diff_tool': on_post_diff_tool}) self.run_diff(self.diff_content(previous_view), self.diff_content(self.view), from_file=self.get_file_name(previous_view, 'untitled (Previous)'), to_file=self.get_file_name(self.view, 'untitled (Current)'), From 5acbe8f8c65432843591b928f0d42590e72513c9 Mon Sep 17 00:00:00 2001 From: Starli0n Date: Fri, 28 Mar 2014 18:41:10 +0100 Subject: [PATCH 19/60] Fix Issue #55 --- file_diffs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/file_diffs.py b/file_diffs.py index 09d7723..4bbb622 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -250,7 +250,7 @@ def on_post_diff_tool(from_file, to_file): **kwargs) def is_visible(self): - return sublime.get_clipboard() + return sublime.get_clipboard() != '' class FileDiffSelectionsCommand(FileDiffCommand): @@ -432,7 +432,7 @@ def on_post_diff_tool(from_file, to_file): **kwargs) def is_visible(self): - return previous_view + return previous_view is not None def record_current_view(view): global previous_view From ace85cc22f90c7930d39d6af3a4eab5de744aa60 Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Thu, 28 Aug 2014 09:44:14 -0600 Subject: [PATCH 20/60] 'limit' settings example --- FileDiffs.sublime-settings | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/FileDiffs.sublime-settings b/FileDiffs.sublime-settings index 910d957..cbe4f94 100644 --- a/FileDiffs.sublime-settings +++ b/FileDiffs.sublime-settings @@ -33,8 +33,7 @@ // "cmd": ["deltawalker", "-nosplash", "$file1", "$file2"] // "trim_trailing_white_space_before_diff": false - // "expand_full_file_name_in_tab": false - // "apply_tempfile_changes_after_diff_tool": false + // "limit": 1000 } From 9224a1309fa123f4f014024091fbed11bb35aade Mon Sep 17 00:00:00 2001 From: Burt Beckwith Date: Mon, 1 Sep 2014 10:23:23 -0400 Subject: [PATCH 21/60] Bug fix for unnamed view I was seeing a lot of these errors in ST3: ``` Traceback (most recent call last): File "/opt/sublime_text_3_build_3065_x64/sublime_plugin.py", line 472, in is_visible_ raise ValueError("is_visible must return a bool", self) ValueError: ('is_visible must return a bool', ) ``` `file_name()` returns `None` for a new view that hasn't been saved yet and has no name, and apparently Python won't coerce that to boolean, so the return value type is wrong. Either wrapping in `bool( ... )` or using `self.view.file_name() is not None` both worked for me. --- file_diffs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file_diffs.py b/file_diffs.py index 4bbb622..2f71b03 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -311,7 +311,7 @@ def on_post_diff_tool(from_file, to_file): **kwargs) def is_visible(self): - return self.view.file_name() and self.view.is_dirty() + return bool(self.view.file_name()) and self.view.is_dirty() class FileDiffFileCommand(FileDiffCommand): From 96d7179e10726e3b8b3941c169af5e20a285b18f Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Fri, 24 Oct 2014 17:19:25 -0600 Subject: [PATCH 22/60] needed version information --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 29d55aa..c12b12d 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "labels": ["diff/merge"], "releases": [ { - "details": "https://github.com/colinta/SublimeFileDiffs/tags" + "details": "https://github.com/colinta/SublimeFileDiffs/tags", + "sublime_text": ">=3000" } ] } \ No newline at end of file From 278f06db372b4b63838a633ccd228a516694ecba Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Wed, 26 Nov 2014 09:15:47 -0700 Subject: [PATCH 23/60] version fix --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c12b12d..5c3e54c 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "releases": [ { "details": "https://github.com/colinta/SublimeFileDiffs/tags", - "sublime_text": ">=3000" + "sublime_text": "*" } ] } \ No newline at end of file From c65a7b85bfa4bf7139300d128456dd093cc0acc3 Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Wed, 26 Nov 2014 09:45:26 -0700 Subject: [PATCH 24/60] quotes and bool refactors --- file_diffs.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/file_diffs.py b/file_diffs.py index 2f71b03..2dc55fd 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -142,7 +142,7 @@ def trim_trailing_white_space(file_name): modified = False with codecs.open(file_name, encoding='utf-8', mode='r') as f: lines = f.readlines() - lines = [line.replace("\n", "").replace("\r", "") for line in lines] + lines = [line.replace("\n", '').replace("\r", '') for line in lines] for line in lines: trim_line = line.rstrip() trim_lines.append(trim_line) @@ -189,7 +189,7 @@ def diff_in_sublime(self, diffs): scratch.run_command('file_diff_dummy1', {'content': diffs}) def read_file(self, file_name): - content="" + content = '' with codecs.open(file_name, mode='U', encoding='utf-8') as f: content = f.read() return content @@ -250,7 +250,7 @@ def on_post_diff_tool(from_file, to_file): **kwargs) def is_visible(self): - return sublime.get_clipboard() != '' + return bool(sublime.get_clipboard()) class FileDiffSelectionsCommand(FileDiffCommand): @@ -258,7 +258,7 @@ def trim_indent(self, lines): indent = None for line in lines: # ignore blank lines - if line == '': + if not line: continue new_indent = re.match('[ \t]*', line).group(0) From 6acc8ebf3add69a1201cc206c8fbcce564025436 Mon Sep 17 00:00:00 2001 From: MickaelBaye Date: Thu, 11 Dec 2014 09:25:38 +0100 Subject: [PATCH 25/60] Update README : Additional git clone command --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 824b8e9..430a478 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,10 @@ Or: 2. clone this repo, but use the `st2` branch git clone -b st2 git@github.com:colinta/SublimeFileDiffs + + or + + git clone -b st2 https://github.com/colinta/SublimeFileDiffs.git Add External Diff Tool *(optional)* -------- From 54a721f2f63fc31bb61c9ed28aa53ee3137d14a4 Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Fri, 17 Apr 2015 13:14:22 -0600 Subject: [PATCH 26/60] use popup instead of status message --- file_diffs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file_diffs.py b/file_diffs.py index 2dc55fd..a49efe2 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -94,7 +94,7 @@ def run_diff(self, a, b, from_file, to_file, **options): diffs = list(difflib.unified_diff(from_content, to_content, from_file, to_file)) if not diffs: - sublime.status_message('No Difference') + self.view.show_popup('No Difference') else: external_command = external_diff_tool or self.settings().get('cmd') open_in_sublime = self.settings().get('open_in_sublime', not external_command) From e8e6ca3bbfd95ce412122bf37aabb1ff08f717cd Mon Sep 17 00:00:00 2001 From: Joshua Tasker Date: Fri, 10 Jul 2015 17:50:05 -0400 Subject: [PATCH 27/60] Use status message for ST2, popup for ST3 --- file_diffs.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/file_diffs.py b/file_diffs.py index a49efe2..57cc96e 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -94,7 +94,10 @@ def run_diff(self, a, b, from_file, to_file, **options): diffs = list(difflib.unified_diff(from_content, to_content, from_file, to_file)) if not diffs: - self.view.show_popup('No Difference') + if (sublime.version() < '3000'): + sublime.status_message('No Difference') + else: + self.view.show_popup('No Difference') else: external_command = external_diff_tool or self.settings().get('cmd') open_in_sublime = self.settings().get('open_in_sublime', not external_command) From 219c8150026354d6216bd930c7aa94690bad2ceb Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Sun, 12 Jul 2015 07:38:01 +0200 Subject: [PATCH 28/60] No parens necessary --- file_diffs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file_diffs.py b/file_diffs.py index 57cc96e..d523e39 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -94,7 +94,7 @@ def run_diff(self, a, b, from_file, to_file, **options): diffs = list(difflib.unified_diff(from_content, to_content, from_file, to_file)) if not diffs: - if (sublime.version() < '3000'): + if sublime.version() < '3000': sublime.status_message('No Difference') else: self.view.show_popup('No Difference') From 8151f4cfe4611c15432845d660e11c342c1049eb Mon Sep 17 00:00:00 2001 From: James Hobson Date: Thu, 29 Oct 2015 12:01:24 +0000 Subject: [PATCH 29/60] Add Beyond Compare command line tools settings --- FileDiffs.sublime-settings | 83 ++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 39 deletions(-) diff --git a/FileDiffs.sublime-settings b/FileDiffs.sublime-settings index cbe4f94..cf2a5ec 100644 --- a/FileDiffs.sublime-settings +++ b/FileDiffs.sublime-settings @@ -1,39 +1,44 @@ -// You can set a command like this -// "cmd": ["command", "$file1", "$file2"] - -// You can also include other command line parameters like this -// "cmd": ["command", "-parameter1", "-parameter2", "$file1", "$file2"] - -{ - // just uncomment one of the examples - // or write your own command - // NOTE: Copy/paste example below or write your own command in: Package Settings --> FileDiffs --> Settings - User - // This file will be overwritten if the package is updated. - - // The "command" argument is different depending on your system, for instance - // you might need to prefix /usr/local/bin, or use another explicit path. - - // opendiff (FileMerge) - // "cmd": ["opendiff", "$file1", "$file2"] - - // ksdiff (Kaleidoscope) - // "cmd": ["ksdiff", "$file1", "$file2"] - - // "open_in_sublime": false - // twdiff (Textwrangler) - // "cmd": ["twdiff", "$file1", "$file2"] - - // bbdiff (BBEdit) NOTE: Use example below if you receive error. - // "cmd": ["bbdiff", "$file1", "$file2"] - - // bbdiff (BBEdit) - // "cmd" ["/usr/local/bin/bbdiff", "$file1", "$file2"] - - // deltawalker (DeltaWalker) - // "cmd": ["deltawalker", "-nosplash", "$file1", "$file2"] - - // "trim_trailing_white_space_before_diff": false - // "expand_full_file_name_in_tab": false - // "apply_tempfile_changes_after_diff_tool": false - // "limit": 1000 -} +// You can set a command like this +// "cmd": ["command", "$file1", "$file2"] + +// You can also include other command line parameters like this +// "cmd": ["command", "-parameter1", "-parameter2", "$file1", "$file2"] + +{ + // just uncomment one of the examples + // or write your own command + // NOTE: Copy/paste example below or write your own command in: Package Settings --> FileDiffs --> Settings - User + // This file will be overwritten if the package is updated. + + // The "command" argument is different depending on your system, for instance + // you might need to prefix /usr/local/bin, or use another explicit path. + + // opendiff (FileMerge) + // "cmd": ["opendiff", "$file1", "$file2"] + + // ksdiff (Kaleidoscope) + // "cmd": ["ksdiff", "$file1", "$file2"] + + // "open_in_sublime": false + // twdiff (Textwrangler) + // "cmd": ["twdiff", "$file1", "$file2"] + + // bbdiff (BBEdit) NOTE: Use example below if you receive error. + // "cmd": ["bbdiff", "$file1", "$file2"] + + // bbdiff (BBEdit) + // "cmd" ["/usr/local/bin/bbdiff", "$file1", "$file2"] + + // deltawalker (DeltaWalker) + // "cmd": ["deltawalker", "-nosplash", "$file1", "$file2"] + + // bcomp (Beyond Compare) + // Install Beyond Compare Command Line Tools: + // Beyond Compare > Install Command Line Tools + "cmd": ["/usr/local/bin/bcomp", "$file1", "$file2"] + + // "trim_trailing_white_space_before_diff": false + // "expand_full_file_name_in_tab": false + // "apply_tempfile_changes_after_diff_tool": false + // "limit": 1000 +} From 2c72c3d9c9aa00c7dac160c3c8c278c95d787706 Mon Sep 17 00:00:00 2001 From: James Hobson Date: Thu, 29 Oct 2015 12:03:58 +0000 Subject: [PATCH 30/60] Commented out verAdd Beyond Compare command line tools settings --- FileDiffs.sublime-settings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FileDiffs.sublime-settings b/FileDiffs.sublime-settings index cf2a5ec..0d0ffc2 100644 --- a/FileDiffs.sublime-settings +++ b/FileDiffs.sublime-settings @@ -35,7 +35,7 @@ // bcomp (Beyond Compare) // Install Beyond Compare Command Line Tools: // Beyond Compare > Install Command Line Tools - "cmd": ["/usr/local/bin/bcomp", "$file1", "$file2"] + // "cmd": ["/usr/local/bin/bcomp", "$file1", "$file2"] // "trim_trailing_white_space_before_diff": false // "expand_full_file_name_in_tab": false From 38f2c5b83f42759d40d264c8a06dac239005c51e Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Thu, 10 Dec 2015 09:54:27 -0700 Subject: [PATCH 31/60] adds the 'reverse' option to all diff commands --- file_diffs.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/file_diffs.py b/file_diffs.py index d523e39..d5cab2a 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -88,6 +88,10 @@ def prep_content(self, ab, file_name, default_name): def run_diff(self, a, b, from_file, to_file, **options): external_diff_tool = options.get('cmd') + if options.get('reverse'): + from_file, to_file = to_file, from_file + a, b = b, a + (from_content, from_file) = self.prep_content(a, from_file, 'from_file') (to_content, to_file) = self.prep_content(b, to_file, 'to_file') From e10655746b8dc15de9558bad2aa437924ef3871b Mon Sep 17 00:00:00 2001 From: Ali Ayas Date: Sun, 20 Mar 2016 12:54:50 +0200 Subject: [PATCH 32/60] Word improvement for consistency --- file_diffs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file_diffs.py b/file_diffs.py index d5cab2a..ff771f1 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -21,7 +21,7 @@ class FileDiffMenuCommand(sublime_plugin.TextCommand): SAVED = 'Diff file with Saved' FILE = u'Diff file with File in Project…' TAB = u'Diff file with Open Tab…' - PREVIOUS = 'Diff file with Previous window' + PREVIOUS = 'Diff file with Previous Tab' FILE_DIFFS = [CLIPBOARD, SAVED, FILE, TAB, PREVIOUS] From 6584c19568efcadc1e48bea569603503f1f3130a Mon Sep 17 00:00:00 2001 From: Ali Ayas Date: Sun, 20 Mar 2016 23:27:44 +0200 Subject: [PATCH 33/60] Improve FileDiffMenuCommand * No more search item by string. This will allow further improvement. * Shortened. --- file_diffs.py | 55 +++++++++++++++++++++------------------------------ 1 file changed, 22 insertions(+), 33 deletions(-) diff --git a/file_diffs.py b/file_diffs.py index ff771f1..4ca2aa6 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -16,45 +16,34 @@ class FileDiffMenuCommand(sublime_plugin.TextCommand): - CLIPBOARD = 'Diff file with Clipboard' - SELECTIONS = 'Diff Selections' - SAVED = 'Diff file with Saved' - FILE = u'Diff file with File in Project…' - TAB = u'Diff file with Open Tab…' - PREVIOUS = 'Diff file with Previous Tab' + def run(self, edit, cmd=None): + # Individual menu items. + CLIPBOARD = {'text': 'Diff file with Clipboard', 'command' : 'file_diff_clipboard'} + SELECTIONS = {'text': 'Diff Selections', 'command' : 'file_diff_selections'} + SAVED = {'text': 'Diff file with Saved', 'command' : 'file_diff_saved'} + FILE = {'text': u'Diff file with File in Project…', 'command' : 'file_diff_file'} + TAB = {'text': u'Diff file with Open Tab…', 'command' : 'file_diff_tab'} + PREVIOUS = {'text': 'Diff file with Previous Tab', 'command' : 'file_diff_previous'} - FILE_DIFFS = [CLIPBOARD, SAVED, FILE, TAB, PREVIOUS] + menu_items = [CLIPBOARD, SELECTIONS, SAVED, FILE, TAB, PREVIOUS] - def run(self, edit, cmd=None): - menu_items = self.FILE_DIFFS[:] - saved = self.SAVED - non_empty_regions = [region for region in self.view.sel() if not region.empty()] - if len(non_empty_regions) == 2: - menu_items.insert(1, self.SELECTIONS) - elif len(non_empty_regions): - menu_items = [f.replace('Diff file', 'Diff selection') for f in menu_items] - saved = saved.replace('Diff file', 'Diff selection') + non_empty_regions = len([region for region in self.view.sel() if not region.empty()]) + + if non_empty_regions != 2: + menu_items.remove(SELECTIONS) + + if non_empty_regions and non_empty_regions != 2: + for item in menu_items: + item['text'] = item['text'].replace('Diff file', 'Diff selection') if not (self.view.file_name() and self.view.is_dirty()): - menu_items.remove(saved) + menu_items.remove(SAVED) def on_done(index): - restored_menu_items = [f.replace('Diff selection', 'Diff file') for f in menu_items] - if index == -1: - return - elif restored_menu_items[index] == self.CLIPBOARD: - self.view.run_command('file_diff_clipboard', {'cmd': cmd}) - elif restored_menu_items[index] == self.SELECTIONS: - self.view.run_command('file_diff_selections', {'cmd': cmd}) - elif restored_menu_items[index] == self.SAVED: - self.view.run_command('file_diff_saved', {'cmd': cmd}) - elif restored_menu_items[index] == self.FILE: - self.view.run_command('file_diff_file', {'cmd': cmd}) - elif restored_menu_items[index] == self.TAB: - self.view.run_command('file_diff_tab', {'cmd': cmd}) - elif restored_menu_items[index] == self.PREVIOUS: - self.view.run_command('file_diff_previous', {'cmd': cmd}) - self.view.window().show_quick_panel(menu_items, on_done) + if index >= 0: + self.view.run_command(menu_items[index]['command'], {'cmd': cmd}) + + self.view.window().show_quick_panel([item['text'] for item in menu_items], on_done) class FileDiffCommand(sublime_plugin.TextCommand): From 9553b728e21c155dce93d4dd6837cd9292166d0f Mon Sep 17 00:00:00 2001 From: Ali Ayas Date: Sun, 20 Mar 2016 23:28:59 +0200 Subject: [PATCH 34/60] Display external tool name in diff menu (if any) --- file_diffs.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/file_diffs.py b/file_diffs.py index 4ca2aa6..db4ee71 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -36,6 +36,10 @@ def run(self, edit, cmd=None): for item in menu_items: item['text'] = item['text'].replace('Diff file', 'Diff selection') + if cmd is not None: + for item in menu_items: + item['text'] += ' (' + os.path.splitext(os.path.basename(cmd[0]))[0] + ')' + if not (self.view.file_name() and self.view.is_dirty()): menu_items.remove(SAVED) From 3c6cd7dffccc0489b9e238f0a19efc9364622590 Mon Sep 17 00:00:00 2001 From: "ildar r. khasanshin" Date: Fri, 30 Sep 2016 08:06:22 +0500 Subject: [PATCH 35/60] screenshots --- README.md | 14 ++++++++++++-- preview_1.png | Bin 0 -> 117591 bytes preview_2.png | Bin 0 -> 125309 bytes preview_3.png | Bin 0 -> 92222 bytes 4 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 preview_1.png create mode 100644 preview_2.png create mode 100644 preview_3.png diff --git a/README.md b/README.md index 430a478..69fac41 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,16 @@ FileDiffs Plugin Shows diffs between the current file, or selection(s) in the current file, and clipboard, another file, or unsaved changes. Can be configured to show diffs in an external diff tool +## Preview + +![Preview] (https://github.com/ildarkhasanshin/SublimeFileDiffs/raw/master/preview_1.png) + +![Preview] (https://github.com/ildarkhasanshin/SublimeFileDiffs/raw/master/preview_2.png) + +![Preview] (https://github.com/ildarkhasanshin/SublimeFileDiffs/raw/master/preview_3.png) + +-------------- + Help! ----- @@ -31,9 +41,9 @@ Or: 2. clone this repo, but use the `st2` branch git clone -b st2 git@github.com:colinta/SublimeFileDiffs - + or - + git clone -b st2 https://github.com/colinta/SublimeFileDiffs.git Add External Diff Tool *(optional)* diff --git a/preview_1.png b/preview_1.png new file mode 100644 index 0000000000000000000000000000000000000000..04281c5ba3db070f107ad7a717828510774fa9d5 GIT binary patch literal 117591 zcmZ^~byQSQ-vvA%B`s2dq#&h)lypcpNT+~wDcyslG}1jH-3`(W(lK-m-JL_ucX{6T z`Tls<_uX|_tTk)m+;jFX_TJ}&swhe0V3J{iKp-4h83{EI2vq|FLf*wd23`@=QndvB zJ^v=7;{*cXc0c_gC9vRhk z!?vSgY&iXcdL-v(Qa?vB=8=PqNrR2GGpO-T@Kvz!QSdQ9exu?lFE;bgUOWT+elv^x z+)E2nlGdMokGJYlG9QYCa$kj*+`se|ZVOu{M@FKlBe~tO{(K>00Q+vms8j=Qp5AtC zt-=Q>DO?x%V8~N}MDJm)wYW6qmck%Hl0j<<|AYiWkY$}(__%+97-qa@BT?3 zd+)`F)Bn6_h%`{eM>^}5D8}iY050jYii+}-o5b?RzYo#eTz{2JNUwT3ao(38bxu{4 zv111;AV@XC{xDKThb$n*D8Om0SwQ<3>a1SI=)2zeQUQw&bBM{hP;&e8)G%TuisMwY7LXt58DsI@s7Ub=taCQc_Yb zH#X1eC>Jz67DLy+eo99WT3cJI!nkqjjv_`KXwAR&>qH|TiSvhM@p~qw z2H%IX&qzdcApvwd*twfZchC?a+oTKxG& zqLHpX8MOk(exWiu?N#PX$W-oGO9v2WM@L7cdi8mXa>Y}7&is*5pJ6Y$v8iQaN4I(H z=DDb;scC3dPuKf2H8st^MU7Tknq$9y{rdZxoTDrj1r?RsYJ!e~gX7JcuKD@K17$Rp z=e#43{j1S|fv}%HN%@@%M5$MTLslLU!Lro&v-9(=hx4^QcUNGS8xDldTd;{)(m~T!^BAOvpJ< z`9Yw6!Zr6zpFp6MY4Gh|71`Z&g3UP^1=lmj`}V zB4~)Oa(&1%ng&v%bEqjm<){hf}0fHgtDSz&g25ojF028UqLC{kwPX zn3=2U>U@1K%jHn*Oif>sk%eL14tHq8nh&QEk&tMq%Kr5fhdSHam$kKlVXZ!=sfcot zvWnZQ!!+Qj6BD-%4u(px&+eNjpVG1oN<=L}wz4`6r7EGJo{I55P*ul^bp(kXY|+s) z(3B^x3Ypx$L!m7UD2`JX1;s}N)?yx!+I$0v(3~DmjBwn*8{~o2+S#2d^rrnYMV9$l zriqf~5L9?%tJk{j+n;Sqw9nekc3C;k;1(FOe%*I z(WG^)1a09(cQh8+I137C zKc1eCiX;tg0{E_lU%Yv$mo3B*SBUeBY=Jv{k(k6fuk~r^4kd}B!$Btg6)(3i*VRvC zAkfc@G!)cVmIWjX8KGMTYG2L~Ji?;f?C5Yk4@K z;tnDt0#4$Iv1RD&PLAzZNMG1~d%HozvwlWJZJpl$p?FEbR>DJw8I+Kq0Sx};d^<>- zW~O|w_UN0K>FcuC8Y}2l8{+XLX3%2D+5ofc+&n&zM&sTp5`;=%cTKv*SI&!Kgi8GR zzTW$AyI)QanscyD4JQIUA?_b36+&4j2rq+9kO;h`ySI5>C>nP7kUihyj9r=cI~A9G zxQm5^$}#OosZ=lC0r8CHY-gU<7e0XpG_x7E$Xdfi0$<3u_-Qj(uC99Mv2n?A4ALB1jgiDn2KNnBEdi9Fa zeCXurs@LYR<0;+rVJe1Re|dpU(h(P14z31 z*gq#kKG$MSz{SONb#=YDxw)iZI*{!D`awWI03AIfHkLqMez2-%VE}V}dYYKzf;_62 z?&|6asDXX!2}_uy!M_GKfBg9I_Z0TA;@$q?Aq6REa!LvlK8AK8_tm)cQ=EAzuJ)gh zn#Z0g-&@!6Gcw9#k5_1XUeXq(PuD9$qOZ;NaVX1W?mZ_<;v^Ng zJ5rUt8(&q-kq}Cisck2D*;#R=wzrGgXNUwF&*l$40-3+Py?qZWRW*+iz6-7F3Ws^;=cJZkomJMiEZY0X;6S zns~*cDTOv18w|_0kI*pO_@5fqNQ@%{Fr_qsq`~9XwdUsLz_d0rG)!fJkmZ$Er@GwY ze;Av5sT%De@tntyGkPlsZf5^-uXU^^w`U&#h2rUJVc>laD8Mf|A8e`n`XMDCAOKiD z&0>1lSUTB6GetJbhioDF$DzYYOH*ZDnvQtERtN(}V#{LP>RLGl&5FQfTD?g`J;-XJ zPVw%32J4X6wX&@24M8P#j5gx0B>+-=AMCu**{hTe2 zy+X_@znsf8pJKbx=PHQ{p)CsU25;}~7Ut%FEG!H$s>A={(}(rc-Rz;+BTSQJ@x}Fd zf6L`sPnWz>gii5>;3JEZO)v4C{!{d@%+cvB{9N$KqCT79g?MAcr$MlAdfDWzOU~!M z=TND-3R8T5Y6S`g1%QJdf8e&WVFaC=@5ZUSpCe19TKSIV4mu{Zh7dPnyhX_=8Z3jg|Cij z`Tgcw`%90(BXbko)?SXS?B~l#zOY|#cE}~Upqse}+Y2P1Lpv$eoma$D-A%&d0P zkVP?Qbc;WU7X|{;_7K-KI`dkiGwJwob#_@uM9+BI`mCn)$Xj38P>KHZ`dV2|Zfy(U zlz|99$K%=5e|ug(a;W6vwjPbU1qy015l6reu9mfHM0zdijtj<0;+q$xtJ+h*hz|pM zLnKa0B+E@C7-7k^IHp=B9?Wwq<9GaiCueii^$J&Pf8T%kAm8ztT9aAgH@4M{zRn zW>B+Cx7u}TXp48+p{dwhhqw~M&uiH4;)BM&CJ6Xu7_a&dmF=9bmH~}^&+vQnngEhg zom%UuJxHEQ9fJ-rjbDB_~<7MyCK;z2>2H)l6DXWpNTAP{D%!Q-X;98PQavZ}Z zd~7+ZE+lWo)hpVJo7GF{;r|U{I?dkY;k}{AMhvf~ozUWuN z)~?OxCvKhHKe^SMw261I%sO6f`92&*ESF6}slN#^m6tI;SA^=*11SX~>*vp(BzyNW zTm1rv=KU}Cg&6_%-YwLsW=oeL#{#nw5AGM8L8dGwf03vHvob)=y^!_%{FdtDtrjmP zH(cx{Zo7e2K}|@b@nU+&dh}8o_8?XX_%paFhw-FwNvLK~V}K`c z*+5s|6hGMuZC)>>9_Lpq#sP9OszsF?X`q@CY-Hru`_vY4ke})gokWG`cQ>1Ay2bdm zIP_3$@ggp7_=!Q2D?J0l@lq47kdP2N`^jNF3@G_|L~J0CB9u@PsD-(Cd2)0FxoW%X z>!#LXSb}%HwXM)~f%>DxhVPHpqi&G2MrThwPS(AW4~HgodeK*`-k_5M(*36G*VH*h z!tyUpGH!|7UeWlagk-LhvMMRe>vC zDI-vP6{{9OPZPlZQ3Vw5l$_7X`Z?0i=t1`NO>U{h#Do*Nn?5q=Hyc{`q+rIuNNdgS z>kzc$7bslhLJgY}hqciQ`?~>n!rH)c0+>#GulK}WDk>`QgyFyQeqaQ3DrN9z2zhDJ z5mdgDkNsPX@)W#uPXa)ZY8@kC7dvypz|2fN&KL^L06HG`1?<~*RbBy-ty%>Z@K-$ znsPoK378ZY^mDaS6nj|HzEQ~M6;eXknRCEzI30B$zE~_FWTTTthCrLR@?F=7;N7t9 z*znODCwrU=e8It0cru{fqPxC&ev%eNl=)ddO4swkxA_{(Qx(Qtb#@Dh>FKXYNk7`o zR;;b9rAEyIWZ~lUbTtq3?GWMbj~w?b>)qm~Kfui|t?m6`d&fZ1`Mm0Y9)mJ^fTLg()zWeW{9-%kfA;013n@qQVGvl=w5^{e3Zihn8r%Uxv z#QuG)ilPumorN=C#EN3ighr71G&so!^Gf?uGx?iY<5L8ZYLcGKl~u1KX%w2TY}DusFg>lV&dxk#h#^!B4d{9KT@T!M#%T2P^n@X!@3H)~ zklLR}CepneIj}sfr^jn+w7+Dy$Z$U3xbcj>cfBtV%MRh?4VlOz%x20OUP|vqF$s6b zl!>h-Qf8dlytQR0_IBo8ReBMLU(7P}Pudl!)D*3ilk4?_TDTSd{9JYkdJmVl!uN@w zzWMxoYv`Ji$V5d6&-%qLg(MkeRFKYOLaR&D4eQot&Jsv}QUx z#nI8xf63%%7Ax|pLcBH)E)|Hv@l9&^uGQq|Ml|p9nUFb;G4e||>%(*ccl`G)D0hB` zVKW`;Y(lq}6o!aD@}<6zvKgsP@4oE*$zMokU8_q+FgG{1xw#n>60$HqpXyFdGb|*e zG7zaR1d8+8g5)p(ykLGp0f;d*rRe6yJpKyJnzZv&cB*AI(^iKAnX!)FU7;ROx zw(fQ6lM`G<8&SMIXzTzw%7WZs#_N_w{rp)l?zgHIuXs-R00M~)AL66p?mASjHI)-& zyoVFWlVBBv#XOZzT=D~zH4k(E9lMX@>bjQQI?{G?nM_^<-hI zW?py09zHguwK*M)2EXG52Jas)_{pkXy}hE6lCa~33_!1K@FhVYl|psJG#*7cxv;P> zHAX`HT`kyd-$0xz;`DBUHc^^3)1Vp&5^+M}Uw085zpnQgEw}uBD?Ixuk(R~DCKFp> zNR8hDrWF^Z>PK3Ev2(S$@r46aRJXO_Y0@38MGy!Sc6xexK+WQHSUwofmd42o(vujy z8vt7#yWaU2yly!>4C0fDjt^|(O@F<>`Ypw$DOVs^voda*W2?MW=U6fNBvaxP-x%t- zw}q&6zVLACN-s7woiD$vsQp&uQnV%>NyrO_?B8rlA(a62Z@$Kg8z;nUZgzGS;(OZ< z$U%MUs)Rj0*Q;jTubw(z!&iXXs|k(|CCu+b!D*vU3@nqqZz(3cC>#`ULvX%{PWE_c z?zj^9?0xK+XlEH?XV4N<(D>l+=4p*1W%TtIGX&iJhBTkuH6%bTJX_QXB`|t=d(F+v zrnKldOuJ1^kCvLyu}J|wGT<;n%Ls5&pitFXL8VGHu~3lh7acOBNxd!&n`6J#1I*Efx2G)7LXbs_p>W<~;jJ+@db z3th=W8on))nMRJg(L;xDu~2`p9}E?31{pLJI=%Gd!mGzDG{wIt50;>4bRcllyg=73EVu zS1Nu9(n=#(Cvg)Ead&r@RzvpsYM^jxZ?!7~po($}wW3hxV$D(jsg|kcq)!+Ns1U=dQ>p0i$^m}JtlTG0yIhbhC zM_x7Gt%ZalK9X1mh9#xe`)z?`4etsa7evwV8kF~VDVjX)u?G&LBDE?lREtCQ74#7} zoL3ukd63H3y|P$)xZwQkm^dV47>Es4FSHjg_>iLg=`#=9sCbG1Wp#H~M@2;iP%yAX zF%sSnX!|x1V`5@1E-nJ11t59*t~n?eR>Xcg1gGW^VFsxc+D;V_J-*cs&}jW?v~fLH zWxGFJ+JGuHXoxf^iNf*pyvxa4gsnhuKY#vQM@NT*RsUaq|94l{sE7zIS9ar9e3kp_ zd<$216yHg~vl(Cv5Gdwsgo?9m$+a|@@E5%s)xvT@rCs-?vezTIOsqxqK{wLUv$$4L zjvI3btAW?m-iox}I7d<}@yihO(C5g=AuS{)554>J$8J3C+VH=RzO>W@V|AHPJOKjy zXQ0J}z_f=9U5RI;@Pb&%gCI6C|KhB#COCRJ+h7$HeA!rdXxlizJE$@6@S-Ckuz$%& zs1j11h9iN*f96?bC~2vy6Oxk;Zl9m7Ab5X>QtvD^T?3KUV{&@_vKxqN_JdkewL1u1 z|IW@15HS{JW_$ty($dmeQ<${f#_MFd=r#-=6X4ooS*za_kpL4Iqh_Y;c#YpU(E zT~rzq`DObr?v@mBl562dFoS2-FOdC)L_b7=2{DT;7KebPY7pxLnruKrc+zDw{tXYi zxVeGhCs}HRIgDXmYkdw#%U>70M1kki*H?)B3OuC!eH#sF@a|Yv*Nraibc!LOD z2?hb0JQE=%V9?C$pT6_seRa*OQaoi{JOAg;pN;_Zb)^+vOi5M1#7G?61gKX&^!sI2 z>zkk_(WUmQ8UidXj?8<|W=kk4E-vouTyv^oU?QB13j*cZ%%wy=uGxfDCbS-J`a1p1r649(Pica_Dbw!DQ?8 zSYcN}f@j^Dp1B&$d}{O&B_JgAQI+vv3SdNeRt@_04h}$9=AZNc&i-m)0Vrn{U%wKP zkSxs3uIPXqKBnezlPS8o)A#V8e3_^SGV& zF!=RDhSE%}jTRPGID>NLq#H`5=gQumu9}+T&6yd{-jS1&FCJf`ndoR{kAF2Y19ETS z=X`zvf%Opt?@LKlUBLYS9+r(DwA-XoJZojzaeDs}`G;tsIskxJI;N*iOgsw^Z3u~o zm=fgJ*w_F_B$_QPEhWh10`E^mdm|fbOiCHOy}J49R8@&%jB{ng#dY~Cgx?kM z&aBMrUph7{_Vxw~7_ufk14*g^+A>H*O^r5b&;#%uH@3HJxX5zVLh%X0dju(?jY)IW zQsUwO$0uHnUQ!h!YsN-gD6=crIQfOM>;2kj>oOv+?D*#-ik`di@IiT9{{9{trt`?D zS@jmxkay`Bj+fOppC^`7k>tl5LX9B|VZ+B50k0tBYIIvpYA6KnJol8ptXjx`A&U;_O7JXRBde;9v=ipJ(h zWoKFGQsZmu=>hab#PebYm=<39Mfdl_xP1VUx(4DP=_|%dH}!qke!}Ooy_a|PEQbB+ zGmbN;ps{7c#hy7Jta!Q1q<3OTg5~*m9H<;3;8qIls}c= zJ>lkRe$YG2n6wOGln*VOvJMjO@R>;4N1%hs5D>t#HbVma+jIo9TtZByu-L)PcY}@( z2%s_K&xpEP1RBm9D>9mR2qYSRU}z|QaPvb-gg|oN`Z$+?wsvw_nmn{dpLIJAZ_+6* z85E7^tKgR=VW7A@7uB3?dO1I*dP$K&#@x_)nJoC#m1JA%_36OO)HX~}wQzSskV15q z;TpdD(lztAl$G!9`$4+aYpS}FwkfEHUfs4i5*9&yqL8p|!(PjmYBDq(vwNJJ`YrWP zNO0?=o?(Mfmb^no`ijz&tnVI`E!nt_lzt*^`w)He!p4HtHn8aG-DH~PGW zzW;-s-jbXg6cE74)c}*n!GSG7j!Mw|i@p7b;s_oVR@1jt|CSaXC8en9>gte?5GG>) z961w|Mnaa=_yBpG?jVW5m_iJ z8b74!B~pCCIP?xU6iqa~IfE&x|HNaCxcfS`2z>!5U7DLC`cMvOwR2Dnzc2joh&G`o zZwRQZAG?E^P|Q|$C0=2*<=upG%`xc^2TVV5EYsYb9VNgbE#2%6gWkVc^w8*mFf}?= zk2Q{NL$K{xILyG@%<-e4q zeu<=<5Egz3HrR(%8->rDR~jVLtjmbC#~e}KR~ZxzHZ{oSsufD7RTi@i%7Ha)Pd8m& zE_mt5=1vP!Fg!R)_9FXzI4!QfKg?0HfsL5Hy~L?Z;;&7v;M2eY`Nj7ym|s|LF($|z z1~iV&{wgY5Yh3(m$+B%uAyDhiu$=RK*ZHUo3oS$d_>qvU>_=~vIwL1jF;A(YOp1$??eKPmEJcGMr8mbY5 z=Wlc>Q2aLRJl1tKxdQ~+IbyY@!AWdae_$PhMHoKVZV>6K_LibdYJvz>IRkwM^9feG0B+po7cjPvtQNoJr_ zJVMzDBaYF>EMDIif&Uf*BbKvU5=SprF8v$vDacVQH65GwV=s^KwOzvP(K42%11eTE z=LR+@lUw%bq{!@7MsN7lq4eZ5zsEzV*o9xjruHnSd60Xp4dZvOF#$pW}H)_i=1A-|8Sey8#>IXA6$7 z`Zd)eFq z*GJky;?67KFJK0$NT7_$!=>fwC_bg-lhF~Qx3j&&2i%Xx*ksNrp<1<-EO-u7*|XK3 zIm`z~tTeqWz&^TY3M0$cP0GTSoW2jM@TI|9OCCkis*A+w9haM@1TNxswDTwN%ltl% z&tC9q0P!-$?ZI`%f|epCiLg!c=~APzQNx?Zjs9#s3+|Rm?}L!Lb8QgFZobUOH9yFw z*?Xb2OB(m_{O9m@!0o^J~MomaV#FFZX-{t|<=A4|Mf6z|S=UW^(K?d515b0A^CI|0qiSqv7v0L|>WxAU`AhR?&Ee&L~lZ^Iz?=6*? z!En%eroc-M0Q~4#5>?t)3n^NciHUl&QRU{Esz_20myQR;8eT~uyNAyI$P8MsA+vEZ z3`tqcc_~FlMwbu!7h!pTJh{xV4n96PzT-i|lUKx?_4KSP_ugJmyo)4jJ%@EeO4SnU zj`^?Q$t^zbA;~cXx`EW7vH$o@HVx05uKNlyu?S#~wThRyA>6nnWfEmMFF^Q$p}9eR zC7X{$maz!Fm_wnWdbbLAUxBNjaD*^DV!)brNk%*l=8vfGauB!J1 ztmzm`OhC)!zLXjzKeN2hcopm1{pbP}&_;H?kb~V{ALoMq*mjzF0ph9qPoIIr0G3hV zv1U8At;d~lJ9xXjD_UxI!ub!!S2gwzo4=0Tux6)xCMK;u2iLh4`Ia?~uIzpeM!}%2 zt2L0b1Z?kRauHr_%aec16M9|uC?LOu>MmOgr~HLzK2K9g^6xn3pCMOC9VZqV_uJw- zuMe)dAzC`E9qz@6Xfq8FS4OMZc{yLcdud5W8Gq=U2k+)VzAg1H{ zQ?dG=Cz^JR5qF0p>o#uk=x^o4L)=`7E+*-4cPNuDdVcmBmCbtYz0k%i-gy>Rll)Oo zMgiaaN7pje-?nSd&|h7heV5lSk*p}@r=gXXD^XE`_>J|?c?Xr=|521zKNOD%#NJyG zMZ!q$5_GXjvHmJZue~lVvN$#j9sJK#y$~GYYEv+zsBqotP@vNu- z*Fij9zU?><6~S98DS9_<^ys>$noF*~>1ZtHNEE1YFjtK?U#SRfNvhYDDZomwwHwTM z^X;S_-6QHx7({{lw4|4%6i;Ir-5M^inH(eXpBgJy0Qnkk_ojuCgYEV-pEpqU0YN7# zB`pmR0SmLR49?B*@$;veMMebBqg-`lprN{van+UES%zF9i10l2ca13(2m(R6j%E5xor7C;lG$744+oD05-QVJE!D1^3 z9PGT|T8@aK68Qeru#ZoeoPej7fbIt=E6&gHnZH%|@jsOTZA~!Ds8Lo$5L5f>N7dU& z7a^0jrb47@V%S5Ijp%!EPz(~NfBOobPO<_Uc@6cYe+w()wr}w@dOs=XcaCCaq(kBE zBeUh_>m#3o2@Air)lDcym@<;dKq~(~%j^(P?4N&*BA){B1HGNxKe?q=sn`P25C>00i(naMyyemsMb#Y1e4Ln1MN=qNC7O(a`agtGquPu3Wb}DrRv+hjn z#?1woJVp@V6Cy=qmc5O_prMwX$f>*zp0M%swFZHP^iu-^-N_qj(_$e~U10T9MmtS4 z;#rq(gqng=fhUo)cJssGZM+w=b;D^0c-3(j6?%zKm2aTdE@Rd9K#(d?;d24G9RaJp zlzQ!QQPnWN$$wlCOq+(1g0f*K>?&yrKP^5L<7vR2*4d{>|1mky@QJZ|@eS!O0o}OT z5luG%UB4xlOgRJG+dl_?P)(dBhE9I}Rc`EudQne`;&BxMCu-T1WeOF-ig&WAIVy~< z*WQ;*p4|UODC7$`N4P{s*^6YVbs~e*MBvA2S(C7alJn3C?BngUs!L}|EK!SIhn6g4 zkT@B~yLWbTvFi<7AnK`X`6Q>J9Zjf^aHYub(CADovTjOwwcVbDB2t>$Su`i=D6hB9 z|G&nV%5{Aq%Eaq<2~s#p0msHGkE$8!v|ZL=(zu+}xwxfWI6Qhso77^z4f{WW<3ujn zoCz0=_M1;X_4S;0p85j7j;#4c^rCjjA)VC@R)!wcf`+EPU~0RyFimnq*366{mVr4?SzFsnf{ICFE$2 zYm}kc*GxPuoCf)Yu~NyPL0rvl&h_t$WgT$Np#`a%7A~uAdM<~-xq5CC_;4-*sdXdH zcrJF=vuki>ORa<8ypTgrZT|iTVIx*uo#$OI&oCxBS!x=h>19>K!&C<@6{a=~q3%^d zp=~~Q!@=P}M2G|q{82P*s-i}`=5H+@nEto*jz31QjV_iyFCMq7s&+=b$x)F|AuMGy zzT|gmdz&Ll?Rx%O!W`6Y$rYa)ugMJZ6Y$e0-XY+VhawB0Pi2Rcb8(cb-~fh+5Mq%L z1mNVyh*0fGwbiHUS4ctdqYR5jJ`pu+WxX74h#T)v13ypRgD##P7K0vxF)rvtu=l=} zd%tD(#c~`YC9SQl^3r`6BS(d>G+=~j8Wqr=Q>}M(1s9d9NI}@mn$Sacn*C))i2u%yjAGRfN z7LYeyI1jNiZE;sQ-@H(eQ-3ec?p_e|EAY!DidDE%IG6Jef3y}_5rMQ9dUJZ=duIaV zY@tUTS>TBS&l0Sn#ieV(AFzL~mJ$_HKaOmN$iAQLHfo*ia@7-=PzLq)Mp1D$U5A|> zU!^CX?Jm53%`}%yXwVe;23bPGNNa;=7xmoNuz9XIfL(q|#Qm$hedmv{_lrcn`lnFh z^Sb7e*tY?}L3fequbOPv0%!ff2zc*-%JlJ*U5pLA56qnA; zf?LMT48v>b)=FhW^oroq%aRM2ucd08H-3z<)TIqZ@8=KOothar$h7LH3;*s+Lr@Bw zYJ(B~&OGi^t}owsLs(y(c;Dv+c3j+&4kMV)pnu6W@>fq}L7=HPJuLz=$(bv}{Uuvf zz2=A&1AWnRn6tukD;rn=Gs22wgHbInQ-K*xJ|v$?mrI4!I)yj^m;M=TQ-En-7kz?|tnQzYE%{!wEZ5YK?LH8*g5law#h&^N&a z8wma_BUPFwVIHrI>?e1`@Dioa^DKGg{6$wXUlVYXVWn@6TiziQtr7KB(6=-+G#@_1 zn$7+DCu4ti(}g0Ot<@K8Xkb-tcCZ`)un%^d53cJsmCDx$T{5JQGAB2KG@Fb0EsDo~ zOQ;bF7g7(I^n} zCBud3Z*1(-!ESt`GpHSL_pctejPkBeH?+uGcePtIoh$}RV8lhB_91SQ73DVN=lG=W zNlNu2Wqcd1M0&Dgbn}e6H4>i?RrN4h9lb-)u58v+!{ile!NgdTc8co+<#fR9e=P3F9GdvtHM)iF9{w$AK+3*LlVJ^Gb`1I)x0d{ejjl!pJ zyxxvY|0hXHoBsRv?`YRR-R025$yUQGv6JQG^k3UG>p_vFMv0J<#YD*w_0vXqC$B;$ zE*gU(rXucz-kO`+0V03(xsN`{;bgs6B$%7^A`WgROPmoB)UwvA;bSn99863V5ip4Q zq{mkb6eS~+fpYy1NZFudKE7vzz`+b|Yq@t)T#=-SQw6U|gQs>$gZwoa;nUMKRT6CF zH{HiG_>{#V#twpS_u(*JI*RQ&_Z~K({r$#Xt{V84*ZQna4PvlRe%K8HMG{GNAl4ov zYHW@M8zAGr7CV)RU7MQ^HCQsTQy?e)-1lVATm=L2?|p9sVd%O$^ zs7B%Kw{Mf?7P00g`xS{r4AHQYE0L#t(f@T63>l=z5%u;mX+awER>1KDyXMtMFuTv= zlR5IgH#bV}7NXj7i6yFkAN9$M;PfAfGP<9exr2;dQv6E&g2h&n@-TIE;n{o+JLlHr@<@JHS8J38NqZt;;RxEA zi)R~+8$qRdY%;+9hems47!eCMA#R47XIJVWM}P(1Y1trrGVoD$k!^piFA_3U+oNz)^5-RR zLJinz!hacuZCVcc_|sfl7csDQ-natn2A_I5X*m96qmU#D( n)e}pwy>caFn!12x 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 REd8%qO7iNU^5?JL{|_dDf;RvF literal 0 HcmV?d00001 diff --git a/preview_2.png b/preview_2.png new file mode 100644 index 0000000000000000000000000000000000000000..869a1fc9d8216184a40f58675e62dc46c25bf40b GIT binary patch literal 125309 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 ZBFv4?TOO|@A+iSmNm1F4rNUo){ttpbVE6z4 literal 0 HcmV?d00001 diff --git a/preview_3.png b/preview_3.png new file mode 100644 index 0000000000000000000000000000000000000000..ad1590360341527c76709b3a45db4976b22fce35 GIT binary patch literal 92222 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

rFM3W0Z=zk6rz2F9$vCT26{le*QZwsKD2zE}3 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 literal 0 HcmV?d00001 From 2b3dcf4a847eacdd42d16e21cee0b7a5c17899e9 Mon Sep 17 00:00:00 2001 From: Starli0n Date: Fri, 17 Mar 2017 14:40:03 +0100 Subject: [PATCH 36/60] Platform specific configuration and Environment variable expansion --- file_diffs.py | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/file_diffs.py b/file_diffs.py index db4ee71..633a51f 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -51,8 +51,16 @@ def on_done(index): class FileDiffCommand(sublime_plugin.TextCommand): - def settings(self): - return sublime.load_settings('FileDiffs.sublime-settings') + def get_setting(self, key, default=None): + settings = sublime.load_settings('FileDiffs.sublime-settings') + os_specific_settings = {} + if sublime.platform() == 'windows': + os_specific_settings = sublime.load_settings('FileDiffs (Windows).sublime-settings') + elif sublime.platform() == 'osx': + os_specific_settings = sublime.load_settings('FileDiffs (OSX).sublime-settings') + else: + os_specific_settings = sublime.load_settings('FileDiffs (Linux).sublime-settings') + return os_specific_settings.get(key, settings.get(key, default)) def diff_content(self, view): content = '' @@ -72,7 +80,7 @@ def prep_content(self, ab, file_name, default_name): file_name = default_name content = [line.replace("\r\n", "\n").replace("\r", "\n") for line in content] - trim_trailing_white_space_before_diff = self.settings().get('trim_trailing_white_space_before_diff', False) + trim_trailing_white_space_before_diff = self.get_setting('trim_trailing_white_space_before_diff', False) if trim_trailing_white_space_before_diff: content = [line.rstrip() for line in content] @@ -96,8 +104,8 @@ def run_diff(self, a, b, from_file, to_file, **options): else: self.view.show_popup('No Difference') else: - external_command = external_diff_tool or self.settings().get('cmd') - open_in_sublime = self.settings().get('open_in_sublime', not external_command) + external_command = external_diff_tool or self.get_setting('cmd') + open_in_sublime = self.get_setting('open_in_sublime', not external_command) if external_command: self.diff_with_external(external_command, a, b, from_file, to_file, **options) @@ -135,7 +143,7 @@ def diff_with_external(self, external_command, a, b, from_file=None, to_file=Non with codecs.open(to_file, encoding='utf-8', mode='w+') as tmp_file: tmp_file.write(b) - trim_trailing_white_space_before_diff = self.settings().get('trim_trailing_white_space_before_diff', False) + trim_trailing_white_space_before_diff = self.get_setting('trim_trailing_white_space_before_diff', False) if trim_trailing_white_space_before_diff: def trim_trailing_white_space(file_name): trim_lines = [] @@ -162,12 +170,13 @@ def trim_trailing_white_space(file_name): if os.path.exists(from_file): external_command = [c.replace('$file1', from_file) for c in external_command] external_command = [c.replace('$file2', to_file) for c in external_command] + external_command = [os.path.expandvars(c) for c in external_command] if sublime.platform() == "windows": Popen(external_command) else: subprocess.Popen(external_command) - apply_tempfile_changes_after_diff_tool = self.settings().get('apply_tempfile_changes_after_diff_tool', False) + apply_tempfile_changes_after_diff_tool = self.get_setting('apply_tempfile_changes_after_diff_tool', False) post_diff_tool = options.get('post_diff_tool') if apply_tempfile_changes_after_diff_tool and post_diff_tool is not None and (not from_file_exists or not to_file_exists): if from_file_exists: @@ -344,11 +353,11 @@ def on_done(index): def find_files(self, folders, ret=[]): # Cannot access these settings!! WHY!? - # folder_exclude_patterns = self.view.settings().get('folder_exclude_patterns') - # file_exclude_patterns = self.view.settings().get('file_exclude_patterns') + # folder_exclude_patterns = self.view.get_setting('folder_exclude_patterns') + # file_exclude_patterns = self.view.get_setting('file_exclude_patterns') folder_exclude_patterns = [".svn", ".git", ".hg", "CVS"] file_exclude_patterns = ["*.pyc", "*.pyo", "*.exe", "*.dll", "*.obj", "*.o", "*.a", "*.lib", "*.so", "*.dylib", "*.ncb", "*.sdf", "*.suo", "*.pdb", "*.idb", ".DS_Store", "*.class", "*.psd", "*.db"] - max_files = self.settings().get('limit', 1000) + max_files = self.get_setting('limit', 1000) for folder in folders: if not os.path.isdir(folder): @@ -406,7 +415,7 @@ def on_post_diff_tool(from_file, to_file): if len(files) == 1: on_done(0) else: - if self.settings().get('expand_full_file_name_in_tab', False): + if self.get_setting('expand_full_file_name_in_tab', False): menu_items = [[os.path.basename(f),f] for f in files] else: menu_items = [os.path.basename(f) for f in files] From 8d4393b4aa867ef0562e916dc38849c867a295e6 Mon Sep 17 00:00:00 2001 From: Starli0n Date: Mon, 20 Mar 2017 19:50:21 +0100 Subject: [PATCH 37/60] Update README with new features --- README.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 69fac41..5f92c77 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,11 @@ Shows diffs between the current file, or selection(s) in the current file, and c ## Preview -![Preview] (https://github.com/ildarkhasanshin/SublimeFileDiffs/raw/master/preview_1.png) +![Preview](https://github.com/ildarkhasanshin/SublimeFileDiffs/raw/master/preview_1.png) -![Preview] (https://github.com/ildarkhasanshin/SublimeFileDiffs/raw/master/preview_2.png) +![Preview](https://github.com/ildarkhasanshin/SublimeFileDiffs/raw/master/preview_2.png) -![Preview] (https://github.com/ildarkhasanshin/SublimeFileDiffs/raw/master/preview_3.png) +![Preview](https://github.com/ildarkhasanshin/SublimeFileDiffs/raw/master/preview_3.png) -------------- @@ -57,6 +57,11 @@ Add External Diff Tool *(optional)* This command *may* need to be a full path (e.g. `/usr/local/bin/ksdiff`), if the command isn't in your `PATH`. +It supports: + +- A generic setting `FileDiffs.sublime-settings` which could be overloaded for each parameter in a platform specific configuration `FileDiffs ($platform).sublime-settings` in the `Settings - User` +- Environment variable expansions for `cmd` parameter in the settings + Commands -------- From 30c98092ea7ab85775a4d0763110e923e6e8b803 Mon Sep 17 00:00:00 2001 From: David Millar Date: Tue, 31 Oct 2017 11:19:58 -0500 Subject: [PATCH 38/60] Updated menu item text to be consistent with other menus and to be more clear on its behavior. --- Tab Context.sublime-menu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tab Context.sublime-menu b/Tab Context.sublime-menu index 2a7fc9e..7950291 100644 --- a/Tab Context.sublime-menu +++ b/Tab Context.sublime-menu @@ -1,6 +1,6 @@ [ { "caption": "-" }, { "caption": "FileDiffs Menu", "command": "file_diff_menu" }, - { "caption": "Diff with Tab…", "command": "file_diff_tab" }, + { "caption": "Diff tab with Open Tab…", "command": "file_diff_tab" }, { "caption": "-" } ] From 4d372baade203c7d85e462959e5864ac336bb528 Mon Sep 17 00:00:00 2001 From: David Millar Date: Tue, 31 Oct 2017 11:24:35 -0500 Subject: [PATCH 39/60] Cleaned up README doc. --- README.md | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 5f92c77..f159a47 100644 --- a/README.md +++ b/README.md @@ -23,28 +23,37 @@ Check the [wiki][] for more tips Installation ------------ +### Package Control (Easiest) + 1. Using Package Control, install "FileDiffs" -Or: +### Sublime Text 3 1. Open the Sublime Text Packages folder - OS X: ~/Library/Application Support/Sublime Text 3/Packages/ - Windows: %APPDATA%/Sublime Text 3/Packages/ - Linux: ~/.Sublime Text 3/Packages/ or ~/.config/sublime-text-3/Packages -2. clone this repo +2. Clone this repo + + # Over SSH + git clone git@github.com:colinta/SublimeFileDiffs + + # Over HTTPS + git clone https://github.com/colinta/SublimeFileDiffs.git + 3. Install keymaps for the commands (see Example.sublime-keymap for my preferred keys) ### Sublime Text 2 1. Open the Sublime Text 2 Packages folder -2. clone this repo, but use the `st2` branch - - git clone -b st2 git@github.com:colinta/SublimeFileDiffs +2. Clone this repo, but use the `st2` branch - or + # Over SSH + git clone -b st2 git@github.com:colinta/SublimeFileDiffs - git clone -b st2 https://github.com/colinta/SublimeFileDiffs.git + # Over HTTPS + git clone -b st2 https://github.com/colinta/SublimeFileDiffs.git Add External Diff Tool *(optional)* -------- @@ -90,4 +99,4 @@ Thanks to: - **Sebastian Pape** for adding support for using an external diff tool - **Starli0n** for merging the ST2 and ST3 branches into one branch, - and for adding the "Diff file with previous" feature -- **dnsmkl** for helping with diffing temporary files +- **dnsmkl** for helping with diffing temporary files \ No newline at end of file From 33a07853c53150bdf6601dbf5762b514b11ae790 Mon Sep 17 00:00:00 2001 From: David Millar Date: Tue, 31 Oct 2017 11:26:07 -0500 Subject: [PATCH 40/60] More readme cleanup. --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index f159a47..84c3398 100644 --- a/README.md +++ b/README.md @@ -30,17 +30,17 @@ Installation ### Sublime Text 3 1. Open the Sublime Text Packages folder - - OS X: ~/Library/Application Support/Sublime Text 3/Packages/ - - Windows: %APPDATA%/Sublime Text 3/Packages/ - - Linux: ~/.Sublime Text 3/Packages/ or ~/.config/sublime-text-3/Packages + - OS X: `~/Library/Application Support/Sublime Text 3/Packages/` + - Windows: `%APPDATA%/Sublime Text 3/Packages/` + - Linux: `~/.Sublime Text 3/Packages/` or `~/.config/sublime-text-3/Packages` 2. Clone this repo - # Over SSH + ```# Over SSH git clone git@github.com:colinta/SublimeFileDiffs # Over HTTPS - git clone https://github.com/colinta/SublimeFileDiffs.git + git clone https://github.com/colinta/SublimeFileDiffs.git``` 3. Install keymaps for the commands (see Example.sublime-keymap for my preferred keys) @@ -49,11 +49,11 @@ Installation 1. Open the Sublime Text 2 Packages folder 2. Clone this repo, but use the `st2` branch - # Over SSH + ```# Over SSH git clone -b st2 git@github.com:colinta/SublimeFileDiffs # Over HTTPS - git clone -b st2 https://github.com/colinta/SublimeFileDiffs.git + git clone -b st2 https://github.com/colinta/SublimeFileDiffs.git``` Add External Diff Tool *(optional)* -------- From 70bdb4daa93432de592af96812bc2e64ee4605cf Mon Sep 17 00:00:00 2001 From: David Millar Date: Tue, 31 Oct 2017 11:27:08 -0500 Subject: [PATCH 41/60] One more revision to readme. --- README.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 84c3398..9929f28 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Installation ### Package Control (Easiest) -1. Using Package Control, install "FileDiffs" +1. Using Package Control, install `FileDiffs` ### Sublime Text 3 @@ -36,11 +36,13 @@ Installation 2. Clone this repo - ```# Over SSH + ``` + # Over SSH git clone git@github.com:colinta/SublimeFileDiffs # Over HTTPS - git clone https://github.com/colinta/SublimeFileDiffs.git``` + git clone https://github.com/colinta/SublimeFileDiffs.git + ``` 3. Install keymaps for the commands (see Example.sublime-keymap for my preferred keys) @@ -49,11 +51,13 @@ Installation 1. Open the Sublime Text 2 Packages folder 2. Clone this repo, but use the `st2` branch - ```# Over SSH + ``` + # Over SSH git clone -b st2 git@github.com:colinta/SublimeFileDiffs # Over HTTPS - git clone -b st2 https://github.com/colinta/SublimeFileDiffs.git``` + git clone -b st2 https://github.com/colinta/SublimeFileDiffs.git + ``` Add External Diff Tool *(optional)* -------- From 7cd946fc40c1d69046c081aa7a678f34d6816051 Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Mon, 18 Jun 2018 10:12:18 -0600 Subject: [PATCH 42/60] rm st2 support from readme --- README.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/README.md b/README.md index 5f92c77..ae2719c 100644 --- a/README.md +++ b/README.md @@ -35,17 +35,6 @@ Or: 2. clone this repo 3. Install keymaps for the commands (see Example.sublime-keymap for my preferred keys) -### Sublime Text 2 - -1. Open the Sublime Text 2 Packages folder -2. clone this repo, but use the `st2` branch - - git clone -b st2 git@github.com:colinta/SublimeFileDiffs - - or - - git clone -b st2 https://github.com/colinta/SublimeFileDiffs.git - Add External Diff Tool *(optional)* -------- From 28ff059c2036c77b7186387b18a9e96702dde136 Mon Sep 17 00:00:00 2001 From: Tim Robertson Date: Sat, 27 Oct 2018 03:05:21 -0400 Subject: [PATCH 43/60] Add new setting for switching clipboard old and new --- file_diffs.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/file_diffs.py b/file_diffs.py index 633a51f..2d1845a 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -252,7 +252,8 @@ def on_post_diff_tool(from_file, to_file): self.update_view(self.view, edit, from_file) sublime.set_clipboard(self.get_content_from_file(to_file)) - kwargs.update({'post_diff_tool': on_post_diff_tool}) + reverse = kwargs.get('reverse') or self.get_setting('reverse_clipboard', False) + kwargs.update({'post_diff_tool': on_post_diff_tool, 'reverse': reverse}) self.run_diff(self.diff_content(self.view), clipboard, from_file=from_file, to_file='(clipboard)', From d6097ce9ff40067fbe0c409f34eaca5cf353ccf3 Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Mon, 29 Oct 2018 10:37:43 -0400 Subject: [PATCH 44/60] only support ST3 --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 5c3e54c..06c997b 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "releases": [ { "details": "https://github.com/colinta/SublimeFileDiffs/tags", - "sublime_text": "*" + "sublime_text": ">=3000" } ] -} \ No newline at end of file +} From 58f1d97ab4d4ef8a4995ec3f82e62bc813b2571c Mon Sep 17 00:00:00 2001 From: David Millar Date: Fri, 2 Nov 2018 15:36:24 -0500 Subject: [PATCH 45/60] Updated with keymaps info on package control instructions. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 984998a..fdc9afc 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,8 @@ Installation 1. Using Package Control, install `FileDiffs` +2. Install keymaps for the commands (see Example.sublime-keymap for my preferred keys) + ### Sublime Text 3 1. Open the Sublime Text Packages folder From 306121b0726cc802650e57663c35ad70aa6dc4b2 Mon Sep 17 00:00:00 2001 From: Ali Ayas Date: Mon, 25 May 2020 04:38:34 +0300 Subject: [PATCH 46/60] When a file is dirty in a tab, use dirty buffer Internal diffing already has this behaviour. This commit applies it to external tools. --- README.md | 2 +- file_diffs.py | 25 +++++++++++-------------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index fdc9afc..b151909 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,7 @@ The rest of the commands do not need to be bound (accessible from the menu): `file_diff_tab`: Shows the diff of the current file or selection(s) and an open file (aka a file that has a tab). -`file_diff_previous`: Shows the diff of the current file or selection(s) and the previous activated file. +`file_diff_previous`: Shows the diff of the current file or selection(s) and the previous activated file. If a file is not saved yet, dirty buffer is used instead of reading from disk. Contributors ------------ diff --git a/file_diffs.py b/file_diffs.py index 2d1845a..bd20cd0 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -117,17 +117,10 @@ def run_diff(self, a, b, from_file, to_file, **options): def diff_with_external(self, external_command, a, b, from_file=None, to_file=None, **options): try: - try: - from_file_exists = os.path.exists(from_file) - except ValueError: - from_file_exists = False + from_file_on_disk = self.file_will_be_read_from_disk(from_file) + to_file_on_disk = self.file_will_be_read_from_disk(to_file) - try: - to_file_exists = os.path.exists(to_file) - except ValueError: - to_file_exists = False - - if not from_file_exists: + if not from_file_on_disk: tmp_file = tempfile.NamedTemporaryFile(delete=False) from_file = tmp_file.name tmp_file.close() @@ -135,7 +128,7 @@ def diff_with_external(self, external_command, a, b, from_file=None, to_file=Non with codecs.open(from_file, encoding='utf-8', mode='w+') as tmp_file: tmp_file.write(a) - if not to_file_exists: + if not to_file_on_disk: tmp_file = tempfile.NamedTemporaryFile(delete=False) to_file = tmp_file.name tmp_file.close() @@ -178,10 +171,10 @@ def trim_trailing_white_space(file_name): apply_tempfile_changes_after_diff_tool = self.get_setting('apply_tempfile_changes_after_diff_tool', False) post_diff_tool = options.get('post_diff_tool') - if apply_tempfile_changes_after_diff_tool and post_diff_tool is not None and (not from_file_exists or not to_file_exists): - if from_file_exists: + if apply_tempfile_changes_after_diff_tool and post_diff_tool is not None and (not from_file_on_disk or not to_file_on_disk): + if from_file_on_disk: from_file = None - if to_file_exists: + if to_file_on_disk: to_file = None # Use a dialog to block st and wait for the closing of the diff tool if sublime.ok_cancel_dialog("Apply changes from tempfile after external diff tool execution?"): @@ -234,6 +227,10 @@ def update_view(self, view, edit, tmp_file): return view.replace(edit, region, self.get_content_from_file(tmp_file)) + def file_will_be_read_from_disk(self, file): + view = self.view.window().find_open_file(file) + return bool(os.path.exists(file) and not (view and view.is_dirty())) + class FileDiffDummy1Command(sublime_plugin.TextCommand): def run(self, edit, content): From 21c269019ad0a2f9d87f6e06a123efb5c20f16a1 Mon Sep 17 00:00:00 2001 From: Ali Ayas Date: Mon, 25 May 2020 04:51:21 +0300 Subject: [PATCH 47/60] A fix for the "diff against saved" case --- file_diffs.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/file_diffs.py b/file_diffs.py index bd20cd0..4d3fc67 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -120,6 +120,14 @@ def diff_with_external(self, external_command, a, b, from_file=None, to_file=Non from_file_on_disk = self.file_will_be_read_from_disk(from_file) to_file_on_disk = self.file_will_be_read_from_disk(to_file) + # If a dirty file is diffed against the copy on disk, we statically set + # `from_file_on_disk` to True; so that the diff becomes "file to temp" + # instead of "temp to temp". + if to_file == from_file + " (Unsaved)": + view = self.view.window().find_open_file(from_file) + if os.path.exists(from_file) and view and view.is_dirty(): + from_file_on_disk = True + if not from_file_on_disk: tmp_file = tempfile.NamedTemporaryFile(delete=False) from_file = tmp_file.name From 0e05ce1617c3805c53091c38a6e9b96695c6b914 Mon Sep 17 00:00:00 2001 From: Ali Ayas Date: Tue, 26 May 2020 00:46:31 +0300 Subject: [PATCH 48/60] Use "Packages" folder for temp files to improve portability Leaving files in the system temp folder is not good for portable installation of Sublime Text. --- file_diffs.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/file_diffs.py b/file_diffs.py index 4d3fc67..0ca39fe 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -129,7 +129,7 @@ def diff_with_external(self, external_command, a, b, from_file=None, to_file=Non from_file_on_disk = True if not from_file_on_disk: - tmp_file = tempfile.NamedTemporaryFile(delete=False) + tmp_file = tempfile.NamedTemporaryFile(dir = sublime.packages_path(), prefix = "file-diffs-", suffix = ".temp", delete=False) from_file = tmp_file.name tmp_file.close() @@ -137,7 +137,7 @@ def diff_with_external(self, external_command, a, b, from_file=None, to_file=Non tmp_file.write(a) if not to_file_on_disk: - tmp_file = tempfile.NamedTemporaryFile(delete=False) + tmp_file = tempfile.NamedTemporaryFile(dir = sublime.packages_path(), prefix = "file-diffs-", suffix = ".temp", delete=False) to_file = tmp_file.name tmp_file.close() @@ -158,7 +158,7 @@ def trim_trailing_white_space(file_name): if trim_line != line: modified = True if modified: - tmp_file = tempfile.NamedTemporaryFile(delete=False) + tmp_file = tempfile.NamedTemporaryFile(dir = sublime.packages_path(), prefix = "file-diffs-", suffix = ".temp", delete=False) file_name = tmp_file.name tmp_file.close() with codecs.open(file_name, encoding='utf-8', mode='w+') as f: From fbbcc430d1e8cb1c644b4d88beee2c050abe0744 Mon Sep 17 00:00:00 2001 From: Ali Ayas Date: Tue, 26 May 2020 21:46:14 +0300 Subject: [PATCH 49/60] Remove temporary files after 15 seconds P.S. This feature works fine with "apply_tempfile_changes_after_diff_tool" setting. In that case, timer is started after the user closes yes/no dialog. --- README.md | 2 ++ file_diffs.py | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/README.md b/README.md index b151909..4f2abfb 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,8 @@ The rest of the commands do not need to be bound (accessible from the menu): `file_diff_previous`: Shows the diff of the current file or selection(s) and the previous activated file. If a file is not saved yet, dirty buffer is used instead of reading from disk. +If FileDiffs has to use temporary files, they are created in your `Data/Packages` folder (rather than system temp folder) due to privacy concerns for portable Sublime Text installations. Temporary files are automatically removed after 15 seconds. + Contributors ------------ diff --git a/file_diffs.py b/file_diffs.py index 0ca39fe..96cc591 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -128,10 +128,13 @@ def diff_with_external(self, external_command, a, b, from_file=None, to_file=Non if os.path.exists(from_file) and view and view.is_dirty(): from_file_on_disk = True + files_to_remove = [] + if not from_file_on_disk: tmp_file = tempfile.NamedTemporaryFile(dir = sublime.packages_path(), prefix = "file-diffs-", suffix = ".temp", delete=False) from_file = tmp_file.name tmp_file.close() + files_to_remove.append(tmp_file.name) with codecs.open(from_file, encoding='utf-8', mode='w+') as tmp_file: tmp_file.write(a) @@ -140,6 +143,7 @@ def diff_with_external(self, external_command, a, b, from_file=None, to_file=Non tmp_file = tempfile.NamedTemporaryFile(dir = sublime.packages_path(), prefix = "file-diffs-", suffix = ".temp", delete=False) to_file = tmp_file.name tmp_file.close() + files_to_remove.append(tmp_file.name) with codecs.open(to_file, encoding='utf-8', mode='w+') as tmp_file: tmp_file.write(b) @@ -161,6 +165,7 @@ def trim_trailing_white_space(file_name): tmp_file = tempfile.NamedTemporaryFile(dir = sublime.packages_path(), prefix = "file-diffs-", suffix = ".temp", delete=False) file_name = tmp_file.name tmp_file.close() + files_to_remove.append(tmp_file.name) with codecs.open(file_name, encoding='utf-8', mode='w+') as f: f.writelines('\n'.join(trim_lines)) return file_name @@ -191,6 +196,15 @@ def trim_trailing_white_space(file_name): # some basic logging here, since we are cluttering the /tmp folder sublime.status_message(str(e)) + finally: + def remove_files(): + for file in files_to_remove: + os.remove(file) + + # Remove temp files after 15 seconds. We don't remove immediately, + # because external diff tools may take some time to read them from disk. + sublime.set_timeout_async(remove_files, 15000) + def diff_in_sublime(self, diffs): diffs = ''.join(diffs) scratch = self.view.window().new_file() From d40d6b1615bfb2226b8f00038ab3361f77a43283 Mon Sep 17 00:00:00 2001 From: Ali Ayas Date: Wed, 27 May 2020 01:20:01 +0300 Subject: [PATCH 50/60] Use selection if any, for external tools This is already how it works for internal diff. This commit brings consistency. --- file_diffs.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/file_diffs.py b/file_diffs.py index 96cc591..d09d6a2 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -251,7 +251,11 @@ def update_view(self, view, edit, tmp_file): def file_will_be_read_from_disk(self, file): view = self.view.window().find_open_file(file) - return bool(os.path.exists(file) and not (view and view.is_dirty())) + return bool(os.path.exists(file) and not (view and view.is_dirty()) and not (view and self.view_has_a_selection(view))) + + def view_has_a_selection(self, view): + """Checks if it has exactly one non-empty selection.""" + return len(view.sel()) == 1 and not view.sel()[0].empty() class FileDiffDummy1Command(sublime_plugin.TextCommand): From 0e9c812d21e4552cfd93e3b7b4932932a5f76658 Mon Sep 17 00:00:00 2001 From: Ali Ayas Date: Mon, 25 May 2020 23:57:33 +0300 Subject: [PATCH 51/60] Reverse clipboard direction "reverse_clipboard" setting was introduced in 28ff059c2036c77b7186387b18a9e96702dde136 (see #85). With this commit, the reversed behaviour becomes default. "reverse_clipboard" option still exists to reverse the new behaviour. New behaviour is more consistent with the plugin. Such as: * "Diff with previous" in the plugin means "diff from previous to this". * And now "Diff with clipboard" means "diff from clipboard to this". --- FileDiffs.sublime-settings | 3 +++ file_diffs.py | 15 ++++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/FileDiffs.sublime-settings b/FileDiffs.sublime-settings index 0d0ffc2..52bffc9 100644 --- a/FileDiffs.sublime-settings +++ b/FileDiffs.sublime-settings @@ -41,4 +41,7 @@ // "expand_full_file_name_in_tab": false // "apply_tempfile_changes_after_diff_tool": false // "limit": 1000 + + // Reverses "diff with clipboard" direction. + // "reverse_clipboard": true, } diff --git a/file_diffs.py b/file_diffs.py index d09d6a2..596b4ff 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -265,21 +265,22 @@ def run(self, edit, content): class FileDiffClipboardCommand(FileDiffCommand): def run(self, edit, **kwargs): - from_file = self.get_file_name(self.view, 'untitled') + to_file = self.get_file_name(self.view, 'untitled') for region in self.view.sel(): if not region.empty(): - from_file += ' (Selection)' + to_file += ' (Selection)' break clipboard = sublime.get_clipboard() def on_post_diff_tool(from_file, to_file): - self.update_view(self.view, edit, from_file) - sublime.set_clipboard(self.get_content_from_file(to_file)) + self.update_view(self.view, edit, to_file) + sublime.set_clipboard(self.get_content_from_file(from_file)) reverse = kwargs.get('reverse') or self.get_setting('reverse_clipboard', False) kwargs.update({'post_diff_tool': on_post_diff_tool, 'reverse': reverse}) - self.run_diff(self.diff_content(self.view), clipboard, - from_file=from_file, - to_file='(clipboard)', + + self.run_diff(clipboard, self.diff_content(self.view), + from_file='(clipboard)', + to_file=to_file, **kwargs) def is_visible(self): From 84fee0520365e6d458fdea2e817e27416bac1735 Mon Sep 17 00:00:00 2001 From: Ali Ayas Date: Fri, 29 May 2020 17:22:09 +0300 Subject: [PATCH 52/60] Code refactoring Co-authored-by: Colin T.A. Gray --- file_diffs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file_diffs.py b/file_diffs.py index 596b4ff..f87e65b 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -251,7 +251,7 @@ def update_view(self, view, edit, tmp_file): def file_will_be_read_from_disk(self, file): view = self.view.window().find_open_file(file) - return bool(os.path.exists(file) and not (view and view.is_dirty()) and not (view and self.view_has_a_selection(view))) + return os.path.exists(file) and not (view and view.is_dirty()) and not (view and self.view_has_a_selection(view)) def view_has_a_selection(self, view): """Checks if it has exactly one non-empty selection.""" From a7f4ec558d23691cf37d26cf33e8af244d37eeb0 Mon Sep 17 00:00:00 2001 From: Ali Ayas Date: Thu, 24 Jun 2021 03:25:56 +0300 Subject: [PATCH 53/60] Implement setting for number of context lines --- FileDiffs.sublime-settings | 3 +++ file_diffs.py | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/FileDiffs.sublime-settings b/FileDiffs.sublime-settings index 52bffc9..bd8730c 100644 --- a/FileDiffs.sublime-settings +++ b/FileDiffs.sublime-settings @@ -44,4 +44,7 @@ // Reverses "diff with clipboard" direction. // "reverse_clipboard": true, + + // Number of context lines. Defaults to 3. For full context, set it as "full". + // "context_lines": 3, } diff --git a/file_diffs.py b/file_diffs.py index f87e65b..444ac36 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -1,6 +1,7 @@ # coding: utf8 import os import re +import sys import sublime import sublime_plugin @@ -96,7 +97,11 @@ def run_diff(self, a, b, from_file, to_file, **options): (from_content, from_file) = self.prep_content(a, from_file, 'from_file') (to_content, to_file) = self.prep_content(b, to_file, 'to_file') - diffs = list(difflib.unified_diff(from_content, to_content, from_file, to_file)) + context_lines = self.get_setting("context_lines", 3); + if context_lines == "full": + context_lines = sys.maxsize + + diffs = list(difflib.unified_diff(from_content, to_content, from_file, to_file, n=context_lines)) if not diffs: if sublime.version() < '3000': From dc156bb95c77e7aa00040991d3c485346f53c727 Mon Sep 17 00:00:00 2001 From: Ali Ayas Date: Thu, 24 Jun 2021 03:30:08 +0300 Subject: [PATCH 54/60] Don't use HTML popup for "No Difference" message It causes bad UX when the cursor is not visible in the view i.e. the view is scrolled to the opposite direction. In that case, the user doesn't notice the popup because it appears next to the unvisible cursor. --- file_diffs.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/file_diffs.py b/file_diffs.py index f87e65b..6f5b688 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -99,10 +99,8 @@ def run_diff(self, a, b, from_file, to_file, **options): diffs = list(difflib.unified_diff(from_content, to_content, from_file, to_file)) if not diffs: - if sublime.version() < '3000': - sublime.status_message('No Difference') - else: - self.view.show_popup('No Difference') + sublime.status_message('No Difference') + else: external_command = external_diff_tool or self.get_setting('cmd') open_in_sublime = self.get_setting('open_in_sublime', not external_command) From 207cc237f8434a27e8eb88c1d67c6d49fc0f711f Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Wed, 1 Nov 2023 11:44:20 -0400 Subject: [PATCH 55/60] prefer "view.show_popup" over "sublime.status_message" for errors and alerts --- file_diffs.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/file_diffs.py b/file_diffs.py index 3e3fcf5..aa9bdd5 100644 --- a/file_diffs.py +++ b/file_diffs.py @@ -104,7 +104,7 @@ def run_diff(self, a, b, from_file, to_file, **options): diffs = list(difflib.unified_diff(from_content, to_content, from_file, to_file, n=context_lines)) if not diffs: - sublime.status_message('No Difference') + self.view.show_popup('No Difference') else: external_command = external_diff_tool or self.get_setting('cmd') @@ -197,7 +197,7 @@ def trim_trailing_white_space(file_name): post_diff_tool(from_file, to_file) except Exception as e: # some basic logging here, since we are cluttering the /tmp folder - sublime.status_message(str(e)) + self.view.show_popup(str(e)) finally: def remove_files(): @@ -248,7 +248,7 @@ def update_view(self, view, edit, tmp_file): elif nb_non_empty_regions == 1: region = non_empty_regions[0] else: - sublime.status_message('Cannot update multiselection') + self.view.show_popup('Cannot update multiselection') return view.replace(edit, region, self.get_content_from_file(tmp_file)) @@ -402,7 +402,7 @@ def find_files(self, folders, ret=[]): if not len([True for pattern in file_exclude_patterns if fnmatch(f, pattern)]): ret.append(fullpath) if len(ret) >= max_files: - sublime.status_message('Too many files to include all of them in this list') + self.view.show_popup('Too many files to include all of them in this list') return ret return ret From 48f5e5ecadbff8c5340ad029fdd7dab7141b360a Mon Sep 17 00:00:00 2001 From: Glenn 'devalias' Grant Date: Wed, 10 Jan 2024 11:28:55 +1100 Subject: [PATCH 56/60] update Main.sublime-menu to use edit_settings for side-by-side settings --- Main.sublime-menu | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Main.sublime-menu b/Main.sublime-menu index edb3be8..a1d1d28 100644 --- a/Main.sublime-menu +++ b/Main.sublime-menu @@ -15,8 +15,14 @@ "caption": "FileDiffs", "children": [ - { "command": "open_file", "args": {"file": "${packages}/FileDiffs/FileDiffs.sublime-settings"}, "caption": "Settings – Default" }, - { "command": "open_file", "args": {"file": "${packages}/User/FileDiffs.sublime-settings"}, "caption": "Settings – User" }, + { + "command": "edit_settings", + "args": { + "base_file": "${packages}/FileDiffs/FileDiffs.sublime-settings", + "default": "{\n$0\n}\n" + }, + "caption": "Settings" + }, { "caption": "-" } ] } From 66c8a2f0478037f06056d6e1f521ebd31a201427 Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Wed, 19 Feb 2025 12:14:55 -0500 Subject: [PATCH 57/60] package.json schema updated to 4.0 --- package.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 06c997b..8c9ff7a 100644 --- a/package.json +++ b/package.json @@ -3,10 +3,12 @@ "description": "Shows diffs between the current file, or selection(s) in the current file, and clipboard, another file, or unsaved changes. With contributions from Sebastian Pape (spape) and Jiri Urban (jiriurban)", "author": "Colin T.A. Gray (colinta)", "details": "https://github.com/colinta/SublimeFileDiffs", - "labels": ["diff/merge"], + "labels": [ + "diff/merge" + ], "releases": [ { - "details": "https://github.com/colinta/SublimeFileDiffs/tags", + "tags": true, "sublime_text": ">=3000" } ] From cb1cbc3748ecf486532e50e777da7cb3f2380965 Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Sat, 29 Mar 2025 07:13:38 -0400 Subject: [PATCH 58/60] adds messages.json and documentation for key bindings --- README.md | 52 ++++++++++++++------------------------------------- messages.json | 3 +++ 2 files changed, 17 insertions(+), 38 deletions(-) create mode 100644 messages.json diff --git a/README.md b/README.md index 4f2abfb..614cdd2 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ FileDiffs Plugin Shows diffs between the current file, or selection(s) in the current file, and clipboard, another file, or unsaved changes. Can be configured to show diffs in an external diff tool -## Preview +### Preview ![Preview](https://github.com/ildarkhasanshin/SublimeFileDiffs/raw/master/preview_1.png) @@ -23,43 +23,10 @@ Check the [wiki][] for more tips Installation ------------ -### Package Control (Easiest) +Using Package Control, install `FileDiffs` or clone this repo in your packages folder. -1. Using Package Control, install `FileDiffs` - -2. Install keymaps for the commands (see Example.sublime-keymap for my preferred keys) - -### Sublime Text 3 - -1. Open the Sublime Text Packages folder - - OS X: `~/Library/Application Support/Sublime Text 3/Packages/` - - Windows: `%APPDATA%/Sublime Text 3/Packages/` - - Linux: `~/.Sublime Text 3/Packages/` or `~/.config/sublime-text-3/Packages` - -2. Clone this repo - - ``` - # Over SSH - git clone git@github.com:colinta/SublimeFileDiffs - - # Over HTTPS - git clone https://github.com/colinta/SublimeFileDiffs.git - ``` - -3. Install keymaps for the commands (see Example.sublime-keymap for my preferred keys) - -### Sublime Text 2 - -1. Open the Sublime Text 2 Packages folder -2. Clone this repo, but use the `st2` branch - - ``` - # Over SSH - git clone -b st2 git@github.com:colinta/SublimeFileDiffs - - # Over HTTPS - git clone -b st2 https://github.com/colinta/SublimeFileDiffs.git - ``` +I recommended you add key bindings for the commands. I've included my preferred bindings below. +Copy them to your key bindings file (⌘⇧,). Add External Diff Tool *(optional)* -------- @@ -77,7 +44,6 @@ It supports: - A generic setting `FileDiffs.sublime-settings` which could be overloaded for each parameter in a platform specific configuration `FileDiffs ($platform).sublime-settings` in the `Settings - User` - Environment variable expansions for `cmd` parameter in the settings - Commands -------- @@ -99,6 +65,16 @@ The rest of the commands do not need to be bound (accessible from the menu): If FileDiffs has to use temporary files, they are created in your `Data/Packages` folder (rather than system temp folder) due to privacy concerns for portable Sublime Text installations. Temporary files are automatically removed after 15 seconds. +Key Bindings +------------ + +Copy these to your user key bindings file. + + + { "keys": ["ctrl+shift+d"], "command": "file_diff_menu" }, + { "keys": ["ctrl+shift+e"], "command": "file_diff_menu", "args": {"cmd": ["opendiff", "$file1", "$file2"] } }, + + Contributors ------------ diff --git a/messages.json b/messages.json new file mode 100644 index 0000000..7b20f7b --- /dev/null +++ b/messages.json @@ -0,0 +1,3 @@ +{ + "install": "README.md" +} From d53ad902ff505e61545b7c18a97aac6d07e5a99e Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Sun, 13 Apr 2025 09:36:02 -0400 Subject: [PATCH 59/60] rm messages.json - broken maybe --- messages.json | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 messages.json diff --git a/messages.json b/messages.json deleted file mode 100644 index 7b20f7b..0000000 --- a/messages.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "install": "README.md" -} From cb5215ad31e01aef3029878893542ec1a07d4a3d Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Sun, 13 Apr 2025 10:52:51 -0400 Subject: [PATCH 60/60] final formatting of package.json --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 8c9ff7a..5f336bf 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,15 @@ { "name": "FileDiffs", + "details": "https://github.com/colinta/SublimeFileDiffs", "description": "Shows diffs between the current file, or selection(s) in the current file, and clipboard, another file, or unsaved changes. With contributions from Sebastian Pape (spape) and Jiri Urban (jiriurban)", "author": "Colin T.A. Gray (colinta)", - "details": "https://github.com/colinta/SublimeFileDiffs", "labels": [ "diff/merge" ], "releases": [ { - "tags": true, - "sublime_text": ">=3000" + "sublime_text": ">=3000", + "tags": true } ] }