Need fast iterations with hot reload, debugging, and collaboration over k8s envs?

Writing .raftt Files Has Never Been Easier - Introducing Code Completion

The Raftt Team
August 24, 2023
2
 min read

## Environment definition

Raftt dev envs are defined using a Python-like ([Starlark](https://github.com/bazelbuild/starlark/blob/master/spec.md)-based) dialect. It allows users to leverage the power and flexibility of a programming language when defining their env.

Most `.raftt` files are very short and require only a few lines of code per service (and they can be reused too!). For more complex envs, a more complex definition may be required. Raftt’s configuration language provides the flexibility allowing to customize the dev-env for the perfect DevEx.

## Code completion

The highlight of this release is the Language Server. This integration enables code completion of our configuration language, suggesting context-aware options as you type.

To enjoy this new feature, make sure the versions of your Raftt CLI and Raftt IDE plugin are new enough -

- Raftt CLI version ≥ 109.5.1
- Raftt [VS Code extension](https://marketplace.visualstudio.com/items?itemName=Raftt.vscode-raftt&ssr=false#overview) ≥ 2.1.1 or [Raftt JetBrains plugin](https://plugins.jetbrains.com/plugin/18931-raftt) ≥ 10.0.1

### VS Code support

VS Code fully supports LSP, so you can view function signatures and details about each input arg in addition to the code completion.

### JetBrains support

JetBrains [recently announced](https://blog.jetbrains.com/platform/2023/07/lsp-for-plugin-developers/) they incorporated LSP support into their IntelliJ platform, **starting with the 2023.2 version**. The IDE’s support of LSP features is still partial, so most features other than code completion aren’t implemented yet. As JetBrains completes their implementation of the LSP, the experience writing `.raftt` files there will improve.

### API reference

The new Language Server is based on our newly released API [documentation](https://docs.raftt.io/rafttfile/index.html). This documentation is a complete reference to the modules, classes, and methods available in Raftt’s configuration language.

## Looking forward

We are constantly working on improving the onboarding experience to Raftt, and exciting things are on the way. Have a good idea? Or some feedback? [Let us know](https://www.raftt.io/contact)!

The Raftt Team

Stop wasting time worrying about your dev env.
Concentrate on your code.

The ability to focus on doing what you love best can be more than a bottled-up desire lost in a sea of frustration. Make it a reality — with Raftt.