# ycmd

A code-completion and code-comprehension server providing semantic GoTo commands and, for some languages, diagnostics, originally built for the YouCompleteMe Vim plugin and now used by clients for Emacs, Atom, Sublime, VS Code, Kakoune, Geany and nano.

ycmd is a server that exposes APIs for code completion and other code-comprehension tasks such as semantic GoTo commands, and for certain file types, diagnostic errors and warnings. It was split out of the YouCompleteMe codebase so it could be used from editors besides Vim.

Known clients include YouCompleteMe for Vim, emacs-ycmd, an Atom client, Sublime clients, a Kakoune client, a VSCode client, a Geany client and a GNU nano client, and its API is documented for anyone building a new client.

Building it requires Python 3.12 or later, CMake, a C++ build toolchain, and per-language dependencies such as Go, npm, Mono or a JDK for the completers a build enables.

Website: https://ycm-core.github.io/ycmd/
