user-experience
user-experience copied to clipboard
Make sure that all editors play well with Perl 6
(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 |
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.
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.
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.
Thanks!
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!).
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, 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.
hmm, i think it's weird that plugin available is this face: "π". A plugin that was good enough should get heart eyes. π»
@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 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
There is a syntax highlighter xml for kate that probably could be merged https://github.com/timo/perl6-kate-syntax??
thanks for you nice job. Thanks neovim and comma ide and other editors etc. ~~
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
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
@silentTee I made some Github issues for you, about Perl 6, see the SublimeText syntax repo.
Kate has builtin support by now: https://pointieststick.com/2019/09/28/this-week-in-kde-towards-plasma-5-18/
Wow, that's amazing. All that's left is a syntax file for gtksourceview and the coverage will be pretty nice (info).
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.)
Amazing!
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 :)
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.
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?
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