user-experience icon indicating copy to clipboard operation
user-experience copied to clipboard

Make sure that all editors play well with Perl 6

Open AlexDaniel opened this issue 6 years ago β€’ 24 comments

(this ticket was moved from https://github.com/perl6/marketing/issues/10)

Today a user had issues executing perl 6 scripts with Geany (because it was using perl5 regardless of the shebang).

I think it would be nice to make a list of text editors and track their perl 6 support.

Note that the list may include proprietary software.

⚠ Feel free to edit this list! ⚠ Include links whenever possible!

Status options:

  • 🀷 unknown – please test and report back
  • 😱 recognized as perl5
  • 😭 no support
  • 😐 plugin available/😐 better plugin
  • πŸ™‚ built-in support
  • 😍 great built-in support
  • πŸ’° paywall
  • ⏳ in development but not available yet
  • …
Editor Status Comments
Ace πŸ™‚ built-in support
Atom πŸ™‚ built-in support
😐 better plugin
comes with basic perl 6 highlighting
https://atom.io/packages/language-perl6
Brackets 😭 no support ⚠NO TICKET, PLEASE SUBMIT⚠
Comma IDE 😍 great built-in support designed for Perl 6
(built on the JetBrains IDEA platform)
https://commaide.com/
CudaText 😐 plugin available menu item "Plugins/ Addon Manager/ Install", find "Perl 6"
Eclipse 🀷 unknown
Emacs 😐 plugin available https://github.com/perl6/perl6-mode
Geany 😱 recognized as perl5 GitHub Issue
IntelliJ,
WebStorm,
etc.
🀷 unknown
😐 plugin available

https://commaide.com/
gedit 😱 recognized as perl5 https://gitlab.gnome.org/GNOME/gtksourceview/issues/25
Kate πŸ™‚ built-in support https://bugs.kde.org/show_bug.cgi?id=392468, more
Komodo IDE 😭 no supportπŸ’°
nano 😱 recognized as perl5
😐 plugin available
Patch: https://savannah.gnu.org/patch/?9745
Plugin: https://github.com/hankache/perl6.nanorc
Neovim πŸ™‚ built-in support
😐 better plugin

https://github.com/vim-perl/vim-perl6
Notepad++ 😭 no support community forum discussion
GitHub Issue
Pluma 😱 recognized as perl5 https://gitlab.gnome.org/GNOME/gtksourceview/issues/25
Scite πŸ™‚ built-in support
Spacemacs πŸ™‚ built-in support ticket: https://github.com/syl20bnr/spacemacs/issues/5019
(right now only in develop branch)
Sublime text 🀷 unknown
😐 plugin available

silentTee/sublimetext3-perl6-syntax
TextMate πŸ™‚ built-in support https://github.com/textmate/perl.tmbundle
unsure about the actual quality and
whether the bundle is shipped by default
Vim πŸ™‚ built-in support
😐 better plugin

https://github.com/vim-perl/vim-perl6
Visual Studio
Code
πŸ™‚ built-in support
😐 better plugin
proof
plugins available for linting and snippets

AlexDaniel avatar Apr 03 '18 21:04 AlexDaniel

Perl6 support in Neovim (I don't remember but I believe Vim has the same story) alongwith that plugin is pretty laggy, syntax hl is cool but when you scroll file by lines or moving cursor holding j/k it freezes, it happens after 10-15 lines of code. Would like to see more lightweight/optimized version.

unclechu avatar Apr 05 '18 08:04 unclechu

It's rather slow with highlighting in regular vim 8 in combination with vim-perl6 as well. On my system it doesn't freeze by scrolling, but I can see a core having a hard time to keep up with it. I don't often scroll with j/k, so it doesn't hit me often, but it's still something I'd like to see resolved too.

Tyil avatar Apr 05 '18 09:04 Tyil

Pardon me but I have started an effort to create a Sublime Text 3 syntax highlighter file. It's admittedly very young and still only highlights in a basic fashion, but I figured I would mention it. I'm admittedly a novice at making syntax highlighters and using GitHub but I wanted to contribute to Perl 6 adoption, as I really like the language.

Here is what I have so far: https://github.com/silentTee/sublimetext3-perl6-syntax

The code I've been testing it on is based on the coding tutorials at http://perl6intro.com/ up to Section 8.1 so far. I have attached it for reference. test_code.txt

I don't mind if someone more skilled wants to fork it, I just figured I would get it started.

silentTeee avatar Jun 03 '18 14:06 silentTeee

Thanks!

JJ avatar Jun 03 '18 16:06 JJ

Added the brand spanking new Comma IDE, specially designed for Perl 6 (eat your heart out Active State, no interest in adding Perl 6 to Komodo, thanks!).

tbrowder avatar Jun 03 '18 22:06 tbrowder

Thanks @silentTee, I've added a link!

@tbrowder actually comma was already listed as a plugin for IntelliJ stuff, but I guess it's ok to list it as a standalone IDE, although I'm not sure. Anyway, I fixed it a bit.

Actually, I feel generous today, so maybe we should give 😍 excellent built-in support to Comma. A paywall and 😍 are probably not mutually exclusive :)

AlexDaniel avatar Jun 04 '18 08:06 AlexDaniel

@AlexDaniel, I am an early subscriber and I am using it stand-alone, but I missed it on the list as a plugin, sorry.

Update

I tweaked the Commay entry and added the "excellent support" you suggested.

tbrowder avatar Jun 04 '18 17:06 tbrowder

hmm, i think it's weird that plugin available is this face: "😐". A plugin that was good enough should get heart eyes. 😻

chee avatar Feb 06 '19 15:02 chee

@chee the idea is that a newcomer writing a perlΒ 6 script should not be inconvenienced by having to go somewhere to download a plugin. Especially so if the editor incorrectly detects perlΒ 6 code as perl5 code. Most of the editors have built-in support for other languages (e.g. perl5).

AlexDaniel avatar Feb 06 '19 16:02 AlexDaniel

@AlexDaniel a newcomer to Perl 6, or a newcomer to programming?

a newcomer to Perl 6 might already have an editor like Atom or Visual Studio Code installed, where it has some built in support and better support with a plugin

neither one of those newcomers would have Comma IDE already installed on their computer. it feels like more of an inconvenience to find out about, pay 120 euros for, and download Comma than to go to the addons menu and search "perl 6"

that's all. i feel like a really good plugin is worth at least as enthusiastic an emoji as a standalone perl6-specific IDE

chee avatar Feb 06 '19 16:02 chee

There is a syntax highlighter xml for kate that probably could be merged https://github.com/timo/perl6-kate-syntax??

hstejas avatar Mar 02 '19 16:03 hstejas

thanks for you nice job. Thanks neovim and comma ide and other editors etc. ~~

kktt007 avatar Apr 20 '19 07:04 kktt007

i removed the "paywall" icon from the comma ide standalone and the intellij plugin, since the "community edition" that's available for free is out now

timo avatar Jul 18 '19 20:07 timo

CudaText: has plugin (lexer) for Perl 6. Comments: menu item "Plugins/ Addon Manager/ Install", find "Perl 6"

Proof (lexer is for CudaText+SynWrite) http://synwrite.sourceforge.net/forums/viewtopic.php?f=4&t=2316

Alexey-T avatar Sep 12 '19 07:09 Alexey-T

@silentTee I made some Github issues for you, about Perl 6, see the SublimeText syntax repo.

Alexey-T avatar Sep 12 '19 07:09 Alexey-T

Kate has builtin support by now: https://pointieststick.com/2019/09/28/this-week-in-kde-towards-plasma-5-18/

flying-sheep avatar Sep 29 '19 18:09 flying-sheep

Wow, that's amazing. All that's left is a syntax file for gtksourceview and the coverage will be pretty nice (info).

AlexDaniel avatar Sep 29 '19 18:09 AlexDaniel

A Raku lexer has been merged and is available in Scintilla as of 4.3.0 https://sourceforge.net/p/scintilla/feature-requests/1328/ This will open up the door for all Scintilla based editors to support Raku syntax highlighting (Notepad++, Geany, etc.)

hankache avatar Mar 18 '20 20:03 hankache

Amazing!

AlexDaniel avatar Mar 18 '20 20:03 AlexDaniel

Doom Emacs also has built-in support for Raku now: https://github.com/hlissner/doom-emacs/tree/develop/modules/lang/raku

Develop branch, but it's the one everybody's using :)

