Awesome
<a href="https://github.com/IntelliJ-Frege/intellij-frege/"> <img src="https://raw.githubusercontent.com/IntelliJ-Frege/intellij-frege/master/src/main/resources/META-INF/pluginIcon.svg" alt="Plugin logo" title="Plugin logo" align="right" height="60" /> </a>IntelliJ IDEA plugin for Frege language
What is Frege
Frege is a Haskell for the JVM. It is functional, has strong static type system and lazy evaluations, but Frege compiles to Java and runs on JVM. Also, it can use any Java library and can be used inside any Java project.
Read more at Frege github.
Installation
Plugin is available on JetBrains plugin repository.
Current progress
Features implemented partially or completely:
- Lexer
- Parser
- Syntax highlighting and color schemes
- Gradle-based build system
- Navigation
- Find usages
- Code completion
- Rename refactoring
- File templates
- Index files
- Frege REPL
- 'Add import' quickfix for unresolved references
- Documentation viewer
Features desired:
- Structure view
- Formatter
- More quickfixes
- More refactorings
- Type system
- and more
Examples
Below you can see examples of our plugin:
-
Navigation <br></br> <br></br> <br></br> <br></br>
-
Navigation depends on imports <br></br> <br></br>
-
Navigation to Java (and other JVM-languages) <br></br> <br></br>
-
Navigation from Java (and other JVM-languages) <br></br> <br></br>
-
Line markers
- To type annotation <br></br> <br></br>
- To instanced methods and vice versa <br></br> <br></br>
- Run Frege <br></br> <br></br>
-
Find usages <br></br> <br></br>
-
Code completion <br></br> <br></br> <br></br>
-
Rename refactoring <br></br> <br></br>
-
Add import quickfix <br></br> <br></br>
-
Documentation viewer <br></br> <br></br>
-
REPL integration <br></br> <br></br>
-
REPL: execute parts of code <br></br> <br></br>
Contributors
Special thanks to Semyon Atamas and Dierk König!
License
Apache-2.0