feat(pyright): change to ruff
This commit is contained in:
+67
-26
@@ -3,30 +3,69 @@ local utils = require("utils")
|
|||||||
---@type ServerConfig
|
---@type ServerConfig
|
||||||
return {
|
return {
|
||||||
enable = true,
|
enable = true,
|
||||||
mason = { "pyright" },
|
mason = { "pyright", dependencies = { "ruff" } },
|
||||||
dependencies = { "black", "flake8", "isort" },
|
|
||||||
linters = {
|
linters = {
|
||||||
{
|
{
|
||||||
cmd = {
|
cmd = {
|
||||||
"flake8",
|
"ruff",
|
||||||
"--max-line-length=80",
|
"check",
|
||||||
"--max-doc-length=80",
|
"--output-format=json",
|
||||||
"--format",
|
"--line-length=80",
|
||||||
"%(row)d,%(col)d,%(code)s: %(text)s",
|
"--preview",
|
||||||
|
"--select=YTT,ANN,ASYNC,B,A,COM,C4,DTZ,T10,FIX,FA,ISC,PIE,PYI",
|
||||||
|
"--extend-select=PT,RET,SIM,TC,I,C90,DOC,D,F,PL,UP,RUF",
|
||||||
|
"--ignore=D203,D301,D101",
|
||||||
|
"-q",
|
||||||
"-",
|
"-",
|
||||||
},
|
},
|
||||||
stdin = true,
|
stdin = true,
|
||||||
stdout = true,
|
stdout = true,
|
||||||
pattern = "^(%d+),(%d+),((%w)%d+): (.*)",
|
json = {
|
||||||
groups = { "lnum", "col", "code", "severity", "message" },
|
lnum = "location.row",
|
||||||
source = "flake8",
|
end_lnum = "end_location.row",
|
||||||
severity_map = {
|
col = "location.column",
|
||||||
|
end_col = "end_location.column",
|
||||||
|
code = "code",
|
||||||
|
message = "message",
|
||||||
|
callback = function(diag)
|
||||||
|
local map = {
|
||||||
|
YTT = vim.diagnostic.severity.HINT,
|
||||||
|
ANN = vim.diagnostic.severity.HINT,
|
||||||
|
ASYNC = vim.diagnostic.severity.HINT,
|
||||||
|
B = vim.diagnostic.severity.HINT,
|
||||||
|
A = vim.diagnostic.severity.HINT,
|
||||||
|
COM = vim.diagnostic.severity.HINT,
|
||||||
|
C = vim.diagnostic.severity.HINT,
|
||||||
|
DTZ = vim.diagnostic.severity.HINT,
|
||||||
|
T = vim.diagnostic.severity.HINT,
|
||||||
|
FIX = vim.diagnostic.severity.HINT,
|
||||||
|
FA = vim.diagnostic.severity.HINT,
|
||||||
|
ISC = vim.diagnostic.severity.HINT,
|
||||||
|
PIE = vim.diagnostic.severity.HINT,
|
||||||
|
PYI = vim.diagnostic.severity.HINT,
|
||||||
|
PT = vim.diagnostic.severity.HINT,
|
||||||
|
RET = vim.diagnostic.severity.HINT,
|
||||||
|
SIM = vim.diagnostic.severity.HINT,
|
||||||
|
TC = vim.diagnostic.severity.HINT,
|
||||||
|
I = vim.diagnostic.severity.HINT,
|
||||||
E = vim.diagnostic.severity.ERROR,
|
E = vim.diagnostic.severity.ERROR,
|
||||||
W = vim.diagnostic.severity.WARN,
|
W = vim.diagnostic.severity.WARN,
|
||||||
B = vim.diagnostic.severity.HINT,
|
DOC = vim.diagnostic.severity.HINT,
|
||||||
F = vim.diagnostic.severity.HINT,
|
|
||||||
D = vim.diagnostic.severity.INFO,
|
D = vim.diagnostic.severity.INFO,
|
||||||
|
F = vim.diagnostic.severity.HINT,
|
||||||
|
PLC = vim.diagnostic.severity.HINT,
|
||||||
|
PLE = vim.diagnostic.severity.ERROR,
|
||||||
|
PLR = vim.diagnostic.severity.HINT,
|
||||||
|
PLW = vim.diagnostic.severity.WARN,
|
||||||
|
UP = vim.diagnostic.severity.HINT,
|
||||||
|
RUF = vim.diagnostic.severity.HINT,
|
||||||
|
}
|
||||||
|
if diag.code then
|
||||||
|
diag.severity = map[diag.code:match("^(%u+)")]
|
||||||
|
end
|
||||||
|
end,
|
||||||
},
|
},
|
||||||
|
source = "ruff",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
keymaps = {
|
keymaps = {
|
||||||
@@ -36,11 +75,10 @@ return {
|
|||||||
rhs = function()
|
rhs = function()
|
||||||
utils.format({
|
utils.format({
|
||||||
cmd = {
|
cmd = {
|
||||||
"black",
|
"ruff",
|
||||||
"--line-length",
|
"format",
|
||||||
"80",
|
"--line-length=80",
|
||||||
"--stdin-filename",
|
"--stdin-filename=%filename%",
|
||||||
"%filename%",
|
|
||||||
"--quiet",
|
"--quiet",
|
||||||
"-",
|
"-",
|
||||||
},
|
},
|
||||||
@@ -48,7 +86,10 @@ return {
|
|||||||
})
|
})
|
||||||
utils.format({
|
utils.format({
|
||||||
cmd = {
|
cmd = {
|
||||||
"isort",
|
"ruff",
|
||||||
|
"check",
|
||||||
|
"--select=I",
|
||||||
|
"--fix",
|
||||||
"--quiet",
|
"--quiet",
|
||||||
"-",
|
"-",
|
||||||
},
|
},
|
||||||
@@ -62,13 +103,12 @@ return {
|
|||||||
rhs = function()
|
rhs = function()
|
||||||
utils.format({
|
utils.format({
|
||||||
cmd = {
|
cmd = {
|
||||||
"black",
|
"ruff",
|
||||||
"--line-length",
|
"format",
|
||||||
"80",
|
"--line-length=80",
|
||||||
"--stdin-filename",
|
"--stdin-filename=%filename%",
|
||||||
"%filename%",
|
|
||||||
"--quiet",
|
"--quiet",
|
||||||
"--line-ranges=%row_start%-%row_end%",
|
"--range=%row_start%:%col_start%-%row_end%:%col_end%",
|
||||||
"-",
|
"-",
|
||||||
},
|
},
|
||||||
output = "stdout",
|
output = "stdout",
|
||||||
@@ -83,10 +123,11 @@ return {
|
|||||||
settings = {
|
settings = {
|
||||||
python = {
|
python = {
|
||||||
analysis = {
|
analysis = {
|
||||||
|
disable = true,
|
||||||
autoSearchPaths = true,
|
autoSearchPaths = true,
|
||||||
diagnosticMode = "openFilesOnly",
|
diagnosticMode = "openFilesOnly",
|
||||||
useLibraryCodeForTypes = true,
|
useLibraryCodeForTypes = true,
|
||||||
typeCheckingMode = "off",
|
typeCheckingMode = "strict",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user