Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructuring Installation Section #202

Closed
wants to merge 2 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 113 additions & 10 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,69 @@ You can also spin up one of our pre-configured Cloud-based dev environments:

Have a look at the [Lingua Franca playground](https://github.com/lf-lang/playground-lingua-franca) for more details.

## Compiler

There are multiple options available for installing the Lingua Franca compiler and other command line tools, as listed below. See the [handbook](./tools/command-line-tools.mdx) for usage instructions.

### Install Script

Run the following command in your terminal to install the latest release (on Windows, use WSL):

```
curl -Ls https://install.lf-lang.org | bash -s cli
```

You can also install the nightly pre-release:

```
curl -Ls https://install.lf-lang.org | bash -s cli nightly
```

You can use the `--prefix=<path>` argument to change the default install location.

### AUR

There are binary packages available in the Arch user repository, which you can install using your favorite AUR helper. For instance, with `yay`:

```
yay -S lf-cli-bin
```

or for the nightly pre-release:

```
yay -S lf-cli-nightly-bin
```

### Nixos

LFC is packaged in [nixpkgs](https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/development/compilers/lingua-franca/default.nix#L28) and is available via the binary cache.

Run
```
nix shell nixpkgs#lingua-franca
```
to temporarily install lfc in your current shell environment.

### Manual Download

Regular and nightly release builds of the command line tools can be downloaded from the [Lingua Franca release page](https://github.com/lf-lang/lingua-franca/releases). Download the archive that matches your OS and architecture, and extract the contents.

### From Source

Please refer to the [Lingua Franca GitHub repository](https://github.com/lf-lang/lingua-franca) for build instructions.

If you'd like to contribute to Lingua Franca, you can find details about the recommended developer setup here.

## Lingo the Lingua-Franca Package-Manager
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Lingo the Lingua-Franca Package-Manager
## Lingo


Lingo is the package-manager and build tool of the lingua-franca ecosystem.

```
cargo install lingua-franca
PATH = $PATH:~/.cargo/bin
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be an export command?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the export is not necessary ;D it also works without it

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, right. It doen't work with the spaces around the = though.

Suggested change
PATH = $PATH:~/.cargo/bin
PATH=$PATH:~/.cargo/bin

```

## Visual Studio Code

Our Visual Studio Code extension can be installed via the Marketplace or built from source, as detailed below. See the [handbook](./tools/code-extension.mdx) for usage instructions.
Expand Down Expand Up @@ -99,46 +162,86 @@ open -a Epoch.app

Please refer to the [Epoch GitHub repository](https://github.com/lf-lang/epoch) for build instructions.

## CLI Tools

There are multiple options available for installing the Lingua Franca compiler and other command line tools, as listed below. See the [handbook](./tools/command-line-tools.mdx) for usage instructions.


## Visual Studio Code

Our Visual Studio Code extension can be installed via the Marketplace or built from source, as detailed below. See the [handbook](./tools/code-extension.mdx) for usage instructions.

### Marketplace

The Lingua Franca extension is available on the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=lf-lang.vscode-lingua-franca) and the [VSX Registry](https://open-vsx.org/extension/lf-lang/vscode-lingua-franca). To install the extension, open VS Code, launch Quick Open (<kbd>Ctrl</kbd> + <kbd>P</kbd>) and enter:

```
ext install lf-lang.vscode-lingua-franca
```

Alternatively, you can run the following command in your terminal:

```
code --install-extension lf-lang.vscode-lingua-franca
```

To use the nightly pre-release of the extension instead of the latest release, find the Lingua Franca extension in the Extensions tab and click on the "Switch to Pre-Release Version" button.

### From Source

Please refer to the [Lingua Franca VS Code GitHub repository](https://github.com/lf-lang/vscode-lingua-franca) for build instructions.

## Epoch IDE

There are multiple options available for installing Epoch as listed below. See the handbook for usage instructions.

### Install Script

Run the following command in your terminal to install the latest release (on Windows, use WSL):

```
curl -Ls https://install.lf-lang.org | bash -s cli
curl -Ls https://install.lf-lang.org | bash -s epoch
```

You can also install the nightly pre-release:

```
curl -Ls https://install.lf-lang.org | bash -s cli nightly
curl -Ls https://install.lf-lang.org | bash -s epoch nightly
```

You can use the `--prefix=<path>` argument to change the default install location.

The default prefix is `/usr/local/bin` on a Mac and `~/.local/bin` on Linux and WSL. You may not have write access to this directory by default, in which case, if you still want to use the default prefix, you can replace `sh` with `sudo sh` in the above commands.

### AUR

There are binary packages available in the Arch user repository, which you can install using your favorite AUR helper. For instance, with `yay`:

```
yay -S lf-cli-bin
yay -S epoch-bin
```

or for the nightly pre-release:

```
yay -S lf-cli-nightly-bin
yay -S epoch-nightly-bin
```

### Manual Download

Regular and nightly release builds of the command line tools can be downloaded from the [Lingua Franca release page](https://github.com/lf-lang/lingua-franca/releases). Download the archive that matches your OS and architecture, and extract the contents.
Regular and nightly release builds of Epoch can be downloaded from the [Epoch release page](https://github.com/lf-lang/epoch/releases). Download the archive that matches your OS and architecture, and extract the contents.

MacOS requires extra steps before being able to execute the app:

```
xattr -cr Epoch.app
```

To install, drag the Epoch.app file to your Applications folder. You can then invoke the app as follows:

```
open -a Epoch.app
```

### From Source

Please refer to the [Lingua Franca GitHub repository](https://github.com/lf-lang/lingua-franca) for build instructions.
Please refer to the [Epoch GitHub repository](https://github.com/lf-lang/epoch) for build instructions.


If you'd like to contribute to Lingua Franca, you can find details about the recommended developer setup here.