Files
tree-sitter-shellspec/test/spec/08.calling_order_of_hook_spec.sh
Ismo Vuorinen c8ba576b4e 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
2026-01-04 15:32:39 +02:00

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