summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/lint.yaml22
-rw-r--r--.pre-commit-config.yaml30
-rw-r--r--CONTRIBUTING.md14
-rwxr-xr-xutils/bin/jdtls10
4 files changed, 57 insertions, 19 deletions
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index 87f93a00..f5aab0eb 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -22,17 +22,13 @@ jobs:
- name: Run luacheck
run: luacheck *.lua lua/
-
- shell-linter:
- name: "Linting with shellcheck"
- runs-on: ubuntu-20.04
+
+ shellcheck:
+ name: Shellcheck
+ runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
-
- - name: Use shellcheck
- run: sudo apt-get install shellcheck
-
- - name: Run shellcheck
- run: |
- pwd
- shellcheck $(find . -name "*.sh")
+ - uses: actions/checkout@v2
+ - name: Run ShellCheck
+ uses: ludeeus/action-shellcheck@master
+ with:
+ scandir: './utils'
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 00000000..3e3e7d34
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,30 @@
+repos:
+ - repo: local
+ hooks:
+ - id: shfmt
+ name: shfmt
+ minimum_pre_commit_version: 2.4.0
+ language: golang
+ additional_dependencies: [mvdan.cc/sh/v3/cmd/[email protected]]
+ entry: shfmt
+ args: [-i=2, -ci, -w]
+ types: [shell]
+ - id: shellcheck
+ name: shellcheck
+ language: system
+ types: [shell]
+ entry: bash
+ args:
+ [-c, "shfmt -f $(git rev-parse --show-toplevel) | xargs shellcheck"]
+ - id: stylua
+ name: StyLua
+ language: rust
+ entry: stylua
+ types: [lua]
+ args: [.]
+ - id: luacheck
+ name: luacheck
+ language: system
+ entry: luacheck
+ types: [lua]
+ args: [.]
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7606fe46..45edf8c1 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -17,9 +17,19 @@ One of the best ways to begin contributing in a meaningful way is by helping fin
## Setting up development tools
-1. Install [stylua](https://github.com/johnnymorganz/stylua#installation)
+### For editing Lua files
-2. Install [shfmt](https://github.com/mvdan/sh#shfmt)
+1. Formatter: [stylua](https://github.com/johnnymorganz/stylua#installation).
+2. Linter: [luacheck](https://github.com/luarocks/luacheck).
+
+### For editing shell scripts
+
+1. Formatter: [shfmt](https://github.com/mvdan/sh#shfmt).
+2. Linter: [shellcheck](https://github.com/koalaman/shellcheck).
+
+### (Optional)
+
+Install [pre-commit](https://github.com/pre-commit/pre-commit) which will run all linters and formatters for you as a pre-commit-hook.
## Some Guidelines
diff --git a/utils/bin/jdtls b/utils/bin/jdtls
index 2b0f226a..961d2df5 100755
--- a/utils/bin/jdtls
+++ b/utils/bin/jdtls
@@ -1,4 +1,5 @@
#!/usr/bin/env bash
+# shellcheck disable=SC2116
# NOTE:
# This doesn't work as is on Windows. You'll need to create an equivalent `.bat` file instead
@@ -7,7 +8,8 @@
# If you're not using Linux you'll need to adjust the `-configuration` option
# to point to the `config_mac' or `config_win` folders depending on your system.
-case Darwin in
+OS="$(uname -s)"
+case "$OS" in
Linux)
CONFIG="$HOME/.local/share/nvim/lspinstall/java/config_linux"
;;
@@ -32,7 +34,7 @@ location of your Java installation."
fi
else
JAVACMD="java"
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+ command -v java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
@@ -46,10 +48,10 @@ GRADLE_HOME=$HOME/gradle "$JAVACMD" \
-Declipse.product=org.eclipse.jdt.ls.core.product \
-Dlog.protocol=true \
-Dlog.level=ALL \
- -javaagent:$HOME/.local/share/nvim/lspinstall/java/lombok.jar \
+ -javaagent:"$HOME/.local/share/nvim/lspinstall/java/lombok.jar" \
-Xms1g \
-Xmx2G \
- -jar $(echo "$JAR") \
+ -jar "$(echo "$JAR")" \
-configuration "$CONFIG" \
-data "${1:-$HOME/workspace}" \
--add-modules=ALL-SYSTEM \