12 Commits

Author SHA1 Message Date
vikingowl 9b7625de68 feat: add impl blocks, const, try operator, loop labels, object patterns
Cover five missing language constructs identified from comparison with
the existing tree-sitter-rune crate by zhuhaow:

- impl_item: impl blocks with optional name and visibility
- const_item: const declarations with visibility support
- try_expression: postfix ? operator at precedence 13
- loop_label/label: 'name: labels on loop/while/for, referenced in
  break/continue
- object_pattern/object_pattern_entry: #{ key: pat } destructuring in
  match with shorthand, string keys, and rest patterns

All 55 tests pass (28 existing + 27 new).
2026-03-27 11:56:55 +01:00
vikingowl 15faf45e33 docs: add cargo install rune-cli for formatter 2026-03-27 11:16:51 +01:00
vikingowl 51512e6a77 docs: fix install guide with language register and query copy steps 2026-03-27 11:10:19 +01:00
vikingowl fe71cc7735 chore: set repository URL to somegit.dev 2026-03-27 10:51:20 +01:00
vikingowl d1e6f6a4cb docs: add README, LICENSE, and update package metadata 2026-03-27 10:36:14 +01:00
vikingowl f63db82586 test: add real-world and comprehensive example files 2026-03-27 10:35:04 +01:00
vikingowl 0e54fc38a2 test: add core test corpus (28 tests) 2026-03-27 10:31:24 +01:00
vikingowl 426590a1d1 feat: add highlight, indent, fold, locals, and tags queries 2026-03-27 10:25:16 +01:00
vikingowl c4d53c9ea7 feat: add external scanner, template literals, and Rune-specific constructs
- Remove raw string handling from scanner, make scanner stateless
- Add template_content external token for backtick template scanning
- Add template_literal and interpolation grammar rules
- Add select_expression with select_arm for async select blocks
- Add object_literal (#{ key: value }) syntax
- Add is_expression and is_not_expression type check operators
- Verify yield_expression works as expected
2026-03-27 10:19:00 +01:00
vikingowl fbbe1be791 feat: transform Rust grammar to Rune grammar
Strip type system (generics, lifetimes, trait bounds, type annotations),
ownership/unsafe/extern rules, macro definitions, labels, shebang, and
simplify declarations (fn, struct, enum, let, closure) for Rune's
dynamically-typed model. Rename scanner symbols from rust to rune.
2026-03-27 10:03:40 +01:00
vikingowl 70f7fbd8f5 chore: copy tree-sitter-rust grammar and scanner as starting point 2026-03-27 09:43:15 +01:00
vikingowl 64bfd3066e chore: scaffold tree-sitter-rune project 2026-03-27 09:42:45 +01:00