mirror of
https://github.com/ivuorinen/tree-sitter-shellspec.git
synced 2026-01-26 11:43:59 +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
43 lines
1.1 KiB
Bash
43 lines
1.1 KiB
Bash
#shellcheck shell=sh
|
|
|
|
hook() { %logger "$1 $2 ${SHELLSPEC_EXAMPLE_ID}"; }
|
|
|
|
Describe '1'
|
|
Before "hook before 1" "hook before 2"
|
|
After "hook after 1" "hook after 2"
|
|
|
|
Describe '1-1'
|
|
Before "hook before 3"
|
|
After "hook after 3"
|
|
|
|
# The before hook is called by defined order
|
|
%logger "==== before example 1-1-1 ===="
|
|
Example '1-1-1'
|
|
%logger "example ${SHELLSPEC_EXAMPLE_ID}"
|
|
When call :
|
|
End
|
|
%logger "==== after example 1-1-1 ===="
|
|
# The after hook is called by defined reverse order
|
|
|
|
# The before hook is called for each example
|
|
%logger "==== before example 1-1-2 ===="
|
|
Example '1-1-2'
|
|
%logger "example ${SHELLSPEC_EXAMPLE_ID}"
|
|
When call :
|
|
End
|
|
%logger "==== after example 1-1-2 ===="
|
|
# The after hook is called for each example
|
|
End
|
|
|
|
Describe '1-2'
|
|
# The before 3 hook is not called
|
|
%logger "==== before example 1-2-1 ===="
|
|
Example '1-2-1'
|
|
%logger "example ${SHELLSPEC_EXAMPLE_ID}"
|
|
When call :
|
|
End
|
|
%logger "==== after example 1-2-1 ===="
|
|
# The after 3 hook is not called
|
|
End
|
|
End
|