Switch to side-by-side view

--- a
+++ b/.github/workflows/lint.yaml
@@ -0,0 +1,52 @@
+on:
+  push:
+    branches: [main, master]
+  pull_request:
+    branches: [main, master]
+
+concurrency:
+  # Group runs by PR, but keep runs on the default branch separate
+  # because we do not want to cancel ToolShed uploads
+  group: lint-${{ (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main') && github.run_number || github.ref }}
+  cancel-in-progress: true
+
+name: lint
+
+jobs:
+  lint:
+    runs-on: ubuntu-latest
+    # env:
+    #   GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
+
+    steps:
+      - uses: actions/checkout@v3
+
+      - uses: r-lib/actions/setup-r@v2
+        with:
+          use-public-rspm: true
+
+      - uses: r-lib/actions/setup-r-dependencies@v2
+        with:
+          extra-packages: |
+            any::styler
+            any::roxygen2
+          # needs: coverage
+
+      - name: Run styler
+        run: |
+          library(styler)
+          result <- style_pkg(strict = TRUE)
+          if(nrow(subset(result, changed == TRUE)) > 0){
+            stop("lint fail")
+          }
+        shell: Rscript {0}
+
+      - name: Show diff
+        if: failure()
+        run: git diff | tee diff.txt
+
+      - uses: actions/upload-artifact@v3
+        if: failure()
+        with:
+          name: 'styler lint report'
+          path: diff.txt