mirror of
https://github.com/ivuorinen/tree-sitter-shellspec.git
synced 2026-02-01 15:46: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
29 lines
747 B
Bash
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 "$@"
|
|
}
|