{
  "name": "@yaegassy/coc-ansible",
  "version": "0.15.2",
  "description": "ansible-language-server extension for coc.nvim",
  "author": "yaegassy <yosstools@gmail.com>",
  "license": "MIT",
  "main": "lib/index.js",
  "keywords": [
    "coc.nvim",
    "ansible",
    "vim",
    "neovim"
  ],
  "engines": {
    "coc": "^0.0.80"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/yaegassy/coc-ansible"
  },
  "publishConfig": {
    "access": "public"
  },
  "scripts": {
    "lint": "eslint src --ext ts",
    "clean": "rimraf lib",
    "watch": "node esbuild.js --watch",
    "build": "node esbuild.js",
    "prepare": "node esbuild.js"
  },
  "prettier": {
    "singleQuote": true,
    "printWidth": 120,
    "semi": true
  },
  "devDependencies": {
    "@types/node": "^18.16.19",
    "@types/which": "^2.0.1",
    "@typescript-eslint/eslint-plugin": "^6.0.0",
    "@typescript-eslint/parser": "^6.0.0",
    "coc.nvim": "^0.0.82",
    "esbuild": "^0.16.17",
    "eslint": "^8.43.0",
    "eslint-config-prettier": "^8.8.0",
    "eslint-plugin-prettier": "^4.2.1",
    "prettier": "^2.8.8",
    "rimraf": "^5.0.1",
    "typescript": "~5.0.4",
    "which": "^2.0.2"
  },
  "activationEvents": [
    "onLanguage:ansible",
    "onLanguage:yaml.ansible"
  ],
  "contributes": {
    "jsonValidation": [
      {
        "fileMatch": [
          ".ansible-navigator.json",
          "ansible-navigator.json"
        ],
        "url": "https://raw.githubusercontent.com/ansible/ansible-navigator/main/src/ansible_navigator/data/ansible-navigator.json"
      }
    ],
    "yamlValidation": [
      {
        "fileMatch": [
          "execution-environment.yml"
        ],
        "url": "https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/execution-environment.json"
      },
      {
        "fileMatch": [
          "meta/runtime.yml"
        ],
        "url": "https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/meta-runtime.json"
      },
      {
        "fileMatch": [
          ".ansible-navigator.yaml",
          ".ansible-navigator.yml",
          "ansible-navigator.yaml",
          "ansible-navigator.yml"
        ],
        "url": "https://raw.githubusercontent.com/ansible/ansible-navigator/main/src/ansible_navigator/data/ansible-navigator.json"
      },
      {
        "fileMatch": "requirements.yml",
        "url": "https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/requirements.json"
      },
      {
        "fileMatch": "meta/main.yml",
        "url": "https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/meta.json"
      },
      {
        "fileMatch": [
          "playbooks/vars/*.yml",
          "playbooks/vars/*.yaml",
          "vars/*.yml",
          "vars/*.yaml",
          "defaults/*.yml",
          "defaults/*.yaml",
          "host_vars/*.yml",
          "host_vars/*.yaml",
          "group_vars/*.yml",
          "group_vars/*.yaml"
        ],
        "url": "https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/vars.json"
      },
      {
        "fileMatch": [
          ".ansible-lint",
          ".config/ansible-lint.yml"
        ],
        "url": "https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/ansible-lint-config.json"
      },
      {
        "fileMatch": [
          "molecule/*/molecule.yml"
        ],
        "url": "https://raw.githubusercontent.com/ansible-community/molecule/main/src/molecule/data/molecule.json"
      },
      {
        "fileMatch": [
          "galaxy.yml"
        ],
        "url": "https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/galaxy.json"
      },
      {
        "fileMatch": [
          "rulebooks/*.yaml",
          "rulebooks/*.yml"
        ],
        "url": "https://raw.githubusercontent.com/ansible/ansible-rulebook/main/schema/ruleset_schema.json"
      }
    ],
    "rootPatterns": [
      {
        "filetype": "ansible",
        "patterns": [
          "ansible.cfg",
          ".ansible-lint"
        ]
      },
      {
        "filetype": "yaml.ansible",
        "patterns": [
          "ansible.cfg",
          ".ansible-lint"
        ]
      }
    ],
    "configuration": {
      "type": "object",
      "title": "coc-ansible configuration",
      "properties": {
        "ansible.enable": {
          "type": "boolean",
          "default": true,
          "description": "Enable coc-ansible extension."
        },
        "ansible.disableProgressNotifications": {
          "type": "boolean",
          "default": false,
          "description": "Disable progress notifications from ansible-language-server"
        },
        "ansible.builtin.isWithYamllint": {
          "type": "boolean",
          "default": false,
          "description": "Whether to install yamllint the built-in installer."
        },
        "ansible.builtin.ansibleVersion": {
          "type": "string",
          "default": "",
          "description": "Version of ansible for built-in install."
        },
        "ansible.builtin.ansibleLintVersion": {
          "type": "string",
          "default": "",
          "description": "Version of ansible-lint for built-in install."
        },
        "ansible.builtin.force": {
          "type": "string",
          "default": "",
          "description": "Whether to force builtin tools instead those in the PATH"
        },
        "ansible.builtin.yamllintVersion": {
          "type": "string",
          "default": "",
          "description": "Version of yamllint for built-in install."
        },
        "ansible.ansible.path": {
          "scope": "resource",
          "type": "string",
          "default": "ansible",
          "description": "Path to the ansible executable. All subcommands are expected to have adjacent locations."
        },
        "ansible.ansible.useFullyQualifiedCollectionNames": {
          "scope": "resource",
          "type": "boolean",
          "default": true,
          "description": "Always use fully qualified collection names (FQCN) when inserting a module name. Disabling it will only use FQCNs when necessary."
        },
        "ansible.python.interpreterPath": {
          "scope": "resource",
          "type": "string",
          "default": "",
          "description": "Path to the python/python3 executable. This settings may be used to make the extension work with ansible and ansible-lint installations in a python virtual environment"
        },
        "ansible.python.activationScript": {
          "scope": "resource",
          "type": "string",
          "default": "",
          "description": "Path to the virtual environment activation script. Use only if you have a custom activation script. It will be sourced using bash before executing Ansible commands. When set, the Interpreter Path setting is ignored."
        },
        "ansible.validation.enabled": {
          "scope": "resource",
          "type": "boolean",
          "default": true,
          "description": "Toggle validation provider. If enabled and ansible-lint is disabled, validation falls back to ansible-playbook --syntax-check."
        },
        "ansible.validation.lint.enabled": {
          "scope": "resource",
          "type": "boolean",
          "default": true,
          "description": "Toggle usage of ansible-lint."
        },
        "ansible.validation.lint.path": {
          "scope": "resource",
          "type": "string",
          "default": "ansible-lint",
          "description": "Path to the ansible-lint executable."
        },
        "ansible.validation.lint.arguments": {
          "scope": "resource",
          "type": "string",
          "default": "",
          "description": "Optional command line arguments to be appended to ansible-lint invocation."
        },
        "ansible.ansibleDoc.path": {
          "scope": "resource",
          "type": "string",
          "default": "ansible-doc",
          "description": "Path to the ansible-doc executable."
        },
        "ansible.ansibleDoc.enableSplitRight": {
          "type": "boolean",
          "default": true,
          "description": "Use vertical belowright for ansible-doc terminal window."
        },
        "ansible.ansibleNavigator.path": {
          "default": "ansible-navigator",
          "description": "Points to the ansible-navigator executable.",
          "scope": "machine-overridable",
          "type": "string"
        },
        "ansible.executionEnvironment.containerEngine": {
          "scope": "resource",
          "type": "string",
          "enum": [
            "auto",
            "podman",
            "docker"
          ],
          "default": "auto",
          "description": "Specify the container engine (auto=podman then docker)."
        },
        "ansible.executionEnvironment.enabled": {
          "scope": "resource",
          "type": "boolean",
          "default": false,
          "description": "Enable or disable the use of an execution environment."
        },
        "ansible.executionEnvironment.image": {
          "scope": "resource",
          "type": "string",
          "default": "quay.io/ansible/creator-ee:latest",
          "description": "Specify the name of the execution environment image."
        },
        "ansible.executionEnvironment.containerOptions": {
          "scope": "resource",
          "type": "string",
          "default": "",
          "description": "Extra parameters passed to the container engine command example: '--net=host'"
        },
        "ansible.executionEnvironment.pull.arguments": {
          "scope": "resource",
          "type": "string",
          "default": "",
          "description": "Specify any additional parameters that should be added to the pull command when pulling an execution environment from a container registry. e.g. '--tls-verify=false'"
        },
        "ansible.executionEnvironment.pullPolicy": {
          "scope": "resource",
          "type": "string",
          "enum": [
            "always",
            "missing",
            "never",
            "tag"
          ],
          "default": "missing",
          "description": "Specify the image pull policy.\nalways: Always pull the image when extension is activated or reloaded\nmissing: Pull if not locally available\nnever: Never pull the image\ntag: If the image tag is 'latest', always pull the image, otherwise pull if not locally available"
        },
        "ansible.executionEnvironment.volumeMounts": {
          "scope": "resource",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "src": {
                "type": "string",
                "description": "The name of the local volume or path to be mounted within execution environment."
              },
              "dest": {
                "type": "string",
                "description": "The path where the file or directory are mounted in the container."
              },
              "options": {
                "type": "string",
                "description": "The field is optional, and is a comma-separated list of options, such as ro,Z"
              }
            }
          }
        },
        "ansible.completion.provideRedirectModules": {
          "scope": "resource",
          "type": "boolean",
          "default": true,
          "description": "Toggle redirected module provider when completing modules."
        },
        "ansible.completion.provideModuleOptionAliases": {
          "scope": "resource",
          "type": "boolean",
          "default": true,
          "description": "Toggle alias provider when completing module options."
        },
        "ansible.dev.serverPath": {
          "type": "string",
          "default": "",
          "description": "Absolute path to ansible language server module. If it is not set, use the extention's server module. (For develop and check)"
        },
        "ansibleServer.trace.server": {
          "type": "string",
          "enum": [
            "off",
            "messages",
            "verbose"
          ],
          "default": "off",
          "description": "Traces the communication between coc.nvim and the ansible language server."
        }
      }
    },
    "commands": [
      {
        "command": "ansible.builtin.installRequirementsTools",
        "title": "Install ansible, ansible-lint and yamllint(optional) with extension's venv"
      },
      {
        "command": "ansible.server.restart",
        "title": "Restart ansible language server"
      },
      {
        "command": "ansible.server.showMetaData",
        "title": "Show ansible-metadata for ansible language server"
      },
      {
        "command": "ansible.server.resyncAnsibleInventory",
        "title": "Resync Ansible Inventory"
      },
      {
        "command": "ansible.ansbileDoc.showInfo",
        "title": "Run the `ansible-doc` command in a terminal window with various options to display information about the plugins"
      },
      {
        "command": "ansible.ansbileDoc.showSnippets",
        "title": "Run the `ansible-doc` command in a terminal window with various options to display a snippets of the plugins."
      }
    ]
  },
  "dependencies": {
    "@ansible/ansible-language-server": "^26.6.0"
  },
  "packageManager": "yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447"
}