sarna avatar Jun 07 '20 09:06 sarna

I added new extensions to sublime text's syntax file:

https://gist.github.com/iacore/190adb9c3954603cf7034f9cb450fd2b

No other changes (based on the Perl6 syntax file).

It doesn't work with advanced features.

iacore avatar Jun 18 '22 04:06 iacore

Syntax highlighting in Obsidian and Jupyter (Lab and thus Notebook 7) is based on Codemirror 6.

Language support in Codemirror takes the form of specific packages (with names like @codemirror/lang-python or codemirror-lang-elixir) that implement the support features for working with that language.

Did someone already approach this for Raku?

I guess the appropriate place for such a project would be https://github.com/Raku/codemirror-lang-raku, right?

rcmlz avatar May 06 '23 19:05 rcmlz

I added new extensions to sublime text's syntax file:

https://gist.github.com/locriacyber/190adb9c3954603cf7034f9cb450fd2b

No other changes (based on the Perl6 syntax file).

It doesn't work with advanced features.

Link is broken, you can try https://github.com/rcmlz/sublimetext-build-systems-raku

rcmlz avatar May 06 '23 19:05 rcmlz

FYI: Notepad++ has added a Raku lexer / syntax highlighter, and thus closed its issue. Notepad++ v8.6.6 was the first to be released with Raku enabled, but didn't correctly distribute the auto-completion definition; v8.6.7 corrected the auto-completion distribution.

pryrt avatar May 13 '24 18:05 pryrt