1
0
mirror of https://github.com/amix/vimrc synced 2025-06-24 07:44:59 +08:00

Use syntastic instead of pyflakes (supports a ton of more languages)

This commit is contained in:
amix
2014-02-08 10:05:16 +00:00
parent 8265dca5d5
commit 497b5aa4fb
193 changed files with 11942 additions and 3531 deletions

View File

@ -0,0 +1,41 @@
#!/usr/bin/env node
fs = require 'fs'
less = require 'less'
args = process.argv.slice(1)
options = {}
args = args.filter (arg) ->
match = arg.match(/^-I(.+)$/)
if match
options.paths.push(match[1]);
return false
match = arg.match(/^--?([a-z][\-0-9a-z]*)(?:=([^\s]+))?$/i)
if match
arg = match[1]
else
return arg
switch arg
when 'strict-imports' then options.strictImports = true
when 'include-path'
options.paths = match[2].split(if os.type().match(/Windows/) then ';' else ':')
.map (p) ->
if p
return path.resolve(process.cwd(), p)
when 'O0' then options.optimization = 0
when 'O1' then options.optimization = 1
when 'O2' then options.optimization = 2
options.filename = args[1]
parser = new(less.Parser) options
fs.readFile(options.filename, 'utf-8', (err,data) ->
parser.parse(data, (err, tree) ->
if err
less.writeError err
process.exit(1)
)
)

View File

@ -0,0 +1,57 @@
// Generated by CoffeeScript 1.3.3
(function() {
var args, fs, less, options, parser;
fs = require('fs');
less = require('less');
args = process.argv.slice(1);
options = {};
args = args.filter(function(arg) {
var match;
match = arg.match(/^-I(.+)$/);
if (match) {
options.paths.push(match[1]);
return false;
}
match = arg.match(/^--?([a-z][\-0-9a-z]*)(?:=([^\s]+))?$/i);
if (match) {
arg = match[1];
} else {
return arg;
}
switch (arg) {
case 'strict-imports':
return options.strictImports = true;
case 'include-path':
return options.paths = match[2].split(os.type().match(/Windows/) ? ';' : ':').map(function(p) {
if (p) {
return path.resolve(process.cwd(), p);
}
});
case 'O0':
return options.optimization = 0;
case 'O1':
return options.optimization = 1;
case 'O2':
return options.optimization = 2;
}
});
options.filename = args[1];
parser = new less.Parser(options);
fs.readFile(options.filename, 'utf-8', function(err, data) {
return parser.parse(data, function(err, tree) {
if (err) {
less.writeError(err);
return process.exit(1);
}
});
});
}).call(this);

View File

@ -0,0 +1,71 @@
"============================================================================
"File: less.vim
"Description: Syntax checking plugin for syntastic.vim
"Maintainer: Julien Blanchard <julien at sideburns dot eu>
"License: This program is free software. It comes without any warranty,
" to the extent permitted by applicable law. You can redistribute
" it and/or modify it under the terms of the Do What The Fuck You
" Want To Public License, Version 2, as published by Sam Hocevar.
" See http://sam.zoy.org/wtfpl/COPYING for more details.
"
"============================================================================
" To send additional options to less use the variable g:syntastic_less_options.
" The default is
" let g:syntastic_less_options = "--no-color"
"
" To use less-lint instead of less set the variable
" g:syntastic_less_use_less_lint.
if exists("g:loaded_syntastic_less_lessc_checker")
finish
endif
let g:loaded_syntastic_less_lessc_checker = 1
if !exists("g:syntastic_less_options")
let g:syntastic_less_options = ""
endif
if !exists("g:syntastic_less_use_less_lint")
let g:syntastic_less_use_less_lint = 0
endif
let s:save_cpo = &cpo
set cpo&vim
if g:syntastic_less_use_less_lint
let s:check_file = 'node ' . syntastic#util#shescape(expand('<sfile>:p:h') . syntastic#util#Slash() . 'less-lint.js')
else
let s:check_file = 'lessc'
endif
function! SyntaxCheckers_less_lessc_IsAvailable() dict
return g:syntastic_less_use_less_lint ? executable('node') : executable('lessc')
endfunction
function! SyntaxCheckers_less_lessc_GetLocList() dict
let makeprg = self.makeprgBuild({
\ 'exe': s:check_file,
\ 'args': g:syntastic_less_options,
\ 'args_after': '--no-color',
\ 'tail': '> ' . syntastic#util#DevNull() })
let errorformat =
\ '%m in %f on line %l\, column %c:,' .
\ '%m in %f:%l:%c,' .
\ '%-G%.%#'
return SyntasticMake({
\ 'makeprg': makeprg,
\ 'errorformat': errorformat,
\ 'defaults': {'bufnr': bufnr(""), 'text': "Syntax error"} })
endfunction
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'less',
\ 'name': 'lessc'})
let &cpo = s:save_cpo
unlet s:save_cpo
" vim: set et sts=4 sw=4: