I wanted an easy way to be able to select a line or two (or twenty) and see the last revision’s author and time of change. This will pop open the console and write to it:
Here’s the code for “blame.py”:
[code]import os
import sublime
import sublime_plugin
class BlameCommand(sublime_plugin.TextCommand):
def run(self, edit):
if len(self.view.file_name()) > 0:
folder_name, file_name = os.path.split(self.view.file_name())
begin_line, begin_column = self.view.rowcol(self.view.sel()[0].begin())
end_line, end_column = self.view.rowcol(self.view.sel()[0].end())
begin_line = str(begin_line)
end_line = str(end_line)
lines = begin_line + ‘,’ + end_line
self.view.window().run_command(‘exec’, {‘cmd’: ‘git’, ‘blame’, ‘-L’, lines, file_name], ‘working_dir’: folder_name})
sublime.status_message("git blame -L " + lines + " " + file_name)
def is_enabled(self):
return self.view.file_name() and len(self.view.file_name()) > 0
[/code]
I threw it on github here as well:
https://github.com/ehamiter/Sublime-Text-2-Plugins