0
0
mirror of https://github.com/vim/vim.git synced 2025-08-22 19:27:53 -04:00

runtime(compiler): add mypy and ruff compiler; update pylint linter

mypy and ruff come from
https://github.com/Konfekt/vim-compilers/tree/master/compiler and the
former was added by @pbnj-dragon

closes: #16007

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Konfekt 2024-11-07 21:40:22 +01:00 committed by Christian Brabandt
parent 64a536d4fa
commit 6d9a145d71
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09
5 changed files with 85 additions and 9 deletions

19
runtime/compiler/mypy.vim Normal file
View File

@ -0,0 +1,19 @@
" Vim compiler file
" Compiler: Mypy (Python static checker)
" Maintainer: @Konfekt
" Last Change: 2024 Nov 07
if exists("current_compiler") | finish | endif
let current_compiler = "mypy"
let s:cpo_save = &cpo
set cpo&vim
" CompilerSet makeprg=mypy
let &l:makeprg = 'mypy --show-column-numbers '
\ ..get(b:, 'mypy_makeprg_params', get(g:, 'mypy_makeprg_params', '--strict --ignore-missing-imports'))
exe 'CompilerSet makeprg='..escape(&l:makeprg, ' "')
CompilerSet errorformat=%f:%l:%c:\ %t%*[^:]:\ %m
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@ -1,13 +1,21 @@
" Vim compiler file
" Compiler: Pylint for Python
" Maintainer: Daniel Moch <daniel@danielmoch.com>
" Last Change: 2016 May 20
" 2024 Apr 03 by The Vim Project (removed :CompilerSet definition)
" Compiler: Pylint for Python
" Maintainer: Daniel Moch <daniel@danielmoch.com>
" Last Change: 2024 Nov 07 by The Vim Project (added params variable)
if exists("current_compiler")
finish
endif
if exists("current_compiler") | finish | endif
let current_compiler = "pylint"
CompilerSet makeprg=pylint\ --output-format=text\ --msg-template=\"{path}:{line}:{column}:{C}:\ [{symbol}]\ {msg}\"\ --reports=no
let s:cpo_save = &cpo
set cpo&vim
" CompilerSet makeprg=ruff
let &l:makeprg = 'pylint ' .
\ '--output-format=text --msg-template="{path}:{line}:{column}:{C}: [{symbol}] {msg}" --reports=no ' .
\ get(b:, "pylint_makeprg_params", get(g:, "pylint_makeprg_params",
\ (executable('getconf') ? '--jobs='..systemlist('getconf _NPROCESSORS_ONLN')[0] : '')))
exe 'CompilerSet makeprg='..escape(&l:makeprg, ' "')
CompilerSet errorformat=%A%f:%l:%c:%t:\ %m,%A%f:%l:\ %m,%A%f:(%l):\ %m,%-Z%p^%.%#,%-G%.%#
let &cpo = s:cpo_save
unlet s:cpo_save

19
runtime/compiler/ruff.vim Normal file
View File

@ -0,0 +1,19 @@
" Vim compiler file
" Compiler: Ruff (Python linter)
" Maintainer: @pbnj-dragon
" Last Change: 2024 Nov 07
if exists("current_compiler") | finish | endif
let current_compiler = "ruff"
let s:cpo_save = &cpo
set cpo&vim
" CompilerSet makeprg=ruff
let &l:makeprg= 'ruff check --output-format=concise '
\ ..get(b:, 'ruff_makeprg_params', get(g:, 'ruff_makeprg_params', '--preview'))
exe 'CompilerSet makeprg='..escape(&l:makeprg, ' "')
CompilerSet errorformat=%f:%l:%c:\ %m,%f:%l:\ %m,%f:%l:%c\ -\ %m,%f:
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 9.1. Last change: 2024 Oct 05
*quickfix.txt* For Vim version 9.1. Last change: 2024 Nov 07
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1405,6 +1405,33 @@ being checked. To disable this set g:perl_compiler_force_warnings to a zero
value. For example: >
let g:perl_compiler_force_warnings = 0
MYPY TYPE CHECKER *compiler-mypy*
Commonly used compiler options can be added to 'makeprg' by setting the
b/g:mypy_makeprg_params variable. For example: >
let b:mypy_makeprg_params = "--warn-unused-ignores"
The global default is "--strict --ignore-missing-imports".
RUFF LINTER *compiler-ruff*
Commonly used compiler options can be added to 'makeprg' by setting the
b/g:ruff_makeprg_params variable. For example: >
let b:ruff_makeprg_params = "--max-line-length"..&textwidth
The global default is "--preview".
PYLINT LINTER *compiler-pylint*
Commonly used compiler options can be added to 'makeprg' by setting the
b/g:pylint_makeprg_params variable. For example: >
let b:pylint_makeprg_params = "--max-line-length"..&textwidth
The global default is "--jobs=n" where n is the number of cores as reported
by getconf, if executable. Otherwise it defaults to "".
PYUNIT COMPILER *compiler-pyunit*

View File

@ -6560,9 +6560,12 @@ compiler-hpada ft_ada.txt /*compiler-hpada*
compiler-javac quickfix.txt /*compiler-javac*
compiler-make quickfix.txt /*compiler-make*
compiler-manx quickfix.txt /*compiler-manx*
compiler-mypy quickfix.txt /*compiler-mypy*
compiler-pandoc quickfix.txt /*compiler-pandoc*
compiler-perl quickfix.txt /*compiler-perl*
compiler-pylint quickfix.txt /*compiler-pylint*
compiler-pyunit quickfix.txt /*compiler-pyunit*
compiler-ruff quickfix.txt /*compiler-ruff*
compiler-select quickfix.txt /*compiler-select*
compiler-tex quickfix.txt /*compiler-tex*
compiler-typst quickfix.txt /*compiler-typst*