neocmakelsp

Another lsp for cmake made with rust powered by tower-lsp with lots of features. Neocmaklsp use the Language Server Protocol to provide variouse features of cmake, make it easier for developing c++ programs.

Completion, Jump and Reference Support

Support completing multi things, including package names, builtin commands, builtin modules, module path and etc. Also we have snippet support.

Support jumping to files, jumping to sub directories and jumping to packages.

Hover Support

Neocmakelsp support to use hover to get the information from builtin functions, packages, targets and so on. With the help of fileApi of cmake, it can get detailed information of compiling targets.

Highlight Support

Neocmakelsp supports semantic highlighting, powered by tree-sitter. On vscode, it will performance better than textMate

Gammar Check and Fix Action

It supports to find gammar error in a cmake file. It also support outer lint projects, you can config them in .neocmake.toml. It also supports to fix warning of too long line

Format Support

Neocmakelsp supports language server format. It can also be used as cli.

It is a very simple format, will make the code looks better, but also reserves the place for you to adjust some details.

You can also use extra format tools in neocmakelsp, with configuring the .neocmake.toml config file.

Other Features

Neocmakelsp also supports document symbols, document link, rename and etc.

It is also a cli tool which can be used as format stuff, target starter and etc.

Install for ...

Visual Studio Code

Install the neocmakelsp-vscode extension to get up and running as fast as possible

  1. Search for "neocmakelsp-vscode" in the extension marketplace.
  2. Download and install the extension.
  3. That's it! It's that easy! Happy Coding!

Neovim

  1. Install neocmakelsp
    1. From package manager
      • Scoop: scoop install neocmakelsp
      • Homebrew: brew install neocmakelsp
      • Macports: sudo port install neocmakelsp
    2. Build from stratch
      • Cargo: cargo install neocmakelsp
    3. Install from aur (Arch User Repository): paru -S neocmakelsp
  2. See Neovim's quickstart guide for neocmakelsp