ARDUINO-LANGUAGE-SERVER(1)
π ARDUINO-LANGUAGE-SERVER π
okay bestie, this is the manual page for arduino-language-server, part of the General Commands Manual crew. Yes it's a command, yes it lives in your terminal, but no, it's not really for you. Plot twist incoming π
β¨ NAME β¨
arduino-language-server β the Arduino Language Server, built on Clangd, here to serve you that sweet, sweet code autocompletion π
π SYNOPSIS π
arduino-language-server [OPTION]...
π DESCRIPTION π
so here's the tea, and I need you to hear me on this one: this language server is NOT meant to be used directly by humans from the command line terminal. like, at all. that's not its vibe. its whole purpose β its main character moment β is to hand C++/.ino language functionality over to your IDEs. so basically, it's the IDE that talks to the language server, over stdin/stdout, using the slightly modified JSONRPC protocol laid out in the LSP specification. iykyk π§
to actually get the language server started, you need an arduino-cli(1) config file. no config, no server, that's the rule. and bestie, making one is so easy, you literally just run:
arduino-cli config init
periodt. β¨
π OPTIONS π
one bullet per flag, no skipping, we're thorough in this house π
-board-namestring β the user-friendly board name to start out with. and yes, it can be changed via JSON-RPC later, so don't stress about locking it in π-clangdstring β path to theclangdexecutable-clistring β path to thearduino-cliexecutable-cli-configstring β path to thearduino-cliconfig file-cli-daemon-addrstring β the TCP address and port of the Arduino CLI daemon (for example:localhost:50051)-cli-daemon-instanceint β instance number of the Arduino CLI daemon (default-1)-format-conf-pathstring β path to the globalclang-formatconfiguration file-fqbnstring β the fully qualified board name to start out with. also can be changed via JSON-RPC, so flexible queen π-jobsint β max number of parallel jobs. Default is1. Use0to match the number of available CPU cores. (default-1)-logβ enable logging to files ποΈ-logpathstring β where to write those logging files to when logging is enabled (default".")-no-real-time-diagnosticsβ disable real time diagnostics-skip-libraries-discovery-on-rebuildβ skip libraries discovery on rebuild. it'll make rebuilds faster, but heads up: it will fail if the used libraries changes. so like, tradeoffs, bestie π
πΈ SEE ALSO πΈ
arduino-cli(1), clangd(1)
that's the whole page, bestie. this is arduino-language-server version 0.8.0-rc.1, dated 2026-08-14 β go forth and let your IDE do the talking π«Άπβ¨
π¦ where this page comes from
- ubuntu stonking: arduino-language-server 0.8.0~rc1+ds1-1 Β· AGPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms