diff --git a/.devcontainer/nouveau/devcontainer.json b/.devcontainer/nouveau/devcontainer.json index aa27d10..7dd4f9f 100644 --- a/.devcontainer/nouveau/devcontainer.json +++ b/.devcontainer/nouveau/devcontainer.json @@ -34,7 +34,7 @@ "esbenp.prettier-vscode", "xaver.clang-format", "charliermarsh.ruff", - "jeff-hykin.better-cpp-syntax" + "ms-vscode.cmake-tools" ] } } diff --git a/.devcontainer/nvidia/devcontainer.json b/.devcontainer/nvidia/devcontainer.json index 067f409..8d8f111 100644 --- a/.devcontainer/nvidia/devcontainer.json +++ b/.devcontainer/nvidia/devcontainer.json @@ -38,8 +38,7 @@ "esbenp.prettier-vscode", "xaver.clang-format", "charliermarsh.ruff", - "ms-python.black-formatter", - "jeff-hykin.better-cpp-syntax" + "ms-vscode.cmake-tools" ] } } diff --git a/.docker/Dockerfile b/.docker/Dockerfile index 5b44cfb..35b0c5e 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -62,7 +62,8 @@ COPY --chown=$USER_UID:$USER_GID . src/$PROJECT_NAME ENV VIRTUAL_ENV=$USER_WORKSPACE/.venv/$PROJECT_NAME RUN python3 -m venv --system-site-packages $VIRTUAL_ENV \ && echo "source ${VIRTUAL_ENV}/bin/activate" >> /home/$USERNAME/.bashrc \ - && touch .venv/COLCON_IGNORE + && touch .venv/COLCON_IGNORE \ + && echo "\n# Ensure colcon is run in the venv\nalias colcon='python3 -m colcon'" >> /home/$USERNAME/.bashrc ENV PATH="$VIRTUAL_ENV/bin:$PATH" # Uncomment to download and install external repos used by the project @@ -115,6 +116,6 @@ RUN sudo apt-get update \ && sudo rm -rf /var/lib/apt/lists/* # Env vars for the nvidia-container-runtime. -ENV NVIDIA_VISIBLE_DEVICES all -ENV NVIDIA_DRIVER_CAPABILITIES graphics,utility,compute -ENV QT_X11_NO_MITSHM 1 +ENV NVIDIA_VISIBLE_DEVICES=all +ENV NVIDIA_DRIVER_CAPABILITIES=graphics,utility,compute +ENV QT_X11_NO_MITSHM=1 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9d35030..78b2ef4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,15 +10,16 @@ repos: hooks: - id: codespell - - repo: local + - repo: https://github.com/pre-commit/mirrors-clang-format + rev: v18.1.8 hooks: - - id: clang-format - name: clang-format - description: Format files with ClangFormat. - entry: clang-format-18 - language: system - files: \.(c|cc|cxx|cpp|frag|glsl|h|hpp|hxx|ih|ispc|ipp|java|js|m|proto|vert)$ - args: ['-fallback-style=Google', '-i'] + - id: clang-format + types_or: [c++, c] + + - repo: https://github.com/BlankSpruce/gersemi + rev: 0.13.5 + hooks: + - id: gersemi - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.4.0 diff --git a/.vscode/settings.json b/.vscode/settings.json index a96abea..00b180e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -37,6 +37,8 @@ "C_Cpp.codeAnalysis.clangTidy.enabled": true, "C_Cpp.codeAnalysis.clangTidy.codeAction.formatFixes": true, "clang-format.executable": "/usr/bin/clang-format-18", + "xml.format.maxLineWidth": 120, + "xml.format.splitAttributes": "alignWithFirstAttr", "[cpp]": { "editor.rulers": [120], "editor.tabSize": 2, @@ -73,5 +75,6 @@ "**/build": true, "**/install": true, "**/log": true - } + }, + "cmake.ignoreCMakeListsMissing": true } diff --git a/example_pkg/CMakeLists.txt b/example_pkg/CMakeLists.txt index e0393a8..46ab994 100644 --- a/example_pkg/CMakeLists.txt +++ b/example_pkg/CMakeLists.txt @@ -1,12 +1,10 @@ cmake_minimum_required(VERSION 3.8) project(example_pkg) -set(THIS_PACKAGE_INCLUDE_DEPENDS - ament_cmake -) +set(THIS_PACKAGE_INCLUDE_DEPENDS ament_cmake) foreach(Dependency IN ITEMS ${THIS_PACKAGE_INCLUDE_DEPENDS}) - find_package(${Dependency} REQUIRED) + find_package(${Dependency} REQUIRED) endforeach() ament_package()