Skip to content

Table of compilers

Zeioth edited this page Aug 11, 2023 · 80 revisions

As you probably know, compiler.nvim is just a user interface that calls the right compiler depending the filetype of the buffer you are editing. This means you will need to have the actual compiler installed on your system to be able to compile. These are the compilers we use to compile every language:

Language Compiler Default arguments (show warnings + enable debug mode)
c gcc -Wall -g
c++ g++ -Wall -g
c# csc -warn:4 /debug
java javac -Xlint:all
rust rustc -D warnings -g
go go build -a -gcflags='-N -l'
python python (interpreted), nuitka (machine code), pyinstaller (bytecode) "" (interpreted), --warn-implicit-exceptions --warn-unusual-code (machine code), --log-level WARN --python-option W (bytecode)
ruby ruby ""
lua lua ""
perl perl ""
asm x86-64 nasm to compile and mingw-w64 to call the linker ld -g
shell sh ""
make make ""

This information is important so you can pass your own arguments to the compiler using a .solution file if you decide to do so, instead of using the default ones.

If you want to use a different compiler, you can fork the project and edit your language in /compiler/languages/ or creating a Makefile.