FUTHARK-LSP(1)
π FUTHARK-LSP(1) β the language server, but make it serve
okay so bestie, quick vibe check: this is the manual page for futhark-lsp, straight out of the Futhark manual. welcome to the group chat π«Ά
β¨ NAME β¨
futhark-lsp β the language server for Futhark. yes, it's that girl π
πΈ SYNOPSIS πΈ
futhark lsp
that's it. that's the whole summoning ritual β¨
π¦ DESCRIPTION π¦
So basically, this starts serving the language server protocol (LSP) over stdin and stdout π. And here's the thing β it's only the server part of the protocol, okay? So you probs wanna use it via your editor, not by literally talking to it yourself π.
What it does: it lets your editor provide stuff like hints or hover information by querying the futhark compiler. Your editor asks, the compiler answers, everyone slays π.
π FEATURES π
π Hover Information
Gives you the type of the symbol under the cursor. it's giving "what even is this thing" energy β¨
β οΈ Ngl, it does not work on the definition of a top-level symbol itself β only on references to it. So don't come for it when the definition hovers give you nothing, that's just how it is π.
π₯ Go To Definition
Jumps straight to the place where the symbol under the cursor is defined. main character energy, it knows exactly where everything lives π
β Formatting
Invokes futhark fmt to format the current file. glow-up, delivered β¨
π Evaluation Comments
Comments like -- >>> factorial 5 will be picked up, and your editor may offer code lenses to evaluate the code contained in the comment π.
Activating the code lens will load the file into the interpreter, evaluate the expression, and write the result below. it literally does your homework and shows the work π§
π¨ Heads up, bestie, there are limits: - The evaluation will be aborted after15seconds** - or when it has allocated **100GB in total** - only the **last100` debugging traces will be retained.
no cap, those are the numbers. don't ask it to allocate 101 GB π
π Inlay Hints
Provides virtual text hints to visualize the results of type-checking π.
The inferred types of bindings will be shown for e.g. lambda arguments, function arguments, let bindings or loop bindings. it's forecasting the types before the compiler even has to yell at you πΈ
π Code Actions
Every name binding with an inlay type hint has an associated code action that inserts exactly the type ascription the virtual text shows π₯.
And if the type contains any inferred type variables or sizes, they will also be introduced at the appropriate position. it fills in the blanks so you don't have to, obsessed π
π SEE ALSO π
futhark-fmt <#futhark-fmt-1>β the formatting bestie π
π Copyright
2013-2025, DIKU, University of Copenhagen
ok that's the whole page, you ate that π«Ά version0.25.37, datedSep 09, 2001β yes the date is older than most of us, don't perceive it πβ¨ bye bestie, go hover some symbols ππ¦
π¦ where this page comes from
- nixos 26.05: futhark 0.25.37
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms