Skip to content

manoj2601/vscode-flix

 
 

Repository files navigation

The Flix Programming Language

Flix for Visual Studio Code

The official Visual Studio Code extension for the Flix Programming Language (flix.dev).

Flix is a next-generation reliable, safe, concise, and functional-first programming language.

We aim to have world-class Visual Studio Code support and our extension is based on the real Flix compiler infrastructure.

Features

  • Syntax Highlighting

    • Code highlighting for *.flix files.
  • Diagnostics

    • Compiler error messages.
  • Auto-complete

    • Auto-complete as you type.
  • Snippets

    • Auto-complete common code constructs.
  • Type and Effect Hovers

    • Hover over any expression to see its type and effect.
    • Hover over any local variable or formal parameter to see its type.
    • Hover over any function to see its type signature and documentation.
    • Hover over any first-class Datalog constraint expression to see its stratification.
  • Jump to Definition

    • Jump to the definition of any function.
    • Jump to the definition of any local variable or formal parameter.
    • Jump to the definition of any enum case.
  • Find References

    • Find all references to a function.
    • Find all references to a local variable or formal parameter.
    • Find all references to an enum case.
  • Symbols

    • List all document symbols.
    • List all workspace symbols.
  • Rename

    • Rename local variables or formal parameters.
    • Rename functions.
  • Code Lenses

    • Run main from within the editor.
    • Run benchmarks and unit tests from within the editor.
  • Highlight

    • Highlights semantically related symbols.
  • Semantic Tokens

    • Additional code highlighting hints provided by the compiler.

Installation

  • Install the Flix Visual Studio Code extension.
    • The extension will automatically download the Flix compiler.

Alternative (for advanced users):

  • Upon startup, the extension with look for a flix.jar compiler in the project root and use that if available.
    • This can be used to run a nightly (or custom-built) version of the compiler.

Requirements

  • Requires Java 11 (or later).
    • Ensure that the java command is on your path.

For Developers

Information about running, debugging, and packaging the extension is available in DEV.md.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 98.5%
  • Other 1.5%