## Description Extend the existing C#/VB setup to support F# development with formatting, LSP, and debugging integration. - Extend recommended filetypes and roots to include F# - Ensure Treesitter installs the `fsharp` parser - Add Fantomas formatter in none-ls and Conform - Ensure Mason installs fsautocomplete and fantomas - Extend DAP configurations to include `fsharp` ⚠️ For debugging/neotest to work, this PR should be merged together with [#6540](https://github.com/LazyVim/LazyVim/pull/6540), which switches Omnisharp extras from `neotest-dotnet` to `neotest-vstest`. ## Related Issue(s) N/A ## Screenshots ### Without PR Sample code: <img width="1485" height="934" alt="2025-09-27-224704_hyprshot" src="https://github.com/user-attachments/assets/40993ae2-c7eb-458a-bca9-6e77a1fad323" /> ### With PR `:ConformInfo` <img width="1280" height="573" alt="image" src="https://github.com/user-attachments/assets/b417fce7-8eb5-4ccc-8bd4-c554060bf9a0" /> `:NullLsInfo` <img width="732" height="544" alt="image" src="https://github.com/user-attachments/assets/5275e16b-353f-4776-b130-09ec27fde90b" /> Sample code before formatting: <img width="1953" height="1228" alt="2025-09-27-224729_hyprshot" src="https://github.com/user-attachments/assets/870b17c7-2473-4151-9ccc-23b70d9fbc42" /> Sample code after formatting (using Fantomas formatter): <img width="1930" height="1216" alt="2025-09-27-224752_hyprshot" src="https://github.com/user-attachments/assets/3b589c2e-b7b2-4fbf-bef7-0aabda586536" /> DAP/Neotest debugging the sample code: <img width="2548" height="1461" alt="image" src="https://github.com/user-attachments/assets/b70a9498-041e-48c8-8e7c-78a828d0e17d" /> ## Attachments [Sample Project ZIP Archive](https://github.com/user-attachments/files/22576868/FsSample.zip) ``` sudo pacman -S --needed curl unzip dotnet-sdk # or whatever package manger is on system curl -O -L "https://github.com/user-attachments/files/22576868/FsSample.zip" unzip FsSample.zip cd FsSample dotnet build # restoring/building fixes LSP errors ``` ## Checklist - [X] I've read the [CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md) guidelines. Co-authored-by: Christoph Schmidpeter <christoph.schmidpeter@gmail.com> |
||
|---|---|---|
| .github | ||
| doc | ||
| lua/lazyvim | ||
| queries/lua | ||
| scripts | ||
| tests | ||
| .editorconfig | ||
| .gitignore | ||
| .neoconf.json | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| init.lua | ||
| LICENSE | ||
| NEWS.md | ||
| README-CN.md | ||
| README-DE.md | ||
| README-ES.md | ||
| README-IT.md | ||
| README-JP.md | ||
| README-KO.md | ||
| README-PT.md | ||
| README.md | ||
| selene.toml | ||
| stylua.toml | ||
| vim.yml | ||
Install · Configure · Docs
LazyVim is a Neovim setup powered by 💤 lazy.nvim to make it easy to customize and extend your config. Rather than having to choose between starting from scratch or using a pre-made distro, LazyVim offers the best of both worlds - the flexibility to tweak your config as needed, along with the convenience of a pre-configured setup.
✨ Features
- 🔥 Transform your Neovim into a full-fledged IDE
- 💤 Easily customize and extend your config with lazy.nvim
- 🚀 Blazingly fast
- 🧹 Sane default settings for options, autocmds, and keymaps
- 📦 Comes with a wealth of plugins pre-configured and ready to use
⚡️ Requirements
- Neovim >= 0.11.2 (needs to be built with LuaJIT)
- Git >= 2.19.0 (for partial clones support)
- a Nerd Font (optional)
- a C compiler for
nvim-treesitter. See here
🚀 Getting Started
You can find a starter template for LazyVim here
Try it with Docker
docker run -w /root -it --rm alpine:edge sh -uelic '
apk add git lazygit fzf curl neovim ripgrep alpine-sdk --update
git clone https://github.com/LazyVim/starter ~/.config/nvim
cd ~/.config/nvim
nvim
'
Install the LazyVim Starter
-
Make a backup of your current Neovim files:
mv ~/.config/nvim ~/.config/nvim.bak mv ~/.local/share/nvim ~/.local/share/nvim.bak -
Clone the starter
git clone https://github.com/LazyVim/starter ~/.config/nvim -
Remove the
.gitfolder, so you can add it to your own repo laterrm -rf ~/.config/nvim/.git -
Start Neovim!
nvimRefer to the comments in the files on how to customize LazyVim.
There's a great video created by @elijahmanor with a walkthrough to get started.
@dusty-phillips wrote a comprehensive book called LazyVim for Ambitious Developers available for free online.
📂 File Structure
The files under config will be automatically loaded at the appropriate time, so you don't need to require those files manually. LazyVim comes with a set of default config files that will be loaded before your own. See here
You can add your custom plugin specs under lua/plugins/. All files there
will be automatically loaded by lazy.nvim
~/.config/nvim ├── lua │ ├── config │ │ ├── autocmds.lua │ │ ├── keymaps.lua │ │ ├── lazy.lua │ │ └── options.lua │ └── plugins │ ├── spec1.lua │ ├── ** │ └── spec2.lua └── init.lua
⚙️ Configuration
Refer to the docs


