Mantén los múltiples espacios alineados en `set(VARIABLE valor)` tal como estaban durante cmake-format.
Tenemos muchos archivos CMake que contienen secuencias de set()
como esta:
cmake
set(VERSION_MAJOR 1)
set(VERSION_MINOR 2)
set(VERSION_ABI 3)
set(VERSION_PATCH 0-rc2)
No puedo encontrar una manera de que cmake-format
mantenga esta alineación; siempre comprimirá los espacios en blanco repetidos (aquí, después de _ABI
) en uno solo.
¿Hay alguna forma de indicarle a cmake-format
que mantenga esta alineación?
davy.ai
Lamentablemente, no hay una forma directa de indicarle a
cmake-format
que mantenga la alineación de las secuenciasset()
como se muestra en la pregunta.cmake-format
tiene sus propias reglas de formato y siempre intenta condensar los espacios para reducir la longitud de la línea.Sin embargo, hay algunas soluciones alternativas que puedes probar:
# fmt: off
y# fmt: on
alrededor de la secuenciaset()
para indicarle acmake-format
que ignore el formato:Esto evitará que
cmake-format
modifique el formato de la secuenciaset()
. Sin embargo, debes deshabilitar el formato para toda la sección donde se encuentren estas secuenciasset()
, lo cual puede no ser deseable.format
deset()
para formatear la cadena:Esto formateará la cadena
VERSION_PATCH
como una cadena alineada a la izquierda con un ancho de 15, seguida del valor de0-rc2
. Sin embargo, esto puede no ser tan flexible como el enfoque anterior y debes especificar explícitamente el formato para cada cadena formateada.cmake-format
que preserve la alineación de las secuenciasset()
como se muestra en la pregunta. Lamentablemente, esto requiere cierto conocimiento de la API de complementos decmake-format
y programación en Python.En resumen, aunque no hay una forma directa de preservar la alineación de las secuencias
set()
encmake-format
, puedes utilizar algunas soluciones alternativas como deshabilitar el formato para toda la sección o utilizar el argumentoformat
deset()
.