Flix Language Support for Eclipse IDE
===
|  | + |  |
| -------- | -------- | -------- |
| [Flix Website](https://flix.dev) | | [Eclipse IDE Website](https://www.eclipse.org/ide/) |
## Installation
* Download [Eclipse 2022-06 package](https://www.eclipse.org/downloads/packages/release/2022-06/r/eclipse-ide-java-developers) and unpack it somewhere on your system.
* Run the unpacked Eclipse IDE
* Go to `Help` > `Install new software`
* Enter `http://eclipse.hetzge.de/flix/alpha/` into the `Work with:` textfield and press enter
* Select the `Flix Language Support` option from the tree
* Press `Next` and follow the wizard

## Create new Flix project
* Go to the `File` > `New` > `Other` menu (shortcut = `Ctrl` + `N`) and select `Flix Project` in the tree.
* Enter a project name and press `Finish` button.

To convert an existing project to an Flix project right click on the project and select `Configure` > `Convert to Flix project`. A Flix project should have a specific icon in the project explorer tree.

## Troubleshooting
"Have you tried turning it off and on again ?" For real if something is not behaving as expected you can restart the Flix language tooling. To do so right click on the project and select `Flix` > `Reconnect Flix language tooling`. This should reinit the language server for the selected project. Give it some time to restart.

## Features
### Search symbols in workspace
To search for symbols in the current workspace press `Ctrl` + `Shift` + `T` to open the search window. Now you can type what you are looking for. This currently only work in the context of an open flix editor. Alternatively you can press `Ctrl` + `3` and search for the `Open Symbol (Flix) - Show a list of workspace-wide symbols` command.

### Search symbol references
Place the cursor on a symbol and press `Ctrl` + `Shift` + `G`. This should open the search view with a list of all places where the marked symbol is referenced from.

### Select Flix version
To select the version of the Flix compiler that should be used, right click on a project, select `Properties` and then `Flix Project`.

If you want to use a custom Flix version that is not available on the list at the properties page then you can place the `flix.jar` file in the project root. The `flix.jar` will override the other Flix version preference.

The detection of the `flix.jar` file should happen automatically. In case of problems it will never be wrong to restart the IDE. Also be aware that a custom version can be incompatible with the IDE integration.