{
  "name": "coc-clangd",
  "version": "0.33.0",
  "description": "clangd extension for coc.nvim",
  "author": "Heyward Fann <fannheyward@gmail.com>",
  "license": "Apache-2.0 WITH LLVM-exception",
  "main": "lib/index.js",
  "keywords": [
    "coc.nvim"
  ],
  "engines": {
    "coc": "^0.0.80"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/clangd/coc-clangd.git"
  },
  "scripts": {
    "build": "node esbuild.js",
    "watch": "node esbuild.js --watch",
    "format": "biome format --write src/**",
    "check": "biome check src/**",
    "prepare": "node esbuild.js"
  },
  "devDependencies": {
    "@biomejs/biome": "^2.4.15",
    "@clangd/install": "^0.1.20",
    "@types/node": "16",
    "coc.nvim": "^0.0.83-next.18",
    "esbuild": "^0.28.0",
    "fs-jetpack": "^5.1.0",
    "typescript": "^6.0.3"
  },
  "activationEvents": [
    "onLanguage:c",
    "onLanguage:cpp",
    "onLanguage:cuda",
    "onLanguage:objc",
    "onLanguage:objcpp",
    "onLanguage:opencl",
    "onLanguage:objective-c",
    "onLanguage:objective-cpp"
  ],
  "rootPatterns": [
    {
      "patterns": [
        ".clangd",
        ".clang-tidy",
        ".clang-format",
        "compile_commands.json",
        "compile_flags.txt"
      ]
    }
  ],
  "contributes": {
    "configuration": {
      "type": "object",
      "title": "coc-clangd configuration",
      "properties": {
        "clangd.enabled": {
          "type": "boolean",
          "default": true,
          "description": "Enable coc-clangd extension"
        },
        "clangd.disableDiagnostics": {
          "type": "boolean",
          "default": false,
          "description": "Disable diagnostics from clangd"
        },
        "clangd.disableCompletion": {
          "type": "boolean",
          "default": false,
          "description": "Disable completion source from clangd"
        },
        "clangd.disableSnippetCompletion": {
          "type": "boolean",
          "default": false,
          "description": "Disable completion snippet from clangd"
        },
        "clangd.disableProgressNotifications": {
          "type": "boolean",
          "default": false,
          "description": "Disable indexing progress notifications from clangd"
        },
        "clangd.disableFileStatus": {
          "type": "boolean",
          "default": false,
          "description": "Disable fileStatus from clangd"
        },
        "clangd.compilationDatabasePath": {
          "type": "string",
          "default": "",
          "description": "Specifies the directory containing the compilation database"
        },
        "clangd.compilationDatabaseCandidates": {
          "type": "array",
          "default": [],
          "description": "Specifies the directories that may contain a compilation database"
        },
        "clangd.path": {
          "type": "string",
          "default": "",
          "description": "The path to clangd executable, e.g.: /usr/bin/clangd"
        },
        "clangd.arguments": {
          "type": "array",
          "default": [],
          "items": {
            "type": "string"
          },
          "description": "Arguments for clangd server"
        },
        "clangd.trace.file": {
          "type": "string",
          "default": "",
          "description": "Names a file that clangd should log a performance trace to, in chrome trace-viewer JSON format, can be loaded in `chrome://tracing`."
        },
        "clangd.trace.server": {
          "type": "string",
          "enum": [
            "off",
            "messages",
            "verbose"
          ],
          "default": "off",
          "description": "Trace requests to clangd"
        },
        "clangd.fallbackFlags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": [],
          "description": "Extra clang flags used to parse files when no compilation database is found."
        },
        "clangd.showDBChangedNotification": {
          "type": "boolean",
          "default": true,
          "description": "Show notifications while DB files changed"
        },
        "clangd.checkUpdates": {
          "type": "boolean",
          "default": false,
          "description": "Check for clangd language server updates on startup."
        }
      }
    },
    "commands": [
      {
        "command": "clangd.ast",
        "title": "Show AST"
      },
      {
        "command": "clangd.switchSourceHeader",
        "title": "Switch between source/header"
      },
      {
        "command": "clangd.symbolInfo",
        "title": "Resolve symbol info under the cursor"
      },
      {
        "command": "clangd.memoryUsage",
        "title": "Show memory usage"
      },
      {
        "command": "clangd.projectConfig",
        "title": "Open project configuration file"
      },
      {
        "command": "clangd.userConfig",
        "title": "Open user configuration file"
      },
      {
        "command": "clangd.install",
        "title": "Install latest clangd language server binary release"
      },
      {
        "command": "clangd.update",
        "title": "Check for updates to clangd language server"
      }
    ]
  }
}