dotfiles/config.common/efm-langserver/config.yaml

626 lines
14 KiB
YAML

---
version: 2
root-markers:
- RCS/
- SCCS/
- CVS/
- .git/
- .svn/
- .hg/
- .bzr/
- _darcs/
- .git
# command define
commands:
- title: Reload
command: :reload-config
- title: Editor (notepad)
os: windows
command: notepad
arguments:
- '${FILENAME}'
- title: Editor (gedit)
os: linux
command: gedit
# Linux no method generic GUI editor open
arguments:
- '${FILENAME}'
- title: Editor (default)
os: darwin
command: open
arguments:
- '-e'
- '${FILENAME}'
- title: Filer (explorer)
os: windows
command: cmd
arguments:
- '/c'
- 'explorer /select,${FILENAME}'
- title: Filer (Finder)
os: darwin
# Linux no method generic filer open
command: open
arguments:
- '-R'
- '${FILENAME}'
- title: Browser (default)
os: darwin
# Windows no method generic browser open
# Linux no method generic browser open
command: open
arguments:
- '-a'
- 'Safari'
- '${FILENAME}'
- title: Open (system default)
os: windows
command: rundll32
arguments:
- 'url.dll,FileProtocolHandler'
- '${FILENAME}'
- title: Open (system default)
os: linux
command: xdg-open
arguments:
- '${FILENAME}'
- title: Open (system default)
os: darwin
command: open
arguments:
- '${FILENAME}'
# linter,formatter setting
tools:
cppcheck-lint: &cppcheck-lint
prefix: cppcheck
lint-command: 'cppcheck --quiet --force --enable=style --error-exitcode=1 ${INPUT}'
lint-stdin: false
lint-formats:
- '%f:%l:%c: %m'
root-markers:
- compile_commands.json
vale-lint: &vale-lint
prefix: vale
lint-command: 'vale --relative --output line ${INPUT}'
lint-stdin: false
lint-ignore-exit-code: true
lint-formats:
- '%f:%l:%c:%*[^:]:%m'
redpen-lint-core: &redpen-lint-core
prefix: redpen
lint-command: 'redpen -l 9999 -r plain ${INPUT}'
lint-stdin: false
lint-ignore-exit-code: true
lint-formats:
- '%f:%l: Validation%t%*[a-z][%*[a-zA-Z]], %m at line:%r'
root-markers:
- redpen-conf.xml
- redpen-conf-??.xml
redpen-lint: &redpen-lint
<<: *redpen-lint-core
redpen-text-lint: &redpen-text-lint
<<: *redpen-lint-core
lint-command: 'redpen -l 9999 -f plain -r plain ${INPUT}'
vint-lint: &vint-lint
prefix: vint
lint-command: 'vint --enable-neovim --style-problem ${INPUT}'
lint-formats:
- '%f:%l:%c: %m'
nvcheck-lint: &nvcheck-lint
prefix: nvcheck
lint-command: 'nvcheck ${INPUT}'
lint-stdin: false
lint-formats:
- '%f:%l: %m'
root-markers:
- dict.yml
commands:
- title: 'nvcheck fix'
command: nvcheck
arguments:
- '-i'
- '${INPUT}'
markdownlint-lint: &markdownlint-lint
prefix: markdownlint
lint-command: 'markdownlint --stdin' # markdownlint do not support --stdin-filename like option
lint-stdin: true
lint-formats:
- '%f:%l:%c MD%n/%*[^ ] %m'
- '%f:%l MD%n/%*[^ ] %m'
commands:
- title: 'markdownlint fix'
command: markdownlint
arguments:
- '--fix'
- '${INPUT}'
mdformat-action-format: &mdformat-action-format
commands:
- title: 'mdformat format'
command: mdformat
arguments:
- '--number'
- '--wrap'
- 'keep'
- '--end-of-line'
- 'keep'
- '${INPUT}'
pandoc-markdown-format: &pandoc-markdown-format
format-command: 'pandoc -f markdown -t gfm -sp --tab-stop=2'
format-stdin: true
pandoc-rst-format: &pandoc-rst-format
format-command: 'pandoc -f rst -t rst -s --columns=79'
format-stdin: true
jsonlint-lint: &jsonlint-lint
prefix: jsonlint
lint-command: 'jsonlint -c'
lint-stdin: true
lint-formats:
- 'line %l, col %c, found: %m'
# not work
# jq-lint: &jq-lint
# lint-command: 'jq'
# lint-stdin: true
# lint-offset: 1
# lint-formats:
# - '%m at line %l, column %c'
jq-format: &jq-format
format-command: 'jq .'
format-stdin: true
fixjson-format: &fixjson-format
format-command: 'fixjson'
format-stdin: true
shellcheck-lint: &shellcheck-lint
prefix: shellcheck
lint-command: 'shellcheck -f gcc -x -'
lint-stdin: true
lint-formats:
- '%f:%l:%c: %t%*[^:]: %m [SC%n]'
shfmt-format: &shfmt-format
format-command: 'shfmt -ln bash -i 2 -bn -ci -sr -kp'
format-stdin: true
checkmake-lint: &checkmake-lint
lint-command: 'checkmake'
lint-stdin: true
flake8-lint: &flake8-lint
prefix: flake8
lint-command: 'flake8 --stdin-display-name ${INPUT} -'
lint-stdin: true
lint-formats:
- '%f:%l:%c: %m'
root-markers:
- setup.cfg
- tox.ini
- .flake8
pylint-lint: &pylint-lint
prefix: pylint
lint-command: 'pylint --output-format=text --score=no --msg-template {path}:{line}:{column}:{C}:{msg} ${INPUT}'
lint-stdin: false
lint-formats:
- '%f:%l:%c:%t:%m'
lint-offset-columns: 1
lint-category-map:
I: H
R: I
C: I
W: W
E: E
F: E
root-markers:
- setup.cfg
- .pylintrc
mypy-lint: &mypy-lint
prefix: mypy
lint-command: 'mypy --show-column-numbers --strict --strict-equality'
lint-formats:
- '%f:%l:%c: %t%*[^:]: %m'
root-markers:
- setup.cfg
- mypy.ini
black-action-format: &black-action-format
commands:
- title: 'black format'
command: black
arguments:
- '--quiet'
- '--safe'
- '${INPUT}'
yapf-action-format: &yapf-action-format
commands:
- title: 'yapf format'
command: yapf
arguments:
- '-i'
- '${INPUT}'
isort-action-format: &isort-action-format
format-command: 'isort --quiet --profile open_stack -'
format-stdin: true
pydocstyle-lint: &pydocstyle-lint
prefix: pydocstyle
lint-command: 'pydocstyle ${INPUT}'
lint-stdin: false
lint-ignore-exit-code: true
lint-formats:
- '%I%f:%l %.%#:'
- '%Z%*\sD%n: %m'
rubocop-lint: &rubocop-lint
prefix: rubocop
lint-command: 'bundle exec rubocop --format emacs --force-exclusion --stdin ${INPUT}'
lint-ignore-exit-code: true
lint-stdin: true
lint-formats:
- '%f:%l:%c: %m'
root-markers:
- Gemfile
- Rakefile
- .rubocop.yml
commands:
- title: 'rubocop fix(safe)'
command: bundle
arguments:
- 'exec'
- 'rubocop'
- '--autocorrect'
- '${INPUT}'
- title: 'rubocop fix(all)'
command: bundle
arguments:
- 'exec'
- 'rubocop'
- '--autocorrect-all'
- '${INPUT}'
rubocop-format: &rubocop-format
format-command: 'bundle exec rubocop -A -f quiet --stderr -s ${INPUT}'
format-stdin: true
rufo-format: &rufo-format
format-command: 'bundle exec rufo ${INPUT}'
format-stdin: false
root-markers:
- Gemfile
- Rakefile
- .rufo
rbprettier-action-format: &rbprettier-action-format
commands:
- title: 'rbprettier format'
command: bundle
arguments:
- 'exec'
- 'rbprettier'
- '--write'
- '${INPUT}'
yamllint-lint: &yamllint-lint
prefix: yamllint
lint-command: 'yamllint --strict --format parsable ${INPUT}'
lint-stdin: false
lint-formats:
- '%f:%l:%c: [%t%*[a-z]] %m'
env:
- 'PYTHONIOENCODING=UTF-8'
actionlint-lint: &actionlint-lint
prefix: actionlint
lint-command: "bash -c \"[[ '${INPUT}' =~ \\\\.github/workflows/ ]]\" && actionlint -oneline -no-color -"
lint-stdin: true
lint-formats:
- '%f:%l:%c: %m'
root-markers:
- .github
restructuredtext-lint-lint: &restructuredtext-lint-lint
prefix: rstlint
lint-command: 'rst-lint --encoding utf-8 --level warning --format text ${INPUT}'
lint-stdin: false
lint-ignore-exit-code: true
lint-formats:
- '%t%*[A-Z] %f:%l %m'
rstcheck-lint: &rstcheck-lint
prefix: rstcheck
lint-command: 'rstcheck --report warning -'
lint-stdin: true
lint-formats:
- '%f:%l: (%t%*[^/]/%n) %m'
textlint-lint: &textlint-lint
prefix: textlint
lint-command: 'npx --no-install textlint -f unix --no-color --stdin --stdin-filename ${INPUT}'
lint-stdin: true
lint-formats:
- '%f:%l:%c: %m [%trror/%r]'
- '%f:%l:%c: 【%r】 %m'
- '%E%f:%l:%c: %m'
- '%Z%m [%trror/%r]'
- '%C%m'
root-markers:
- package.json
- .textlintrc
commands:
- title: 'textlint fix'
command: npx
arguments:
- '--no-install'
- 'textlint'
- '--fix'
- '${INPUT}'
eslint-lint: &eslint-lint
prefix: eslint
lint-command: 'npx --no-install eslint -f unix --stdin --stdin-filename ${INPUT}'
lint-ignore-exit-code: true
lint-stdin: true
root-markers:
- package.json
- .eslintrc.js
- .eslintrc.yaml
- .eslintrc.yml
- .eslintrc.json
commands:
- title: 'eslint fix'
command: npx
arguments:
- '--no-install'
- 'eslint'
- '--fix'
- '${INPUT}'
stylelint-lint: &stylelint-lint
prefix: stylelint
lint-command: 'npx --no-install stylelint --formatter unix --stdin --stdin-filename ${INPUT}'
lint-ignore-exit-code: false
lint-stdin: true
lint-formats:
- '%f:%l:%c: %m [%t%*[a-z]]'
root-markers:
- package.json
- .stylelintrc.json
commands:
- title: 'stylelint fix'
command: npx
arguments:
- '--no-install'
- 'stylelint'
- '--fix'
- '${INPUT}'
htmllint-lint: &htmllint-lint
prefix: htmllint
lint-command: 'npx --no-install htmllint ${INPUT}'
lint-stdin: false
lint-formats:
- '%f: line %l, col %c, %m'
root-markers:
- package.json
- .htmllintrc
buf-lint: &buf-lint
prefix: buf
lint-command: 'buf lint --path'
root-markers:
- buf.yaml
prettier-action-fix: &prettier-action-fix
commands:
- title: 'prettier fix'
command: npx
arguments:
- '--no-install'
- 'prettier'
- '--fix'
- '--write'
- '${INPUT}'
credo-lint: &credo-lint
prefix: credo
lint-command: 'mix credo suggest --format=flycheck --read-from-stdin ${INPUT}'
lint-stdin: true
lint-formats:
- '%f:%l:%c: %t: %m'
- '%f:%l: %t: %m'
root-markers:
- mix.lock
- mix.exs
hadolint-lint: &hadolint-lint
prefix: hadolint
lint-command: 'hadolint'
lint-formats:
- '%f:%l %m'
cspell-lint: &cspell-lint
prefix: cspell
lint-command: 'npx --no-install cspell lint --no-progress --no-summary --no-color ${INPUT}'
lint-formats:
- '%f:%l:%c - %m'
- '%f:%l:%c %m'
root-markers:
- package.json
- .cspell.json
- cspell.json
- .cSpell.json
- cSpell.json
- cspell.config.js
- cspell.config.cjs
- cspell.config.json
- cspell.config.yaml
- cspell.config.yml
- cspell.yaml
- cspell.yml
excitetranslate-hover: &excitetranslate-hover
hover-command: 'excitetranslate'
hover-stdin: true
# languages setting
languages:
vim:
- <<: *vint-lint
markdown:
- <<: *markdownlint-lint
- <<: *textlint-lint
- <<: *redpen-lint
- <<: *vale-lint
- <<: *nvcheck-lint
- <<: *stylelint-lint
- <<: *prettier-action-fix
- <<: *pandoc-markdown-format
- <<: *mdformat-action-format
json:
- <<: *jsonlint-lint
- <<: *jq-format
- <<: *fixjson-format
- <<: *prettier-action-fix
json5:
- <<: *fixjson-format
- <<: *prettier-action-fix
text:
- <<: *textlint-lint
- <<: *redpen-text-lint
- <<: *vale-lint
- <<: *nvcheck-lint
help:
- <<: *textlint-lint
- <<: *redpen-text-lint
- <<: *vale-lint
- <<: *nvcheck-lint
cpp:
- <<: *cppcheck-lint
c:
- <<: *cppcheck-lint
sh:
- <<: *shellcheck-lint
- <<: *shfmt-format
make:
- <<: *checkmake-lint
yaml:
- <<: *yamllint-lint
- <<: *prettier-action-fix
- <<: *actionlint-lint
rst:
- <<: *restructuredtext-lint-lint
- <<: *rstcheck-lint
- <<: *textlint-lint
- <<: *redpen-lint
- <<: *vale-lint
- <<: *nvcheck-lint
- <<: *pandoc-rst-format
asciidoc:
- <<: *textlint-lint
- <<: *redpen-lint
review:
- <<: *textlint-lint
- <<: *redpen-lint
javascript:
- <<: *eslint-lint
- <<: *prettier-action-fix
typescript:
- <<: *eslint-lint
- <<: *prettier-action-fix
css:
- <<: *stylelint-lint
- <<: *prettier-action-fix
scss:
- <<: *stylelint-lint
- <<: *prettier-action-fix
sass:
- <<: *stylelint-lint
less:
- <<: *stylelint-lint
sugarss:
- <<: *stylelint-lint
proto:
- <<: *buf-lint
python:
- <<: *flake8-lint
- <<: *pydocstyle-lint
- <<: *isort-action-format
# - <<: *pylint-lint
# - <<: *mypy-lint
# - <<: *black-action-format
# - <<: *yapf-action-format
ruby:
- <<: *rubocop-lint
- <<: *rubocop-format
- <<: *rufo-format
- <<: *rbprettier-action-format
- <<: *prettier-action-fix
graphql:
- <<: *prettier-action-fix
vue:
- <<: *prettier-action-fix
html:
- <<: *textlint-lint
- <<: *htmllint-lint
- <<: *stylelint-lint
- <<: *prettier-action-fix
elixir:
- <<: *credo-lint
dockerfile:
- <<: *hadolint-lint
=:
- <<: *excitetranslate-hover
- <<: *cspell-lint
...