Lit 오류를 무시하는 Vim 플러그인을 만들었습니다.
TL;DR
Lit 오류를 억제하는 Vim 플러그인을 만들었습니다.
왜 그랬어
Typescript의 테스트 코드를 사용하거나ny모드로 게으름을 피우고 싶을 때, 잠시 코드로 라인을 침묵시키려고 할 때, 매번 ESlint의 규칙 이름을 조사한다
복제
// eslint-disable-line @typescript-eslint/no-explicit-any
등 코드에 붙이는 작업이 게으르다.(Litt 오류를 제거하면 게으른 작업을 하지 않아도 됩니다.)
파이톤으로 하나씩
# noqa: C901
하거나 flake8의 오류 메시지에서 줍는 것은 번거롭다 (이하 동문).만든 물건
평소 ESlint과 flake8은 자체로 만든 Vim 플러그인으로 오류 내용을 QuickFix에 삽입하기 때문에 그곳에서 오류를 줍고, 오류를 줄의 줄 끝이나 위의 줄에 삽입합니다.
function s:eslint_format(...)
if &ft !~ 'typescript'
return ''
endif
let value = a:000[0]
let position = a:000[1]
if position == 'upper'
return printf('// eslint-disable-next-line %s', value)
endif
return printf(' // eslint-disable-line %s', value)
endfunction
function s:py_format(...)
if &ft !~ 'python'
return ''
endif
return printf(' # noqa: %s', a:000[0])
endfunction
let g:shutup_patterns = {
\ '(\zs.*\ze)': function('s:eslint_format'),
\ '[A-Z][0-9]\{3} ': function('s:py_format'),
\ 'eslint:\(Error\|Warning\):\zs.*\ze:': function('s:eslint_format'),
\ }
vimrc에 이런 느낌을 쓰면 오류가 발생한 줄에:Shutup
를 치면 퀵픽스에 나타난 오류 메시지에서 규칙 이름을 골라 댓글을 달아준다.직접 만든 플러그인은vim-lsp 같은 것을 한정적으로 사용하면 번거롭기 때문에 좀 더 통용되고 싶습니다.
예를 들어vim-lsp는 다음과 같은 형식으로 오류로 기록됩니다
eslint:Error:no-console:Unexpected console statement.
제3사칭에 있는 규칙명:no-console:
은 규칙명이므로 이 규칙의 정규 표현식g:shutup_patterns
을 제외한 키로 정의한다.만약 이 줄의 오류가 정규 표현식과 일치한다면, 정의된 함수에 들어가서 매개 변수의 첫 번째 일치하는 문자열을 표시하고, 두 번째 문자열을 어느 위치에 삽입하는지 표시합니다.
삽입할 문자열을 함수에서 되돌리면 삽입됩니다.
예를 들어 다음과 같이 한 줄에 두 개의 규칙을 위반한 상황에서 두 개의 규칙을 결합하여 삽입한다.
console.log('foo' as any)
자기 전용이지만 40줄도 안 돼서 가능해서 편해요. 마음에 들어요.구속
ALE와 같은 Quickfix에 잘못된 규칙 이름이 표시되지 않으면 규칙 이름을 지정하여 주석을 삽입할 수 없습니다.
추기
동료가 나에게
let g:ale_echo_msg_format = '[%linter%] [%severity%] %s (%code%)'
규칙명을 낼 수 있기 때문에 ALE도 순조롭게 사용할 수 있다고 알려주었다.TODO
화면 할당
Reference
이 문제에 관하여(Lit 오류를 무시하는 Vim 플러그인을 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/heavenshell/articles/3b6e3bf23c59c809afc9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)