Skip to content

Add default efm config #685

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions installer/install-clangd.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#!/bin/sh

set -x
set -e

# On MacOS, use clangd in Command Line Tools for Xcode.
Expand Down
252 changes: 251 additions & 1 deletion installer/install-efm-langserver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,254 @@

set -e

"$(dirname "$0")/go_install.sh" github.com/mattn/efm-langserver@latest
"$(dirname "$0")/go_install.sh" github.com/mattn/efm-langserver@latest &&
CONFIG="$HOME/.config/efm-langserver/config.yaml" &&
if ! [ -e "$CONFIG" ]; then
mkdir -p "$(dirname "$CONFIG")" &&
{
# config copied from:
# https://github.com/mattn/efm-langserver/blob/c7ef2b16238a9561893daa0121769ca37f258356/README.md
cat <<EFM_CONFIG >"$CONFIG"
version: 2
root-markers:
- .git/
lint-debounce: 1s
commands:
- command: notepad
arguments:
- ${INPUT}
title: メモ帳
tools:
any-excitetranslate: &any-excitetranslate
hover-command: 'excitetranslate'
hover-stdin: true
blade-blade-formatter: &blade-blade-formatter
format-command: 'blade-formatter --stdin'
format-stdin: true
css-prettier: &css-prettier
format-command: './node_modules/.bin/prettier ${--tab-width:tabWidth} ${--single-quote:singleQuote} --parser css'
csv-csvlint: &csv-csvlint
lint-command: 'csvlint'
dockerfile-hadolint: &dockerfile-hadolint
lint-command: 'hadolint'
lint-formats:
- '%f:%l %m'
eruby-erb: &eruby-erb
lint-debounce: 2s
lint-command: 'erb -x -T - | ruby -c'
lint-stdin: true
lint-offset: 1
format-stdin: true
format-command: htmlbeautifier
html-prettier: &html-prettier
format-command: './node_modules/.bin/prettier ${--tab-width:tabWidth} ${--single-quote:singleQuote} --parser html'
javascript-eslint: &javascript-eslint
lint-command: 'eslint -f visualstudio --stdin --stdin-filename ${INPUT}'
lint-ignore-exit-code: true
lint-stdin: true
lint-formats:
- "%f(%l,%c): %tarning %m"
- "%f(%l,%c): %rror %m"
json-fixjson: &json-fixjson
format-command: 'fixjson'
json-jq: &json-jq
lint-command: 'jq .'
json-prettier: &json-prettier
format-command: './node_modules/.bin/prettier ${--tab-width:tabWidth} --parser json'
lua-lua-format: &lua-lua-format
format-command: 'lua-format -i'
format-stdin: true
make-checkmake: &make-checkmake
lint-command: 'checkmake'
lint-stdin: true
markdown-markdownlint: &markdown-markdownlint
lint-command: 'markdownlint -s -c %USERPROFILE%\.markdownlintrc'
lint-stdin: true
lint-formats:
- '%f:%l %m'
- '%f:%l:%c %m'
- '%f: %l: %m'
markdown-pandoc: &markdown-pandoc
format-command: 'pandoc -f markdown -t gfm -sp --tab-stop=2'
mix_credo: &mix_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
php-phpstan: &php-phpstan
lint-command: './vendor/bin/phpstan analyze --error-format raw --no-progress'
php-psalm: &php-psalm
lint-command: './vendor/bin/psalm --output-format=emacs --no-progress'
lint-formats:
- '%f:%l:%c:%trror - %m'
- '%f:%l:%c:%tarning - %m'
python-autopep8: &python-autopep8
format-command: 'autopep8 -'
format-stdin: true
python-black: &python-black
format-command: 'black --quiet -'
format-stdin: true
python-flake8: &python-flake8
lint-command: 'flake8 --stdin-display-name ${INPUT} -'
lint-stdin: true
lint-formats:
- '%f:%l:%c: %m'
python-isort: &python-isort
format-command: 'isort --quiet -'
format-stdin: true
python-mypy: &python-mypy
lint-command: 'mypy --show-column-numbers'
lint-formats:
- '%f:%l:%c: %trror: %m'
- '%f:%l:%c: %tarning: %m'
- '%f:%l:%c: %tote: %m'
python-pylint: &python-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
python-yapf: &python-yapf
format-command: 'yapf --quiet'
format-stdin: true
rst-lint: &rst-lint
lint-command: 'rst-lint'
lint-formats:
- '%tNFO %f:%l %m'
- '%tARNING %f:%l %m'
- '%tRROR %f:%l %m'
- '%tEVERE %f:%l %m'
rst-pandoc: &rst-pandoc
format-command: 'pandoc -f rst -t rst -s --columns=79'
sh-shellcheck: &sh-shellcheck
lint-command: 'shellcheck -f gcc -x'
lint-source: 'shellcheck'
lint-formats:
- '%f:%l:%c: %trror: %m'
- '%f:%l:%c: %tarning: %m'
- '%f:%l:%c: %tote: %m'
sh-shfmt: &sh-shfmt
format-command: 'shfmt -ci -s -bn'
format-stdin: true
vim-vint: &vim-vint
lint-command: 'vint -'
lint-stdin: true
lint-formats:
- '%f:%l:%c: %m'
yaml-yamllint: &yaml-yamllint
lint-command: 'yamllint -f parsable -'
lint-stdin: true
languages:
blade:
- <<: *blade-blade-formatter
css:
- <<: *css-prettier
csv:
- <<: *csv-csvlint
dockerfile:
- <<: *dockerfile-hadolint
elixir:
- <<: *mix_credo
eruby:
- <<: *eruby-erb
html:
- <<: *html-prettier
javascript:
- <<: *javascript-eslint
json:
- <<: *json-fixjson
- <<: *json-jq
# - <<: *json-prettier
lua:
- <<: *lua-lua-format
make:
- <<: *make-checkmake
markdown:
- <<: *markdown-markdownlint
- <<: *markdown-pandoc
php:
- <<: *php-phpstan
- <<: *php-psalm
python:
- <<: *python-black
- <<: *python-flake8
- <<: *python-isort
- <<: *python-mypy
# - <<: *python-autopep8
# - <<: *python-yapf
rst:
- <<: *rst-lint
- <<: *rst-pandoc
sh:
- <<: *sh-shellcheck
- <<: *sh-shfmt
vim:
- <<: *vim-vint
yaml:
- <<: *yaml-yamllint
=:
- <<: *any-excitetranslate
EFM_CONFIG
}
fi