diff --git a/src/protocol/basic.jl b/src/protocol/basic.jl index c9623894..d876168b 100644 --- a/src/protocol/basic.jl +++ b/src/protocol/basic.jl @@ -58,10 +58,8 @@ const DiagnosticSeverities = (Error = 1, Hint = 4) const DiagnosticTag = Int -const DiagnosticTags = (Error = 1, - Warning = 2, - Information = 3, - Hint = 4) +const DiagnosticTags = (Unnecessary = 1, + Deprecated = 2) struct DiagnosticRelatedInformation location::Location diff --git a/src/requests/textdocument.jl b/src/requests/textdocument.jl index a287836a..e02eebba 100644 --- a/src/requests/textdocument.jl +++ b/src/requests/textdocument.jl @@ -305,7 +305,11 @@ function mark_errors(doc, out = Diagnostic[]) elseif CSTParser.isidentifier(errs[i][2]) && !StaticLint.haserror(errs[i][2]) push!(out, Diagnostic(Range(r[1] - 1, r[2], line - 1, char), DiagnosticSeverities.Warning, "Julia", "Julia", "Missing reference: $(errs[i][2].val)", missing, missing)) elseif StaticLint.haserror(errs[i][2]) && StaticLint.errorof(errs[i][2]) isa StaticLint.LintCodes - push!(out, Diagnostic(Range(r[1] - 1, r[2], line - 1, char), DiagnosticSeverities.Information, "Julia", "Julia", get(StaticLint.LintCodeDescriptions, StaticLint.errorof(errs[i][2]), ""), missing, missing)) + if StaticLint.errorof(errs[i][2]) === StaticLint.UnusedFunctionArgument + push!(out, Diagnostic(Range(r[1] - 1, r[2], line - 1, char), DiagnosticSeverities.Hint, "Julia", "Julia", get(StaticLint.LintCodeDescriptions, StaticLint.errorof(errs[i][2]), ""), [DiagnosticTags.Unnecessary], missing)) + else + push!(out, Diagnostic(Range(r[1] - 1, r[2], line - 1, char), DiagnosticSeverities.Information, "Julia", "Julia", get(StaticLint.LintCodeDescriptions, StaticLint.errorof(errs[i][2]), ""), missing, missing)) + end end i += 1 i>n && break diff --git a/src/requests/workspace.jl b/src/requests/workspace.jl index 7c610e04..fe5a6a0c 100644 --- a/src/requests/workspace.jl +++ b/src/requests/workspace.jl @@ -107,6 +107,7 @@ function request_julia_config(server) response[N + 7]===nothing ? false : response[N + 7], response[N + 8]===nothing ? false : response[N + 8], response[N + 9]===nothing ? false : response[N + 9], + response[N + 10]===nothing ? false : response[N + 10], ) new_run_lint_value = x===nothing ? false : true