10

有没有办法让clang-format正确格式化 CMake 文件?

我有一个.clang-format文件Language: CppBasedOnStyle: Google. 没有指定其他语言。

理想情况下,我想自定义样式,但是现在最大的问题是,clang 格式缩进了很多行。文件越长,我得到的缩进级别就越多。

问题:

  1. 有没有办法让 clang-format 将 a 识别为与CppCMakeLists.txt不同的语言?
  2. clang-format 是否可以让我为 CMake 语言添加规则?
  3. 在这种情况下是否存在 clang-format 的替代方案?

例子

输入

cmake_minimum_required (VERSION 3.2)
project(HELLO)

add_executable (helloDemo demo.cxx demo_b.cxx)
add_executable (goodByeDemo goodbye.cxx goodbye_b.cxx)

实际输出

cmake_minimum_required(VERSION 3.2) project(HELLO)

    add_executable(helloDemo demo.cxx demo_b.cxx)
        add_executable(goodByeDemo goodbye.cxx goodbye_b.cxx)

预期输出:与输入相同。或者命令和括号之间可能没有空格。

4

1 回答 1

6
  1. 一个相关问题:是否有任何实用程序可以重新格式化 cmake 文件

  2. Clang-format 无法做到这一点,但现在存在替代方案:https ://github.com/cheshirekow/cmake_format

示例——错误的输入:

cmake_minimum_required(VERSION 3.2) project(HELLO)

    add_executable(helloDemo demo.cxx demo_b.cxx)
        add_executable(goodByeDemo goodbye.cxx goodbye_b.cxx)

命令:

pip install --user cmake_format  # Or sudo to install system-wide
cmake-format -i CMakeLists.txt

结果输出:

cmake_minimum_required(VERSION 3.2)
project(HELLO)

add_executable(helloDemo demo.cxx demo_b.cxx)
add_executable(goodByeDemo goodbye.cxx goodbye_b.cxx)
于 2018-11-29T01:04:29.590 回答