// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-dockerfile
{
  "name": "RVX (Ubuntu 24.04)",
  "build": {
    // Sets the run context to one level up instead of the .devcontainer folder.
    "context": "..",
    // Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename.
    "dockerfile": "Dockerfile"
  },
  "runArgs": [
    "--hostname",
    "dev-container"
  ],
  "customizations": {
    "vscode": {
      "settings": {
        "verilog.ctags.path": "/usr/local/bin/ctags",
        "verilog.linting.linter": "verilator",
        "verilog.linting.verilator.includePath": [
          "${workspaceFolder}/rtl/"
        ],
        "verilog.linting.verilator.arguments": "-Wall --timing",
        "editor.tabSize": 2,
        "editor.detectIndentation": false,
        "verilog.formatting.verilogHDL.formatter": "verible-verilog-format",
        "verilog.formatting.veribleVerilogFormatter.arguments": "--flagfile=etc/.verible-format",
        "editor.formatOnSave": true,
        "cmake.ignoreCMakeListsMissing": true,
        "python.defaultInterpreterPath": "/opt/venv/bin/python",
        "C_Cpp.clang_format_style": "file:${workspaceFolder}/etc/.clang-format"
      },
      "extensions": [
        "ms-vscode.cpptools-extension-pack",
        "cschlosser.doxdocgen",
        "eamodio.gitlens",
        "ms-python.python",
        "ms-python.debugpy",
        "ms-python.vscode-pylance",
        "daohong-emilio.yash",
        "avetis.tokyo-night",
        "ms-dotnettools.vscode-dotnet-runtime",
        "ms-azuretools.vscode-docker",
        "mshr-h.veriloghdl"
      ]
    }
  },
  "remoteUser": "rvx"
}