For people who want to use Intellij to develop with AngelScript.
Here is the preview page on the Intellij Plugins Marketplace
Currently all tokens can have syntax highlighting, such as ==
, ;
, keywords, etc. Identifier highlighting such as function names is not yet implemented.
All highlighter colors can be changed on the settings page.
Only variable names are currently implemented. For example, if you have a script such as:
int foo = 1;
int bar = 3 + f
As soon as you type the f
, the option to auto-complete foo
will pop up.
When using #if
, #elif
, etc, anything in the #elif
block is treated as a comment. This is because I couldn't figure out how to get it working with mismatched braces.
Contributions are welcome!!!!! 😄
Feel free to open an issue to report bugs, request features, or ask for help with contributing.
Scripts for test scenarios are located in scripts. New script files can be added there, and then the file name needs to be added to file_names.csv.
Most of the test cases are from the AngelScript svn repository and parsed them into separate files using the run.sh to get the test cases, and then manually cleaned them up.
Additionally, I downloaded sources for various OpenPlanet plugins and added them to a seperate test scenario, with the file names in ops.csv and the scripts stored under opscripts.
- Update the plugin version in build.gradle
- Manually run the Plugin Publishing Workflow
Powershell:
& 'C:\Program Files\Git\usr\bin\openssl.exe' genpkey -aes-256-cbc -algorithm RSA -out private_encrypted.pem -pkeyopt rsa_keygen_bits:4096
& 'C:\Program Files\Git\usr\bin\openssl.exe' rsa -in private_encrypted.pem -out private.pem
& 'C:\Program Files\Git\usr\bin\openssl.exe' req -key private.pem -new -x509 -days 365 -out chain.crt
- https://www.angelcode.com/angelscript/sdk/docs/manual/doc_script_bnf.html
- https://plugins.jetbrains.com/docs/intellij/prerequisites.html
- https://plugins.jetbrains.com/docs/intellij/custom-language-support.html
- https://cs.au.dk/~amoeller/RegAut/JavaBNF.html
- https://github.com/JetBrains/intellij-community/blob/0e2aa4030ee763c9b0c828f0b5119f4cdcc66f35/plugins/sh/grammar/sh.bnf
- https://github.com/JetBrains/intellij-community/blob/a0d08b06cf01ecc2ac7e4f39e3c1a63b6bcca455/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/parser/groovy.bnf
- https://github.com/JetBrains/Grammar-Kit/blob/master/grammars/Grammar.bnf
- https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/simple_language_plugin
- https://github.com/ignatov/intellij-erlang/blob/macros-support/grammars/erlang.bnf