https://github.com/azawawi/ide-perl6
Perl 6 language support for Atom-IDE
https://github.com/azawawi/ide-perl6
atom-plugin ide perl6
Last synced: 10 months ago
JSON representation
Perl 6 language support for Atom-IDE
- Host: GitHub
- URL: https://github.com/azawawi/ide-perl6
- Owner: azawawi
- License: mit
- Created: 2018-10-06T10:57:25.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-10-20T20:13:27.000Z (over 7 years ago)
- Last Synced: 2025-04-07T07:36:31.546Z (about 1 year ago)
- Topics: atom-plugin, ide, perl6
- Language: JavaScript
- Homepage:
- Size: 135 KB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# IDE-Perl6
Perl 6 language support for the [Atom IDE](https://atom.io/packages/atom-ide-ui)
powered by [`App::Perl6LangServer`](
https://modules.perl6.org/dist/App::Perl6LangServer:cpan:AZAWAWI). This language
integration is built on top of [atom-languageclient](
https://github.com/atom/atom-languageclient).
## Features:
- Diagnostics (i.e. syntax check errors using `perl6 -c` )

## Plan / TODO:
- [ ] Open Perl 6 downloads in browser if perl6 is not installed. (see [ide-java](https://github.com/atom/ide-java/blob/master/lib/main.js)).
```
$ perl6 --version
```
- [ ] Install App::Perl6LangServer if it is not installed (see [ide-java](https://github.com/atom/ide-java/blob/master/lib/main.js)).
```bash
perl6 -e "use App::Perl6LangServer:ver(v0.0.2);
```
- [ ] Provide a feature list similar to [atom-ide-rust](https://github.com/rust-lang-nursery/atom-ide-rust)
- [ ] Support VSCode in another plugin.
- [ ] Provide source code formatting via [Perl6::Tidy](
https://github.com/drforr/perl6-Perl6-Tidy/tree/master/bin).
## Install
- You can install from the command line with:
```bash
# Install IDE-Perl6 Atom plugin
$ apm install ide-perl6
```
- Or you can install from the settings view (`Ctrl` + `,`) by searching for
`ide-perl6`.
Note: you need to have a working installed Rakudo Perl 6 Compiler. You can
install the latest monthly pre-compiled packages from
[nxadm/rakudo-pkg](https://github.com/nxadm/rakudo-pkg) or Rakudo Star
distribution from [here](https://rakudo.org/files).
**Note:** You need also install `App::Perl6LangServer`:
```bash
# To install Perl 6 language server executable.
$ zef install App::Perl6LangServer
# If you are using rakudobrew, this is needed to update executable path after
# installation.
$ rakudobrew rehash
```
## Debugging
If the plugin is not working as expected, you can try enabling logging to debug
it:
- Open the atom console via `Ctrl` + `Shift` + `I`.
- Enter `atom.config.set('core.debugLSP', true)` in the console.
- Reload Atom via `Ctrl` + `Shift` + `F5`.
## Author
Ahmad M. Zawawi, [azawawi](https://github.com/azawawi/) on #perl6.
## See Also
- Specification:
- [JSON-RPC 2.0 Specification](https://www.jsonrpc.org/specification).
- [Language Server Protocol](https://microsoft.github.io/language-server-protocol/specification).
- Plugin / Extension:
- [Perl 6 language support in Visual Studio Code](https://github.com/scriplit/vscode-languageserver-perl6).
- Language Server:
- [App::LanguageServer](https://github.com/cazador481/App-LanguageServer-Perl)
\- Perl Language Server.
- [Perl 6 language support in vscode](
https://github.com/scriplit/vscode-languageserver-perl6) - Perl 6 language server that uses JavaScript for `perl6 -c` syntax checking.
- Miscellaneous:
- [Compiler stages and targets in Perl 6](https://perl6.online/2017/12/31/compiler-stages-and-targets/).
## License
[MIT License](LICENSE.md)