Files
tree-sitter-shellspec/test/spec/support/custom_matcher.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

29 lines
747 B
Bash

#shellcheck shell=sh
# imported by "spec_helper.sh"
shellspec_syntax 'shellspec_matcher_regexp'
shellspec_matcher_regexp() {
shellspec_matcher__match() {
SHELLSPEC_EXPECT="$1"
[ "${SHELLSPEC_SUBJECT+x}" ] || return 1
expr "$SHELLSPEC_SUBJECT" : "$SHELLSPEC_EXPECT" >/dev/null || return 1
return 0
}
# Message when the matcher fails with "should"
shellspec_matcher__failure_message() {
shellspec_putsn "expected: $1 match $2"
}
# Message when the matcher fails with "should not"
shellspec_matcher__failure_message_when_negated() {
shellspec_putsn "expected: $1 not match $2"
}
# checking for parameter count
shellspec_syntax_param count [ $# -eq 1 ] || return 0
shellspec_matcher_do_match "$@"
}