feat(SublimeText2.WebPackages): cache packages
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# cpp.py - sublimelint package for checking C++ files
|
||||
|
||||
import re
|
||||
|
||||
from base_linter import BaseLinter, INPUT_METHOD_TEMP_FILE
|
||||
|
||||
CONFIG = {
|
||||
'language': 'C',
|
||||
'executable': 'cppcheck',
|
||||
'lint_args': ['--enable=style', '--quiet', '{filename}'],
|
||||
'input_method': INPUT_METHOD_TEMP_FILE
|
||||
}
|
||||
|
||||
|
||||
class Linter(BaseLinter):
|
||||
CPPCHECK_RE = re.compile(r'\[.+?:(\d+?)\](.+)')
|
||||
|
||||
def __init__(self, config):
|
||||
super(Linter, self).__init__(config)
|
||||
|
||||
def parse_errors(self, view, errors, lines, errorUnderlines,
|
||||
violationUnderlines, warningUnderlines,
|
||||
errorMessages, violationMessages,
|
||||
warningMessages):
|
||||
# Go through each line in the output of cppcheck
|
||||
for line in errors.splitlines():
|
||||
match = self.CPPCHECK_RE.match(line)
|
||||
if match:
|
||||
# The regular expression matches the line number and
|
||||
# the message as its two groups.
|
||||
lineno, message = match.group(1), match.group(2)
|
||||
# Remove the colon at the beginning of the message
|
||||
if len(message) > 0 and message[0] == ':':
|
||||
message = message[1:].strip()
|
||||
lineno = int(lineno)
|
||||
self.add_message(lineno, lines, message, errorMessages)
|
Reference in New Issue
Block a user