Files
tree-sitter-shellspec/test/corpus/context_blocks.txt
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

132 lines
3.4 KiB
Plaintext

================================================================================
Basic Context block
================================================================================
Context "when condition is true"
echo "test"
End
--------------------------------------------------------------------------------
(program
(shellspec_context_block
description: (string
(string_content))
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
ExampleGroup block
================================================================================
ExampleGroup "group of examples"
echo "test"
End
--------------------------------------------------------------------------------
(program
(shellspec_context_block
description: (string
(string_content))
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
Focused Context block
================================================================================
fContext "focused context"
echo "focused"
End
--------------------------------------------------------------------------------
(program
(shellspec_context_block
description: (string
(string_content))
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
Skipped Context block
================================================================================
xContext "skipped context"
echo "skipped"
End
--------------------------------------------------------------------------------
(program
(shellspec_context_block
description: (string
(string_content))
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
Context with raw string
================================================================================
Context 'raw string context'
local var="test"
End
--------------------------------------------------------------------------------
(program
(shellspec_context_block
description: (raw_string)
(declaration_command
(variable_assignment
name: (variable_name)
value: (string
(string_content))))))
================================================================================
Context with word description
================================================================================
Context simple_context
echo "test"
End
--------------------------------------------------------------------------------
(program
(shellspec_context_block
description: (word)
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
Empty Context block
================================================================================
Context "empty context"
End
--------------------------------------------------------------------------------
(program
(shellspec_context_block
description: (string
(string_content))))