Raku Extension for Visual Studio Code
This is a Raku Extension for Visual Studio Code including a Language Server. Currently it provides:
- Definition of Raku language and file associations
- Icon for Raku files
- Syntax Highlighting (thanks to https://github.com/Raku/atom-language-perl6)
- Snippets for simple loops and grammars
- Language Server providing:
- Syntax checking and warnings
- Outline view and breadcrumbs
- Autocompletion and go-to definition on local variables, grammars, and classes
Kudos to BScan for implementing this.
Richard’s Corner
Although numbered headings and items were specified in RakuDoc v1 (aka POD6), they were never implemented. In RakuDoc v2 there was progress, and together with some tweaking of the numitem templates, it was easy to write the RakuDoc source.
However, when we were revising RakuDoc, Damian Conway had some extra ideas about generalising enumeration, including ideas about adding alias definitions so that the numbered block could be referenced later in the text.
Liz’s Corner
Elizabeth Mattijsen (lizmat) series now boasts 10 episodes on WHY RAKU GETS SHOUTY SOMETIMES:
- Cases of UPPER
- … 7 more parts …
- Positional Methods
- Associative Methods
Who knew there was so much yelling in it?
Weekly Challenge
Weekly Challenge #361 is available for your kicks.
Raku Tips ‘n Tricks
This week, one of jubilatious1 one-liners is in the frame. This was formulated to answer this Unix & Linux Stack Exchange question: How to get infos about the route of tor to the internet and format the output?
One-liner (single-step substitution):
~$ raku -pe 's/ <-[:]>+ <( /{"." x (17 - $/.to)}/;' file
Sample input:
IPAddress: 185.220.101.8Location: Brandenburg, BB, GermanyHostname: berlin01.tor-exit.artikel10.orgISP: Stiftung Erneuerbare FreiheitTorExit: trueCity: BrandenburgCountry: GermanyCountryCode: DE
Sample output:
IPAddress........: 185.220.101.8Location.........: Brandenburg, BB, GermanyHostname.........: berlin01.tor-exit.artikel10.orgISP..............: Stiftung Erneuerbare FreiheitTorExit..........: trueCity.............: BrandenburgCountry..........: GermanyCountryCode......: DE
Here are the cool Raku features on show:
- Bespoke character classes concerning the : colon character are denoted <+[:]> (positive) or <-[:]> (negative).
- The <( capture marker tells Raku to drop everything to the left, same as Perl’s \K. It’s easy to remember Raku’s left-and-right capture markers: /abc <(CAPTURE)> xyz/.
- The $/ match variable can be introspected to obtain the $/.from start-of-match position as well as the $/.to end-of-match position.
See https://docs.raku.org/language/regexes for more information.
Your contribution is welcome, please make a gist and share via the #raku channel on IRC or Discord.
New Doc & Web Pull Requests
- use new container path Coleman McFarlane
- Build dev automatically Coleman McFarlane
- New method to start the server Steve Roe
- Precedence and associativity vs "evaluation order" Márton Polgár
- check for various mistypings of 'tiebreak' Márton Polgár
Core Developments
New in 2026.01:
-
Improvements:
- Remove meaningless command-line argument “parsetrace” [cff551c8]
- Add infix + – / * candidates for mixed int / num [1b46f713]
- Make -MSIL cleaner by excluding any core BBs [c7e41bd8]
- Test .from-posix versus .from-posix-nanos [f95aefad]
- Add profiling opts (from NQP) [6f087b06]
- Treat .WHERE as a macro, just as .HOW and friends [a0a198dd]
- Give “macro” DEFINITE same treatment as WHO and friends [62927745]
- Give “macro” REPR same treatment as WHO and friends [971b2fa4]
-
Fixes:
- Fix roast test failure caused by 1b46f7135b7776e779 [fbb967b3]
- Rename Test’s exit-ok to exits-ok [24e6ff34]
- MoarVM alignment fix for GCC 15.1/OpenSuse Leap 16 [fb0142fe]
- Fix an inverted logic scenerio for $type_env [3babcc69]
-
RakuAST:
- Fixup handling of =numtable [fcc0e185]
- Allow for =table3 and friends in podification [f3ada07f]
- Prevent execution error if no RakuAST [d1a33cd7]
- Rename =restart to =counter [dc33497f]
- Make rakudoc2text also take a ::CompUnit [81ea8224]
Extracted from the latest Draft Changelog.
Questions About Raku
- Raku solution for discovering words for word puzzle by Jim Bollinger
Meantime on The Socials
- The A* Algorithm written in Raku by zabumbista
- i was banging my head against a wall by ms. pupworth
- designed by people who felt the pain I felt by Marc Chantreux
Updated Raku Modules
- Math::NumberTheory by Anton Antonov
- Stomp, Math::Sequences by Various Artistes
- CRDT by Fernando Correa de Oliveira
- Crypt::Argon2 by Adrian Kreher
- List::Agnostic, Map::Agnostic, Array::Sparse, paths, MoarVM::Bytecode, Hash::Agnostic, Array::Agnostic by Elizabeth Mattijsen
- Air::Plugin::Hilite, Air by Steve Roe
Winding down
Kudos to BScan for their Visual Studio Code Language Server work. Please let me know if you would like to see it on the https://raku.org/tools page (even better raise a PR on https://github.com/Raku/raku.org).
Please keep staying safe and healthy, and keep up the good work! Even after week 55 of hopefully only 209.
~librasteve
