GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ionide/FsAutoComplete: F# language server using Language Server Protocol

BranchesTags
Open more actions menu

Latest commit

 

History

2,791 Commits
2,791 Commits

Folders and files

NameName
Last commit message
Last commit date
.config
.config
 
 
.devcontainer
.devcontainer
 
 
.github
.github
 
 
.paket
.paket
 
 
.vscode
.vscode
 
 
benchmarks
benchmarks
 
 
docs
docs
 
 
src
src
 
 
test
test
 
 
utils
utils
 
 
.editorconfig
.editorconfig
 
 
.fantomasignore
.fantomasignore
 
 
.git-blame-ignore-revs
.git-blame-ignore-revs
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.gitpod.yml
.gitpod.yml
 
 
AGENTS.md
AGENTS.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Directory.Build.props
Directory.Build.props
 
 
Directory.Build.targets
Directory.Build.targets
 
 
Directory.Solution.targets
Directory.Solution.targets
 
 
FsAutoComplete.slnx
FsAutoComplete.slnx
 
 
LICENSE.md
LICENSE.md
 
 
README.md
README.md
 
 
build.fsx
build.fsx
 
 
global.json
global.json
 
 
nuget.config
nuget.config
 
 
paket.dependencies
paket.dependencies
 
 
paket.lock
paket.lock
 
 

Repository files navigation

FsAutoComplete

NuGet version (FsAutoComplete)

The FsAutoComplete project (FSAC) provides a backend service for rich editing or intellisense features for editors. It implements the Language Server Protocol.

Currently, it is used by the following extensions:

  • Emacs
  • Neovim
  • Vim
  • Visual Studio Code
  • Sublime Text
  • Zed

And it can be used with the following editors, by simply installing FsAutoComplete directly: dotnet tool install --global fsautocomplete

  • Kate
  • Flow
  • Helix

It is based on:

  • FSharp.Compiler.Service for F# language info.
  • Ionide.ProjInfo for project/solution management.
  • FSharpLint for the linter feature.
  • Fantomas for F# code formatting.

Requirements

FsAutoComplete runs on .NET 10. Install the .NET 10 SDK, which includes the .NET 10 runtime.

Your projects do not need to change for this:

  • They can keep targeting net8.0, net9.0 or any other framework.
  • A global.json that pins the .NET 8 or 9 SDK keeps working. FsAutoComplete then loads the projects with that SDK, as long as the .NET 10 runtime is installed as well.

Why .NET 10: FsAutoComplete runs F# analyzers in its own process. FSharp.Analyzers.SDK targets .NET 10 since version 0.38, and an analyzer is only loaded when it was built against the same version of the SDK as FsAutoComplete, so FsAutoComplete targets .NET 10 too. The changelog names the version of FSharp.Analyzers.SDK that each release hosts.

When you install FsAutoComplete with an older SDK, you get a placeholder instead. It says to install the .NET 10 SDK when it starts, and editors show that as the error of the language server. Install the .NET 10 SDK, then install FsAutoComplete again, for example with dotnet tool update --global fsautocomplete.

Documentation

  • Building, Testing, and Releasing - See CONTRIBUTING.md for build requirements, build commands, testing instructions, and the release process.
  • OpenTelemetry -See the OpenTelemetry documentation for instructions on enabling and visualizing distributed traces.
  • LSP endpoints, settings and more - See the Communication Protocol documentation for details on supported LSP endpoints, custom endpoints, notifications, startup options, initialization options, and settings.

Maintainers

The maintainers of this repository are:

  • Krzysztof Cieślak
  • Chester Husk
  • Jimmy Byrd

Previous maintainers:

  • Robin Neatherway
  • Steffen Forkmann
  • Karl Nilsson
  • Enrico Sada
  • Tomas Petricek
  • Dave Thomas

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Copyright

The library is available under MIT license, which allows modification and redistribution for both commercial and non-commercial purposes.

Imposter Syndrome Disclaimer

I want your help. No really, I do.

There might be a little voice inside that tells you you're not ready; that you need to do one more tutorial, or learn another framework, or write a few more blog posts before you can help me with this project.

I assure you, that's not the case.

And you don't just have to write code. You can help out by writing documentation, tests, or even by giving feedback about this work. (And yes, that includes giving feedback about the contribution guidelines.)

Thank you for contributing!

About

F# language server using Language Server Protocol

Topics

emacsfsharplanguage-serverlanguage-server-protocollspvimvisual-studio-code

Resources

Readme
License

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

490 stars

Watchers

22 watching

Forks

173 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.