From b6d5c039d435205d9be9a1121b5d1b17219c4fb5 Mon Sep 17 00:00:00 2001 From: Dominique Gerber Date: Mon, 2 May 2016 13:19:23 +0200 Subject: [PATCH 1/2] Add file and line info when sending selection --- Slack.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Slack.py b/Slack.py index f9deb6d..cb7c1bf 100644 --- a/Slack.py +++ b/Slack.py @@ -242,17 +242,27 @@ class SendSelectionCommand(BaseSend): """ Send the selected text to slack. Multiple selections supported """ def run(self, view): super(SendSelectionCommand, self).run(view) + fileName = self.friendly_filename() # get all selected regions for region in self.view.sel(): text = self.view.substr(region) + (lineFrom,colFrom) = self.view.rowcol(region.begin()) + (lineTo,colTo) = self.view.rowcol(region.end()) if not text: sublime.error_message("SLACK Error: No text selected") return - self.messages.append("```{0}```".format(text)) + self.messages.append(">*File: {0}, Line(s): {1}-{2}*```{3}```".format(fileName,lineFrom,lineTo,text)) threading.Thread(target=self.init_message_send).start() + def friendly_filename(self): + filename = self.view.file_name().split('/').pop() + if self.settings.get('repeat_file_ext') and len(filename.split('.')) > 1: + filename += '.' + filename.split('.').pop() + return filename + + class SendMessageCommand(BaseSend): """ Send a message from user input """ From b107a9579a2585554151c994e44f2cb6efb1e1e8 Mon Sep 17 00:00:00 2001 From: Dominique Gerber Date: Mon, 2 May 2016 19:28:51 +0200 Subject: [PATCH 2/2] better line info and post grouping --- Slack.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) mode change 100644 => 100755 Slack.py diff --git a/Slack.py b/Slack.py old mode 100644 new mode 100755 index cb7c1bf..cd6362f --- a/Slack.py +++ b/Slack.py @@ -243,17 +243,27 @@ class SendSelectionCommand(BaseSend): def run(self, view): super(SendSelectionCommand, self).run(view) fileName = self.friendly_filename() + message = "" # get all selected regions for region in self.view.sel(): text = self.view.substr(region) - (lineFrom,colFrom) = self.view.rowcol(region.begin()) - (lineTo,colTo) = self.view.rowcol(region.end()) if not text: sublime.error_message("SLACK Error: No text selected") return - self.messages.append(">*File: {0}, Line(s): {1}-{2}*```{3}```".format(fileName,lineFrom,lineTo,text)) + (lineFrom,colFrom) = self.view.rowcol(region.begin()) + (lineTo,colTo) = self.view.rowcol(region.end()) + + if (lineTo != lineFrom and colTo == 0): + lineTo = lineTo-1; + + if (lineFrom == lineTo): + message += ">*File: {0}, Line: {1}*```{2}```\n".format(fileName,lineFrom,text) + else: + message += ">*File: {0}, Line(s): {1}-{2}*```{3}```\n".format(fileName,lineFrom,lineTo,text) + + self.messages.append(message) threading.Thread(target=self.init_message_send).start() def friendly_filename(self):