Skip to content

Language Configuration Details

For more information on any of the language configurations you can go directly to the configuration file by clicking on the language name.

Go

  • LSP: gopls
  • Formatter: LSP Builtin (gofmt)
  • Additional plugins:
    • ray-x/go.nvim
    • leoluz/nvim-dap-go
  • Notes: Requires go to be installed.

Java

  • LSP: Jdtls
  • Formatter: LSP Builtin
  • Additional Plugins:
    • mfussenegger/nvim-jdtls

C Sharp

  • LSP: Omnisharp
  • Formatter: LSP Builtin
  • Additional Plugins: None
  • Notes: Requires dotnet

F Sharp

  • LSP: fsautocomplete
  • Formatter: fantomas
  • Additional Plugins: None
  • Notes: Requires dotnet

Rust

  • LSP: Rust Analyzer (plugin configured)
  • Formatter: rustfmt (plugin configured)
  • Additional Plugins:
    • mrcjkb/rustaceanvim
  • Notes: Uses your systems rust analyzer and rustfmt. It will automatically install them if rustup is installed.

C/Cpp

  • LSP: Clangd
  • Formatter: LSP Builtin
  • Additional Plugins:
    • p00f/clangd_extensions.nvim

Zig

  • LSP: Zls
  • Formatter: LSP Builtin
  • Additional Plugins: None

Odin

  • LSP: Ols
  • Formatter: LSP Builtin
  • Additional Plugins: None

Scala

  • LSP: metals (plugin configured)
  • Formatter: LSP Builtin
  • Additional Plugins:
    • scalameta/nvim-metals - does most of the heavy lifting as far as debugging and lsp goes
  • Notes: Requires coursier to be installed

Ocaml

  • LSP: ocaml-lsp
  • Formatter: ocamlfmt
  • Additional Plugins: None
  • Notes: Requires opam to be installed

Elixir

  • LSP: elixir-ls
  • Formatter: LSP Builtin
  • Additional Plugins: None
  • Notes: Requires elixir and often times erlang to be installed. There are debugging profiles set up according to the documentation however I have been unable to verify they work.

Python

  • LSP: Based Pyright
  • Formatter: isort and black
  • Additional Plugins:
    • mfussenegger/nvim-dap-python

Ruby

  • LSP: solargraph
  • Formatter: LSP Builtin
  • Additional Plugins:
    • suketa/nvim-dap-ruby: Sets up debugging

PHP

  • LSP: intelephense
  • Formatter: Pint
  • Linter: php-stan
  • Additional Plugins: None
  • Notes: For debugging to work make sure you have xdebug properly set up.

Bash

  • LSP: Bashls
  • Formatter: Shfmt
  • Additional Plugins: None

Lua

  • LSP: Luals
  • Formatter: Stylua
  • Additional Plugins:
    • folke/lazydev.nvim

Javascript/Typescript

  • LSP: Typescript Language Server (plugin configured)
  • Formatter: Prettierd
  • Additional Plugins:
    • pmizio/typescript-tools.nvim

Latex

  • LSP: Texlab
  • Formatter: LSP Builtin
  • Additional Plugins:
    • lervag/vimtex

Markdown

  • LSP: Marksman
  • Formatter: None
  • Additional Plugins:
    • MeanderingProgrammer/render-markdown.nvim

HTML

  • LSP: Emmetls, Htmlls
  • Formatter: LSP Builtin
  • Additional Plugins: None

CSS

  • LSP: Cssls
  • Formatter: LSP Builtin
  • Additional Plugins: None

Tailwind

  • LSP: Cssls, Tailwind language server
  • Formatter: LSP Builtin
  • Additional Plugins: None