diff --git a/Slack.py b/Slack.py old mode 100644 new mode 100755 index f9deb6d..cd6362f --- a/Slack.py +++ b/Slack.py @@ -242,6 +242,8 @@ 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() + message = "" # get all selected regions for region in self.view.sel(): text = self.view.substr(region) @@ -249,10 +251,28 @@ def run(self, view): if not text: sublime.error_message("SLACK Error: No text selected") return - self.messages.append("```{0}```".format(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): + 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 """