Writing .raftt Files Has Never Been Easier - Introducing Code Completion
The Raftt Team
August 24, 2023
## 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)!