mirror of
https://github.com/ivuorinen/tree-sitter-shellspec.git
synced 2026-02-23 21:55:27 +00:00
- 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
1.6 KiB
1.6 KiB
Suggested Commands
Development Commands
NPM Scripts (Preferred)
# Quick development cycle
npm run dev
# Generate parser from grammar
npm run generate
npm run build
# Run tests
npm test
# Interactive grammar testing
npm run web
# Clean and rebuild
npm run clean
npm run rebuild
Tree-sitter Direct Commands
# Generate the parser from grammar.js
tree-sitter generate
# Test the grammar against test files
tree-sitter test
# Parse a specific file to debug
tree-sitter parse <file>
# Web UI for testing grammar
tree-sitter web-ui
# Clean generated files
rm -rf src/parser.c src/grammar.json src/node-types.json
Linting and Formatting
# Comprehensive linting (preferred)
npm run lint
# Specific linters
npm run lint:yaml
npm run lint:markdown
# Run pre-commit hooks manually
npm run precommit
# Direct linter commands
yamllint .
markdownlint . --config .markdownlint.json --fix
shellcheck **/*.sh
Git and Version Control
# Standard git workflow
git add .
git commit -m "message"
git push
# Pre-commit hooks run automatically on commit
System Commands (Darwin/macOS)
ls- list filesfind- find files/directoriesgrep- search text patternscd- change directorypwd- print working directorywhich- locate command
Node.js/npm Commands
# Install dependencies
npm install
# Using nvm (available at /Users/ivuorinen/.local/share/nvm/nvm.sh)
nvm use
Test Development
# Run specific test patterns (if needed)
tree-sitter test --debug
# Parse sample files for debugging
echo "Describe 'test' ... End" | tree-sitter parse