41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # -*- coding: utf-8 -*-
 | |
| # css.py - sublimelint package for checking CSS files
 | |
| 
 | |
| import json
 | |
| 
 | |
| from base_linter import BaseLinter
 | |
| 
 | |
| CONFIG = {
 | |
|     'language': 'CSS'
 | |
| }
 | |
| 
 | |
| 
 | |
| class Linter(BaseLinter):
 | |
|     def __init__(self, config):
 | |
|         super(Linter, self).__init__(config)
 | |
| 
 | |
|     def get_executable(self, view):
 | |
|         return self.get_javascript_engine(view)
 | |
| 
 | |
|     def get_lint_args(self, view, code, filename):
 | |
|         return self.get_javascript_args(view, 'csslint', code)
 | |
| 
 | |
|     def parse_errors(self, view, errors, lines, errorUnderlines, violationUnderlines, warningUnderlines, errorMessages, violationMessages, warningMessages):
 | |
|         try:
 | |
|             errors = json.loads(errors.strip() or '[]')
 | |
|         except ValueError:
 | |
|             raise ValueError("Error from csslint: {0}".format(errors))
 | |
| 
 | |
|         for error in errors:
 | |
|             lineno = error['line']
 | |
| 
 | |
|             if error['type'] == 'warning':
 | |
|                 messages = warningMessages
 | |
|                 underlines = warningUnderlines
 | |
|             else:
 | |
|                 messages = errorMessages
 | |
|                 underlines = errorUnderlines
 | |
| 
 | |
|             self.add_message(lineno, lines, error['reason'], messages)
 | |
|             self.underline_range(view, lineno, error['character'] - 1, underlines)
 |