mirror of
https://github.com/sstent/sublime-text-3.git
synced 2026-02-02 18:42:40 +00:00
backing up sublime settings
This commit is contained in:
48
Packages/User/linters/c.py
Normal file
48
Packages/User/linters/c.py
Normal file
@@ -0,0 +1,48 @@
|
||||
import os
|
||||
|
||||
from lint import Linter
|
||||
from lint.util import find
|
||||
|
||||
def find_includes(filename):
|
||||
includes = []
|
||||
if filename:
|
||||
parent = os.path.dirname(filename)
|
||||
includes.append('-I' + parent)
|
||||
inc = find(parent, 'include')
|
||||
if inc:
|
||||
includes.append('-I' + inc)
|
||||
|
||||
return includes
|
||||
|
||||
class C(Linter):
|
||||
language = 'c'
|
||||
cmd = ('clang',)
|
||||
args = ('-xc', '-fsyntax-only', '-std=c99', '-Werror', '-pedantic')
|
||||
regex = (
|
||||
r'^<stdin>:(?P<line>\d+):(?P<col>\d+):'
|
||||
r'(?:(?P<ranges>[{}0-9:\-]+):)?\s+'
|
||||
r'(?P<error>.+)'
|
||||
)
|
||||
defaults = {
|
||||
'cmd': cmd,
|
||||
'args': args,
|
||||
'include': [],
|
||||
}
|
||||
|
||||
def run(self, cmd, code):
|
||||
cmd = tuple(self.settings.get('cmd'),) or self.cmd
|
||||
cmd += tuple(self.settings.get('args', []))
|
||||
for include in self.settings.get('include', []):
|
||||
cmd += ('-I{}'.format(include),)
|
||||
cmd += ('-',) + tuple(find_includes(self.filename))
|
||||
return super().communicate(cmd, code)
|
||||
|
||||
class CPP(C):
|
||||
language = 'c++'
|
||||
cmd = ('clang++',)
|
||||
args = ('-xc++', '-fsyntax-only', '-std=c++11', '-Werror', '-pedantic')
|
||||
defaults = {
|
||||
'cmd': cmd,
|
||||
'args': args,
|
||||
'include': [],
|
||||
}
|
||||
Reference in New Issue
Block a user