{"id":43496578,"url":"https://github.com/olacin/tree-sitter-storm","last_synced_at":"2026-02-03T10:38:27.989Z","repository":{"id":227843777,"uuid":"769984886","full_name":"olacin/tree-sitter-storm","owner":"olacin","description":"Storm grammar for tree-sitter","archived":false,"fork":false,"pushed_at":"2026-01-30T14:21:45.000Z","size":179,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-31T07:32:48.215Z","etag":null,"topics":["lexer","parser","storm","synapse"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olacin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-10T15:57:37.000Z","updated_at":"2026-01-30T14:21:50.000Z","dependencies_parsed_at":"2024-03-18T22:46:55.080Z","dependency_job_id":"bf9b9b72-8c34-4a2f-829e-48cca5b77201","html_url":"https://github.com/olacin/tree-sitter-storm","commit_stats":null,"previous_names":["olacin/tree-sitter-storm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/olacin/tree-sitter-storm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olacin%2Ftree-sitter-storm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olacin%2Ftree-sitter-storm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olacin%2Ftree-sitter-storm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olacin%2Ftree-sitter-storm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olacin","download_url":"https://codeload.github.com/olacin/tree-sitter-storm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olacin%2Ftree-sitter-storm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29041855,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T10:09:22.136Z","status":"ssl_error","status_checked_at":"2026-02-03T10:09:16.814Z","response_time":96,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lexer","parser","storm","synapse"],"created_at":"2026-02-03T10:38:27.528Z","updated_at":"2026-02-03T10:38:27.982Z","avatar_url":"https://github.com/olacin.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tree-sitter-storm\n\nStorm grammar for [tree-sitter](https://github.com/tree-sitter/tree-sitter).\n\n## About Storm\n\nStorm is the query language for the [Synapse](https://github.com/vertexproject/synapse) Threat Intelligence Platform by [Vertex Project](https://vertex.link/). Storm enables powerful data model queries, graph traversal, data manipulation, and automation.\n\n**Official Storm Documentation:**\n\n- [Storm Reference Guide](https://synapse.docs.vertex.link/en/latest/synapse/userguides/storm_ref_intro.html)\n- [Synapse Repository](https://github.com/vertexproject/synapse)\n\n## Features\n\nThis tree-sitter grammar currently supports a subset of the Storm language features:\n\n- ✅ **Core Language**: Variables, functions, expressions, operators\n- ✅ **Control Flow**: `if`/`elif`/`else`, `for`, `while`, `switch`, `try`/`catch`\n- ✅ **Statements**: `return`, `emit`, `break`, `continue`, `yield`, `divert`, `spin`\n- ✅ **Special Blocks**: `init`, `fini`, `empty`, subqueries\n- ✅ **Storm Properties**: Full (`inet:ipv4`), relative (`:asn`), universal (`.$var`)\n- ✅ **Tags**: Simple tags (`#foo`), segments (`#foo.bar`), properties (`#foo:prop`)\n- ✅ **Literals**: Strings, numbers, booleans, null, lists, arrays\n- ✅ **Syntax Highlighting**: Complete support via tree-sitter queries\n\n**Missing features:**\n\n- ⏳ Edit blocks: `[ inet:ipv4=1.2.3.4 ]`\n- ⏳ Pivots: `-\u003e`, `\u003c-` (graph navigation)\n- ⏳ Filters: `+{condition}`, `-{condition}`\n- ⏳ Commands and pipes: `| limit 10`, `| uniq`\n\n## Contributing\n\nContributions are welcome! Please feel free to submit issues or pull requests.\n\n### Adding Features\n\nIf you'd like to help implement Phase 4 features:\n\n1. Check [test/corpus/README.md](test/corpus/README.md) for feature status\n2. Reference the [official Storm grammar](https://github.com/vertexproject/synapse/tree/master/synapse/data/lark)\n3. Add tests first, then implement grammar rules\n4. Update syntax highlighting queries\n\n## Acknowledgments\n\n- Storm language designed by [Vertex Project](https://vertex.link/)\n- Built with [tree-sitter](https://github.com/tree-sitter/tree-sitter) by Max Brunsfeld\n- Grammar structure inspired by [tree-sitter-python](https://github.com/tree-sitter/tree-sitter-python)\n\n---\n\n**Note:** This is an independent tree-sitter implementation and is not officially affiliated with Vertex Project or Synapse.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folacin%2Ftree-sitter-storm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folacin%2Ftree-sitter-storm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folacin%2Ftree-sitter-storm/lists"}