mirror of
https://github.com/ivuorinen/tree-sitter-shellspec.git
synced 2026-01-30 21:45:24 +00:00
feat: implement complete tree-sitter-shellspec grammar with comprehensive testing
- Add full ShellSpec grammar extending tree-sitter-bash - Support all ShellSpec constructs: Describe, Context, It, hooks, utilities - Include Data block parsing with statements and argument styles - Add 61 comprehensive test cases covering real-world patterns - Implement optimized GitHub workflows with CI/CD automation - Configure complete development tooling (linting, formatting, pre-commit) - Add comprehensive documentation and contribution guidelines - Optimize grammar conflicts to zero warnings - Support editor integration for Neovim, VS Code, Emacs Breaking Changes: - Initial release, no previous API to break BREAKING CHANGE: Initial implementation of tree-sitter-shellspec grammar # Conflicts: # .github/workflows/codeql.yml # .github/workflows/pr-lint.yml # .pre-commit-config.yaml # Conflicts: # .github/workflows/pr-lint.yml # Conflicts: # .github/workflows/pr-lint.yml
This commit is contained in:
38
.github/actions/setup-dev/action.yml
vendored
Normal file
38
.github/actions/setup-dev/action.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
name: "Setup Development Environment"
|
||||
description: "Complete setup for tree-sitter-shellspec development including Node.js and Tree-sitter"
|
||||
|
||||
inputs:
|
||||
node-version:
|
||||
description: "Node.js version to setup"
|
||||
required: false
|
||||
default: "24"
|
||||
registry-url:
|
||||
description: "NPM registry URL"
|
||||
required: false
|
||||
default: ""
|
||||
skip-checkout:
|
||||
description: "Skip repository checkout (if already done)"
|
||||
required: false
|
||||
default: "false"
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
if: inputs.skip-checkout != 'true'
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
|
||||
- name: Setup Node.js ${{ inputs.node-version }}
|
||||
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v5.2.1
|
||||
with:
|
||||
node-version: ${{ inputs.node-version }}
|
||||
cache: npm
|
||||
registry-url: ${{ inputs.registry-url }}
|
||||
|
||||
- name: Install Dependencies
|
||||
run: npm ci || { echo "❌ npm install failed" && npm install }
|
||||
shell: bash
|
||||
|
||||
- name: Setup Tree-sitter Environment
|
||||
uses: ./.github/actions/setup-treesitter
|
||||
Reference in New Issue
Block a user