2026.07 VSCode Language Server

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

Enumerating in RakuDoc v2

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:

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.8
Location: Brandenburg, BB, Germany
Hostname: berlin01.tor-exit.artikel10.org
ISP: Stiftung Erneuerbare Freiheit
TorExit: true
City: Brandenburg
Country: Germany
CountryCode: DE

Sample output:

IPAddress........: 185.220.101.8
Location.........: Brandenburg, BB, Germany
Hostname.........: berlin01.tor-exit.artikel10.org
ISP..............: Stiftung Erneuerbare Freiheit
TorExit..........: true
City.............: Brandenburg
Country..........: Germany
CountryCode......: 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

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

Meantime on The Socials

Updated Raku Modules

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

Leave a comment