From 68c1e83fec8f0666e2879c813b4c61c95e23aceb Mon Sep 17 00:00:00 2001 From: Sebastiaan Speck <12570668+sebastiaanspeck@users.noreply.github.com> Date: Thu, 23 Jul 2026 17:42:17 +0200 Subject: [PATCH 1/2] Add support for `[]`-methods in Magik --- lib/rouge/lexers/magik.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/rouge/lexers/magik.rb b/lib/rouge/lexers/magik.rb index a6bfc550d9..0275eac1d1 100644 --- a/lib/rouge/lexers/magik.rb +++ b/lib/rouge/lexers/magik.rb @@ -83,6 +83,11 @@ class Magik < RegexLexer groups Name::Class, Punctuation, Name::Function pop! end + + rule Magik.identifier do + token Name::Class + pop! + end end end end From 884645749bc437c4fd70d65a43a19559a0b21a35 Mon Sep 17 00:00:00 2001 From: Sebastiaan Speck <12570668+sebastiaanspeck@users.noreply.github.com> Date: Thu, 23 Jul 2026 19:34:57 +0200 Subject: [PATCH 2/2] Add more method examples for Magik --- spec/visual/samples/magik | 41 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/spec/visual/samples/magik b/spec/visual/samples/magik index 8e1c7066a1..b54238adb5 100644 --- a/spec/visual/samples/magik +++ b/spec/visual/samples/magik @@ -69,6 +69,47 @@ _method test_object.method_name(arg_1, _gather args) _endmethod $ +_abstract _private _iter _method test_object.abstract_private_iter() + _loopbody(_unset, _unset) +_endmethod +$ + +_method test_object[] +_endmethod +$ + +_method test_object[a] +_endmethod +$ + +_method test_object[a, b] +_endmethod +$ + +_method test_object.method<< a +_endmethod +$ + +_method test_object.method^<< a +_endmethod +$ + +_method test_object[a]<< b +_endmethod +$ + +_method test_object[a]^<< a +_endmethod +$ + +_method test_object.method(a)<< b +_endmethod +$ + +_method test_object.method(a)^<< b +_endmethod +$ + _block _thisthread.traceback() _endblock