From 4e6606954ec108d6ad93c4ef0aa3d5651dd83122 Mon Sep 17 00:00:00 2001 From: Jakit Date: Sun, 20 May 2018 18:05:01 +0800 Subject: [PATCH 1/5] Support SublimeLinter 4.5.3 --- linter.py | 71 ++++++++++++++++++++++++---------------------- messages.json | 3 +- messages/1.0.7.txt | 4 +-- messages/1.1.2.txt | 3 ++ 4 files changed, 44 insertions(+), 37 deletions(-) create mode 100644 messages/1.1.2.txt diff --git a/linter.py b/linter.py index 509ac64..1e46dbc 100644 --- a/linter.py +++ b/linter.py @@ -12,8 +12,7 @@ """This module exports the Ruby plugin class.""" from SublimeLinter.lint import RubyLinter -import re - +# import re class Ruby(RubyLinter): """Provides an interface to ruby -wc.""" @@ -29,49 +28,53 @@ class Ruby(RubyLinter): ) multiline = True comment_re = r'\s*#' + on_stderr = None + + # def split_match(self, match): + # """ + # Return the components of the match. - def split_match(self, match): - """ - Return the components of the match. + # We override this because unrelated library files can throw errors, + # and we only want errors from the linted file. - We override this because unrelated library files can throw errors, - and we only want errors from the linted file. + # """ - """ + # if match: + # if match.group('file') != '-': + # match = None - if match: - if match.group('file') != '-': - match = None + # match, line, col, error, warning, message, _ = super().split_match(match) + # near = self.search_token(message) - match, line, col, error, warning, message, _ = super().split_match(match) - near = self.search_token(message) + # return match, line, col, error, warning, message, near - return match, line, col, error, warning, message, near + # def search_token(self, message): + # """Search text token to be highlighted.""" - def search_token(self, message): - """Search text token to be highlighted.""" + # # First search for variable name enclosed in quotes + # m = re.search("(?<=`).*(?=')", message) - # First search for variable name enclosed in quotes - m = re.search("(?<=`).*(?=')", message) + # # Then search for variable name following a dash + # if m is None: + # m = re.search('(?<= - )\S+', message) - # Then search for variable name following a dash - if m is None: - m = re.search('(?<= - )\S+', message) + # # Then search for mismatched indentation + # if m is None: + # m = re.search("(?<=mismatched indentations at ')end", message) - # Then search for mismatched indentation - if m is None: - m = re.search("(?<=mismatched indentations at ')end", message) + # # Then search for equal operator in conditional + # if m is None: + # m = re.search('(?<=found )=(?= in conditional)', message) - # Then search for equal operator in conditional - if m is None: - m = re.search('(?<=found )=(?= in conditional)', message) + # # Then search for use of operator in void context + # if m is None: + # m = re.search('\S+(?= in void context)', message) - # Then search for use of operator in void context - if m is None: - m = re.search('\S+(?= in void context)', message) + # # Then search for END in method + # if m is None: + # m = re.search('END(?= in method)', message) - # Then search for END in method - if m is None: - m = re.search('END(?= in method)', message) + # return m.group(0) if m else None - return m.group(0) if m else None + def reposition_match(self, line, col, match, vv): + return super().reposition_match(line, col, match, vv) diff --git a/messages.json b/messages.json index cd5969c..4af7fa5 100644 --- a/messages.json +++ b/messages.json @@ -2,5 +2,6 @@ "install": "messages/install.txt", "1.0.5": "messages/1.0.5.txt", "1.0.6": "messages/1.0.6.txt", - "1.0.7": "messages/1.0.7.txt" + "1.0.7": "messages/1.0.7.txt", + "1.1.2": "messages/1.1.2.txt" } diff --git a/messages/1.0.7.txt b/messages/1.0.7.txt index f8646c3..d8557c1 100644 --- a/messages/1.0.7.txt +++ b/messages/1.0.7.txt @@ -1,3 +1,3 @@ -SublimeLinter-ruby 1.0.7 +SublimeLinter-ruby 1.1.2 ------------------------- -- Added erb ("HTML (Rails)") support. +- Support SublimeLinter 4.5.3 diff --git a/messages/1.1.2.txt b/messages/1.1.2.txt new file mode 100644 index 0000000..f8646c3 --- /dev/null +++ b/messages/1.1.2.txt @@ -0,0 +1,3 @@ +SublimeLinter-ruby 1.0.7 +------------------------- +- Added erb ("HTML (Rails)") support. From b094fbae846286f2fac0ac5642e4daf5c70ce09a Mon Sep 17 00:00:00 2001 From: Jakit Date: Sun, 20 May 2018 18:07:56 +0800 Subject: [PATCH 2/5] Update 1.0.7.txt --- messages/1.0.7.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/messages/1.0.7.txt b/messages/1.0.7.txt index d8557c1..f8646c3 100644 --- a/messages/1.0.7.txt +++ b/messages/1.0.7.txt @@ -1,3 +1,3 @@ -SublimeLinter-ruby 1.1.2 +SublimeLinter-ruby 1.0.7 ------------------------- -- Support SublimeLinter 4.5.3 +- Added erb ("HTML (Rails)") support. From ed6d41bb2f40ddeb335607e75d6b735ee22a9921 Mon Sep 17 00:00:00 2001 From: Jakit Date: Sun, 20 May 2018 18:08:17 +0800 Subject: [PATCH 3/5] Update 1.1.2.txt --- messages/1.1.2.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/messages/1.1.2.txt b/messages/1.1.2.txt index f8646c3..d8557c1 100644 --- a/messages/1.1.2.txt +++ b/messages/1.1.2.txt @@ -1,3 +1,3 @@ -SublimeLinter-ruby 1.0.7 +SublimeLinter-ruby 1.1.2 ------------------------- -- Added erb ("HTML (Rails)") support. +- Support SublimeLinter 4.5.3 From 75381376d3ec383042414e6bdb786032016d1436 Mon Sep 17 00:00:00 2001 From: Jakit Date: Sun, 20 May 2018 18:14:58 +0800 Subject: [PATCH 4/5] Update --- linter.py | 1 + messages/1.0.7.txt | 4 ++-- messages/1.1.2.txt | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/linter.py b/linter.py index 1e46dbc..068e483 100644 --- a/linter.py +++ b/linter.py @@ -14,6 +14,7 @@ from SublimeLinter.lint import RubyLinter # import re + class Ruby(RubyLinter): """Provides an interface to ruby -wc.""" diff --git a/messages/1.0.7.txt b/messages/1.0.7.txt index d8557c1..f8646c3 100644 --- a/messages/1.0.7.txt +++ b/messages/1.0.7.txt @@ -1,3 +1,3 @@ -SublimeLinter-ruby 1.1.2 +SublimeLinter-ruby 1.0.7 ------------------------- -- Support SublimeLinter 4.5.3 +- Added erb ("HTML (Rails)") support. diff --git a/messages/1.1.2.txt b/messages/1.1.2.txt index f8646c3..d8557c1 100644 --- a/messages/1.1.2.txt +++ b/messages/1.1.2.txt @@ -1,3 +1,3 @@ -SublimeLinter-ruby 1.0.7 +SublimeLinter-ruby 1.1.2 ------------------------- -- Added erb ("HTML (Rails)") support. +- Support SublimeLinter 4.5.3 From 59fb320c6d8f075219308777823ab020dbd8ee9b Mon Sep 17 00:00:00 2001 From: Jakit Date: Sun, 20 May 2018 18:42:37 +0800 Subject: [PATCH 5/5] Update --- linter.py | 69 ++++++++++++++++++++++++++----------------------------- 1 file changed, 33 insertions(+), 36 deletions(-) diff --git a/linter.py b/linter.py index 068e483..06ca8d7 100644 --- a/linter.py +++ b/linter.py @@ -12,7 +12,7 @@ """This module exports the Ruby plugin class.""" from SublimeLinter.lint import RubyLinter -# import re +import re class Ruby(RubyLinter): @@ -31,51 +31,48 @@ class Ruby(RubyLinter): comment_re = r'\s*#' on_stderr = None - # def split_match(self, match): - # """ - # Return the components of the match. + def split_match(self, match): + """ + Return the components of the match. - # We override this because unrelated library files can throw errors, - # and we only want errors from the linted file. + We override this because unrelated library files can throw errors, + and we only want errors from the linted file. - # """ + """ - # if match: - # if match.group('file') != '-': - # match = None + if match: + if match.group('file') != '-': + match = None - # match, line, col, error, warning, message, _ = super().split_match(match) - # near = self.search_token(message) + match, line, col, error, warning, message, _ = super().split_match(match) + near = self.search_token(message) - # return match, line, col, error, warning, message, near + return match, line, col, error, warning, message, near - # def search_token(self, message): - # """Search text token to be highlighted.""" + def search_token(self, message): + """Search text token to be highlighted.""" - # # First search for variable name enclosed in quotes - # m = re.search("(?<=`).*(?=')", message) + # First search for variable name enclosed in quotes + m = re.search("(?<=`).*(?=')", message) - # # Then search for variable name following a dash - # if m is None: - # m = re.search('(?<= - )\S+', message) + # Then search for variable name following a dash + if m is None: + m = re.search('(?<= - )\S+', message) - # # Then search for mismatched indentation - # if m is None: - # m = re.search("(?<=mismatched indentations at ')end", message) + # Then search for mismatched indentation + if m is None: + m = re.search("(?<=mismatched indentations at ')end", message) - # # Then search for equal operator in conditional - # if m is None: - # m = re.search('(?<=found )=(?= in conditional)', message) + # Then search for equal operator in conditional + if m is None: + m = re.search('(?<=found )=(?= in conditional)', message) - # # Then search for use of operator in void context - # if m is None: - # m = re.search('\S+(?= in void context)', message) + # Then search for use of operator in void context + if m is None: + m = re.search('\S+(?= in void context)', message) - # # Then search for END in method - # if m is None: - # m = re.search('END(?= in method)', message) + # Then search for END in method + if m is None: + m = re.search('END(?= in method)', message) - # return m.group(0) if m else None - - def reposition_match(self, line, col, match, vv): - return super().reposition_match(line, col, match, vv) + return m.group(0) if m else None