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
144 lines
3.6 KiB
Plaintext
144 lines
3.6 KiB
Plaintext
================================================================================
|
|
Basic Describe block
|
|
================================================================================
|
|
|
|
Describe "basic functionality"
|
|
echo "test"
|
|
End
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(program
|
|
(shellspec_describe_block
|
|
description: (string
|
|
(string_content))
|
|
(command
|
|
name: (command_name
|
|
(word))
|
|
argument: (string
|
|
(string_content)))))
|
|
|
|
================================================================================
|
|
Focused Describe block
|
|
================================================================================
|
|
|
|
fDescribe "focused test"
|
|
echo "focused"
|
|
End
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(program
|
|
(shellspec_describe_block
|
|
description: (string
|
|
(string_content))
|
|
(command
|
|
name: (command_name
|
|
(word))
|
|
argument: (string
|
|
(string_content)))))
|
|
|
|
================================================================================
|
|
Skipped Describe block
|
|
================================================================================
|
|
|
|
xDescribe "skipped test"
|
|
echo "skipped"
|
|
End
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(program
|
|
(shellspec_describe_block
|
|
description: (string
|
|
(string_content))
|
|
(command
|
|
name: (command_name
|
|
(word))
|
|
argument: (string
|
|
(string_content)))))
|
|
|
|
================================================================================
|
|
Describe with raw string
|
|
================================================================================
|
|
|
|
Describe 'raw string test'
|
|
echo "test"
|
|
End
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(program
|
|
(shellspec_describe_block
|
|
description: (raw_string)
|
|
(command
|
|
name: (command_name
|
|
(word))
|
|
argument: (string
|
|
(string_content)))))
|
|
|
|
================================================================================
|
|
Describe with word description
|
|
================================================================================
|
|
|
|
Describe simple_test
|
|
echo "test"
|
|
End
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(program
|
|
(shellspec_describe_block
|
|
description: (word)
|
|
(command
|
|
name: (command_name
|
|
(word))
|
|
argument: (string
|
|
(string_content)))))
|
|
|
|
================================================================================
|
|
Empty Describe block
|
|
================================================================================
|
|
|
|
Describe "empty test"
|
|
End
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(program
|
|
(shellspec_describe_block
|
|
description: (string
|
|
(string_content))))
|
|
|
|
================================================================================
|
|
Describe with multiple statements
|
|
================================================================================
|
|
|
|
Describe "multiple statements"
|
|
echo "first"
|
|
echo "second"
|
|
local var="value"
|
|
End
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(program
|
|
(shellspec_describe_block
|
|
description: (string
|
|
(string_content))
|
|
(command
|
|
name: (command_name
|
|
(word))
|
|
argument: (string
|
|
(string_content)))
|
|
(command
|
|
name: (command_name
|
|
(word))
|
|
argument: (string
|
|
(string_content)))
|
|
(declaration_command
|
|
(variable_assignment
|
|
name: (variable_name)
|
|
value: (string
|
|
(string_content))))))
|