{
  "name": "@yaegassy/coc-intelephense",
  "version": "0.35.4",
  "description": "intelephense (php language server) extension for coc.nvim",
  "author": "yaegassy <yosstools@gmail.com>",
  "license": "MIT",
  "main": "lib/index.js",
  "keywords": [
    "coc.nvim",
    "php",
    "intelephense",
    "vim",
    "neovim"
  ],
  "engines": {
    "coc": "^0.0.80"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/yaegassy/coc-intelephense.git"
  },
  "publishConfig": {
    "access": "public"
  },
  "scripts": {
    "snippets": "curl -o data/snippets/original/php.code-snippets https://raw.githubusercontent.com/microsoft/vscode/master/extensions/php/snippets/php.code-snippets && yarn snippets:generate",
    "snippets:generate": "node scripts/generate-snippets-extended.mjs",
    "snippets:check": "node scripts/upstream-snippets-check.mjs",
    "typecheck": "tsc --noEmit",
    "lint": "biome lint src/",
    "lint:fix": "biome lint --write src/",
    "format": "biome format src/",
    "format:fix": "biome format --write src/",
    "check": "biome check src/",
    "check:fix": "biome check --write src/",
    "check:summary": "biome check --reporter=summary src/",
    "clean": "rimraf lib",
    "watch": "node esbuild.js --watch",
    "build": "node esbuild.js",
    "prepare": "node esbuild.js",
    "test": "vitest run src/__tests__",
    "test:watch": "vitest src/__tests__"
  },
  "devDependencies": {
    "@biomejs/biome": "2.5.0",
    "@types/node": "^20.14.8",
    "coc.nvim": "0.0.83-next.17",
    "esbuild": "^0.16.17",
    "rimraf": "^5.0.1",
    "typescript": "~5.4",
    "vitest": "^0.33.0"
  },
  "activationEvents": [
    "onLanguage:php"
  ],
  "contributes": {
    "rootPatterns": [
      {
        "filetype": "php",
        "patterns": [
          "composer.json",
          "artisan"
        ]
      }
    ],
    "configuration": {
      "type": "object",
      "title": "coc-intelephense configuration",
      "properties": {
        "intelephense.enable": {
          "type": "boolean",
          "default": true,
          "description": "Enable coc-intelephense extension"
        },
        "intelephense.path": {
          "type": "string",
          "default": "",
          "description": "Path to intelephense module. ~ and $HOME, etc. can also be used. If there is no setting, the built-in module will be used."
        },
        "intelephense.client.diagnosticsIgnoreErrorFeature": {
          "type": "boolean",
          "default": false,
          "description": "Whether to enable the PHPDoc tag (`@intelephense-ignore-line`, `@intelephense-ignore-next-line`) feature and ignore errors."
        },
        "intelephense.client.autoCloseDocCommentDoSuggest": {
          "type": "boolean",
          "default": true,
          "description": "When `/**` is entered, `*/` is automatically inserted (`/**| */`). Then, automatically display the completion menu of PHPDoc comments."
        },
        "intelephense.client.disableScaffoldCompletion": {
          "type": "boolean",
          "default": false,
          "description": "Disable scaffold completion (client). Typing `class_scaffold`, `interface_scaffold`, `trait_scaffold`, `enum_scaffold` or `test_scaffold` will output completion suggestions. This completion feature will only work on the first line of the file."
        },
        "intelephense.client.disableSnippetsCompletion": {
          "type": "boolean",
          "default": false,
          "description": "Disable snippets completion only (client)."
        },
        "intelephense.client.snippetsCompletionExclude": {
          "type": "array",
          "default": [],
          "description": "Exclude specific prefix in snippet completion"
        },
        "intelephense.client.disableCodeLens": {
          "type": "boolean",
          "default": false,
          "description": "Disable code lens only (client)."
        },
        "intelephense.client.codelensProvider": {
          "type": "string",
          "default": "phpunit",
          "description": "Provider for CodeLens. Possible options include 'phpunit' and 'pest'",
          "enum": [
            "phpunit",
            "pest"
          ]
        },
        "intelephense.client.disableAddIskeyword": {
          "type": "boolean",
          "default": false,
          "description": "Disable the feature of the extension to add `iskeyword`."
        },
        "intelephense.server.disableCompletion": {
          "type": "boolean",
          "default": false,
          "description": "Disable completion only (server)."
        },
        "intelephense.server.disableDefinition": {
          "type": "boolean",
          "default": false,
          "description": "Disable definition only (server)."
        },
        "intelephense.composer.path": {
          "type": "string",
          "default": "composer",
          "description": "Path to composer command."
        },
        "intelephense.composer.runCommandList": {
          "type": "array",
          "default": [
            "dump-autoload",
            "clear-cache",
            "install",
            "update"
          ],
          "description": "Set the subcommand of the composer you want to execute."
        },
        "intelephense.composer.runCommandPlusList": {
          "type": "array",
          "default": [
            "require",
            "require --dev",
            "remove",
            "remove --dev",
            "update"
          ],
          "description": "Set the subcommand of the composer you want to execute. Additional strings can be entered and executed in the subcommand."
        },
        "intelephense.composer.enableSplitRight": {
          "type": "boolean",
          "default": false,
          "description": "Use vertical belowright for composer terminal window."
        },
        "intelephense.artisan.withoutArgumentsCommandList": {
          "type": "array",
          "default": [],
          "description": "List of commands to quickly execute `intelephense.artisan.runCommand` or `intelephense.sailArtisan.runCommand` without prompting for arguments or options, e.g. `[\"route:list\", \"clear-compiled\"]`."
        },
        "intelephense.artisan.enableSplitRight": {
          "type": "boolean",
          "default": false,
          "description": "Use vertical belowright for artisan terminal window."
        },
        "intelephense.symfony.withoutArgumentsCommandList": {
          "type": "array",
          "default": [],
          "description": "List of commands to quickly execute `intelephense.symfony.runCommand` without prompting for arguments or options."
        },
        "intelephense.symfony.enableSplitRight": {
          "type": "boolean",
          "default": false,
          "description": "Use vertical belowright for symfony terminal window."
        },
        "intelephense.phpunit.path": {
          "type": "string",
          "default": "",
          "description": "Path to phpunit command. If there is no setting, the vendor/bin/phpunit will be used."
        },
        "intelephense.phpunit.colors": {
          "type": "boolean",
          "default": false,
          "description": "Use colors in output (--colors)."
        },
        "intelephense.phpunit.debug": {
          "type": "boolean",
          "default": false,
          "description": "Display debugging information (--debug)."
        },
        "intelephense.phpunit.useSail": {
          "type": "boolean",
          "default": false,
          "description": "To run `sail phpunit` instead of `phpunit`"
        },
        "intelephense.phpunit.codeLensTitle": {
          "type": "string",
          "default": ">> [Run PHPUnit]",
          "description": "CodeLens title. Can be changed to any display."
        },
        "intelephense.phpunit.enableSplitRight": {
          "type": "boolean",
          "default": false,
          "description": "Use vertical belowright for phpunit terminal window."
        },
        "intelephense.pest.path": {
          "type": "string",
          "default": "",
          "description": "Path to Pest command. If there is no setting, the vendor/bin/pest will be used."
        },
        "intelephense.pest.doNotCacheResult": {
          "type": "boolean",
          "default": true,
          "description": "Do not write test results to cache file (--do-not-cache-result)."
        },
        "intelephense.pest.useSail": {
          "type": "boolean",
          "default": false,
          "description": "To run `sail pest` instead of `pest`"
        },
        "intelephense.pest.codeLensTitle": {
          "type": "string",
          "default": ">> [Run Pest]",
          "description": "CodeLens title. Can be changed to any display."
        },
        "intelephense.pest.enableSplitRight": {
          "type": "boolean",
          "default": false,
          "description": "Use vertical belowright for pest terminal window."
        },
        "intelephense.progress.enable": {
          "type": "boolean",
          "default": true,
          "description": "Enable progress window for indexing, If false, display with echo messages."
        },
        "intelephense.compatibility.correctForBaseClassStaticUnionTypes": {
          "type": "boolean",
          "default": true,
          "description": "Resolves `BaseClass|static` union types to `static` instead of `BaseClass`.",
          "scope": "window"
        },
        "intelephense.compatibility.correctForArrayAccessArrayAndTraversableArrayUnionTypes": {
          "type": "boolean",
          "default": true,
          "description": "Resolves `ArrayAccess` and `Traversable` implementations that are unioned with a typed array to generic syntax. eg `ArrayAccessOrTraversable|ElementType[]` => `ArrayAccessOrTraversable<mixed, ElementType>`.",
          "scope": "window"
        },
        "intelephense.compatibility.preferPsalmPhpstanPrefixedAnnotations": {
          "type": "boolean",
          "default": false,
          "description": "Prefer `@psalm-` and `@phpstan-` prefixed `@return`, `@var`, `@param` tags when determining symbol types.",
          "scope": "window"
        },
        "intelephense.files.maxSize": {
          "type": "number",
          "default": 1000000,
          "description": "Maximum file size in bytes.",
          "scope": "window"
        },
        "intelephense.files.associations": {
          "type": "array",
          "default": [
            "*.php",
            "*.phtml"
          ],
          "description": "Configure glob patterns to make files available for language server features. Inherits from files.associations.",
          "scope": "window"
        },
        "intelephense.files.exclude": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": [
            "**/.git/**",
            "**/.svn/**",
            "**/.hg/**",
            "**/CVS/**",
            "**/.DS_Store/**",
            "**/node_modules/**",
            "**/bower_components/**",
            "**/vendor/**/{Tests,tests}/**",
            "**/.history/**",
            "**/vendor/**/vendor/**"
          ],
          "description": "Configure glob patterns to exclude certain files and folders from all language server features. Inherits from files.exclude.",
          "scope": "resource"
        },
        "intelephense.stubs": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "aerospike",
              "amqp",
              "apache",
              "apcu",
              "ast",
              "bcmath",
              "blackfire",
              "brotli",
              "bz2",
              "calendar",
              "cassandra",
              "com_dotnet",
              "Core",
              "couchbase",
              "couchbase_v3",
              "crypto",
              "ctype",
              "cubrid",
              "curl",
              "date",
              "dba",
              "decimal",
              "dio",
              "dom",
              "ds",
              "eio",
              "elastic_apm",
              "enchant",
              "Ev",
              "event",
              "exif",
              "expect",
              "fann",
              "FFI",
              "ffmpeg",
              "fileinfo",
              "filter",
              "fpm",
              "ftp",
              "gd",
              "gearman",
              "geoip",
              "geos",
              "gettext",
              "gmagick",
              "gmp",
              "gnupg",
              "grpc",
              "hash",
              "http",
              "ibm_db2",
              "iconv",
              "igbinary",
              "imagick",
              "imap",
              "inotify",
              "interbase",
              "intl",
              "json",
              "jsonpath",
              "judy",
              "ldap",
              "leveldb",
              "libevent",
              "libsodium",
              "libvirt-php",
              "libxml",
              "litespeed",
              "lua",
              "LuaSandbox",
              "lzf",
              "mailparse",
              "mapscript",
              "maxminddb",
              "mbstring",
              "mcrypt",
              "memcache",
              "memcached",
              "meminfo",
              "meta",
              "ming",
              "mongo",
              "mongodb",
              "mosquitto-php",
              "mqseries",
              "msgpack",
              "mssql",
              "mysql",
              "mysqli",
              "mysql_xdevapi",
              "ncurses",
              "newrelic",
              "oauth",
              "oci8",
              "odbc",
              "openssl",
              "opentelemetry",
              "pam",
              "parallel",
              "Parle",
              "pcntl",
              "pcov",
              "pcre",
              "pdflib",
              "PDO",
              "pgsql",
              "Phar",
              "phpdbg",
              "posix",
              "pq",
              "pspell",
              "pthreads",
              "radius",
              "random",
              "rar",
              "rdkafka",
              "readline",
              "recode",
              "redis",
              "Reflection",
              "regex",
              "relay",
              "rpminfo",
              "rrd",
              "SaxonC",
              "session",
              "shmop",
              "simdjson",
              "simple_kafka_client",
              "SimpleXML",
              "snappy",
              "snmp",
              "soap",
              "sockets",
              "sodium",
              "solr",
              "SPL",
              "SplType",
              "SQLite",
              "sqlite3",
              "sqlsrv",
              "ssh2",
              "standard",
              "stats",
              "stomp",
              "suhosin",
              "superglobals",
              "svm",
              "svn",
              "swoole",
              "sybase",
              "sync",
              "sysvmsg",
              "sysvsem",
              "sysvshm",
              "tidy",
              "tokenizer",
              "uopz",
              "uploadprogress",
              "uri",
              "uuid",
              "uv",
              "v8js",
              "wddx",
              "win32service",
              "winbinder",
              "wincache",
              "wordpress",
              "xcache",
              "xdebug",
              "xdiff",
              "xhprof",
              "xlswriter",
              "xml",
              "xmlreader",
              "xmlrpc",
              "xmlwriter",
              "xsl",
              "xxtea",
              "yaf",
              "yaml",
              "yar",
              "zend",
              "ZendCache",
              "ZendDebugger",
              "Zend OPcache",
              "ZendUtils",
              "zip",
              "zlib",
              "zmq",
              "zookeeper",
              "zstd"
            ]
          },
          "default": [
            "apache",
            "bcmath",
            "bz2",
            "calendar",
            "com_dotnet",
            "Core",
            "ctype",
            "curl",
            "date",
            "dba",
            "dom",
            "enchant",
            "exif",
            "FFI",
            "fileinfo",
            "filter",
            "fpm",
            "frankenphp",
            "ftp",
            "gd",
            "gettext",
            "gmp",
            "hash",
            "iconv",
            "imap",
            "intl",
            "json",
            "ldap",
            "libxml",
            "mbstring",
            "meta",
            "mysqli",
            "oci8",
            "odbc",
            "openssl",
            "pcntl",
            "pcre",
            "PDO",
            "pgsql",
            "Phar",
            "posix",
            "pspell",
            "random",
            "readline",
            "Reflection",
            "session",
            "shmop",
            "SimpleXML",
            "snmp",
            "soap",
            "sockets",
            "sodium",
            "SPL",
            "sqlite3",
            "standard",
            "superglobals",
            "sysvmsg",
            "sysvsem",
            "sysvshm",
            "tidy",
            "tokenizer",
            "uri",
            "xml",
            "xmlreader",
            "xmlrpc",
            "xmlwriter",
            "xsl",
            "Zend OPcache",
            "zip",
            "zlib"
          ],
          "description": "Configure stub files for built in symbols and common extensions. The default setting includes PHP core and all bundled extensions.",
          "scope": "window"
        },
        "intelephense.completion.insertUseDeclaration": {
          "type": "boolean",
          "default": true,
          "description": "Use declarations will be automatically inserted for namespaced classes, traits, interfaces, functions, and constants.",
          "scope": "window"
        },
        "intelephense.completion.fullyQualifyGlobalConstantsAndFunctions": {
          "type": "boolean",
          "default": false,
          "description": "Global namespace constants and functions will be fully qualified (prefixed with a backslash).",
          "scope": "window"
        },
        "intelephense.completion.triggerParameterHints": {
          "type": "boolean",
          "default": true,
          "description": "Method and function completions will include parentheses and trigger parameter hints.",
          "scope": "window"
        },
        "intelephense.completion.maxItems": {
          "type": "number",
          "default": 100,
          "description": "The maximum number of completion items returned per request.",
          "scope": "window"
        },
        "intelephense.completion.suggestObjectOperatorStaticMethods": {
          "type": "boolean",
          "default": true,
          "description": "PHP permits the calling of static methods using the object operator eg `$obj->myStaticMethod();`. If you would prefer not to have static methods suggested in this context then set this value to `false`. Defaults to `true`.",
          "scope": "window"
        },
        "intelephense.completion.parameterCase": {
          "type": "string",
          "default": "camel",
          "enum": [
            "camel",
            "snake"
          ],
          "enumDescriptions": [
            "camelCase",
            "snake_case"
          ],
          "description": "The preferred font case to use when suggesting parameter names. Defaults to camel case.",
          "scope": "window"
        },
        "intelephense.completion.propertyCase": {
          "type": "string",
          "default": "snake",
          "enum": [
            "camel",
            "snake"
          ],
          "enumDescriptions": [
            "camelCase",
            "snake_case"
          ],
          "description": "The preferred font case to use when suggesting property names. Defaults to snake case.",
          "scope": "window"
        },
        "intelephense.completion.suggestRelativeToPartialUseDeclaration": {
          "type": "number",
          "default": 0,
          "description": "Inserted text will be relative to any existing partial use declarations that may match the symbol. The value is the maximum number of namespace segments that may appear in the inserted text. Defaults to 0 (disabled).",
          "scope": "window"
        },
        "intelephense.completion.sortText": {
          "type": "string",
          "default": "multi-factor",
          "enum": [
            "none",
            "multi-factor"
          ],
          "enumDescriptions": [
            "No `sortText` property will be provided. The client is solely responsible for sorting based on the `label` property.",
            "A `sortText` property will be included based on factors like query match, kind of suggestion, location of symbol, name of symbol."
          ],
          "description": "Controls whether suggestions will include a `sortText` property that may influence sort order.",
          "scope": "window"
        },
        "intelephense.completion.withOverrideAttribute": {
          "type": "boolean",
          "default": true,
          "markdownDescription": "Method completions will include an `#[Override]` attribute where appropriate if targeting PHP 8.3+.",
          "scope": "window"
        },
        "intelephense.completion.withMethodBody": {
          "type": "boolean",
          "default": true,
          "markdownDescription": "Method completions will include either a `parent` call or a `throw new Exception('Not implemented')` in the method body.",
          "scope": "window"
        },
        "intelephense.format.enable": {
          "type": "boolean",
          "default": true,
          "description": "Enables formatting",
          "scope": "window"
        },
        "intelephense.format.braces": {
          "type": "string",
          "default": "per",
          "enum": [
            "per",
            "allman",
            "k&r"
          ],
          "enumDescriptions": [
            "PHP-FIG PER-CS style. A mix of Allman and K&R. https://www.php-fig.org/per/coding-style/",
            "Allman. Opening brace on the next line.",
            "K&R (1TBS). Opening brace on the same line."
          ],
          "description": "Controls formatting style of braces",
          "scope": "window"
        },
        "intelephense.environment.documentRoot": {
          "type": "string",
          "description": "The directory of the entry point to the application (directory of index.php). Can be absolute or relative to the workspace folder. Used for resolving script inclusion and path suggestions.",
          "scope": "resource"
        },
        "intelephense.environment.includePaths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The include paths (as individual path items) as defined in the include_path ini setting or paths to external libraries. Can be absolute or relative to the workspace folder. Used for resolving script inclusion and/or adding external symbols to folder.",
          "scope": "resource"
        },
        "intelephense.environment.phpVersion": {
          "type": "string",
          "default": "8.4.0",
          "description": "A semver compatible string that represents the target PHP version. Used for providing version appropriate suggestions and diagnostics. PHP 5.3.0 and greater supported.",
          "scope": "window"
        },
        "intelephense.environment.shortOpenTag": {
          "type": "boolean",
          "default": true,
          "description": "When enabled '<?' will be parsed as a PHP open tag. Defaults to true.",
          "scope": "window"
        },
        "intelephense.diagnostics.enable": {
          "type": "boolean",
          "default": true,
          "description": "Enables diagnostics.",
          "scope": "window"
        },
        "intelephense.diagnostics.run": {
          "type": "string",
          "default": "onType",
          "enum": [
            "onType",
            "onSave"
          ],
          "enumDescriptions": [
            "Diagnostics will run as changes are made to the document.",
            "Diagnostics will run when the document is saved."
          ],
          "description": "Controls when diagnostics are run.",
          "scope": "window"
        },
        "intelephense.diagnostics.embeddedLanguages": {
          "type": "boolean",
          "default": true,
          "description": "Enables diagnostics in embedded languages.",
          "scope": "window"
        },
        "intelephense.diagnostics.undefinedSymbols": {
          "type": "boolean",
          "default": true,
          "description": "DEPRECATED. Use the setting for each symbol category.",
          "scope": "window"
        },
        "intelephense.diagnostics.undefinedVariables": {
          "type": "string",
          "default": "on",
          "enum": [
            "on",
            "local",
            "off"
          ],
          "enumDescriptions": [
            "Undefined variable diagnostics will be emitted for global and local scope variables.",
            "Undefined variable diagnostics will be emitted for local scope variables only.",
            "Undefined variable diagnostics will be disabled."
          ],
          "markdownDescription": "Enables undefined variable diagnostics.",
          "scope": "window"
        },
        "intelephense.diagnostics.undefinedTypes": {
          "type": "boolean",
          "default": true,
          "description": "Enables undefined class, interface and trait diagnostics.",
          "scope": "window"
        },
        "intelephense.diagnostics.undefinedFunctions": {
          "type": "boolean",
          "default": true,
          "description": "Enables undefined function diagnostics.",
          "scope": "window"
        },
        "intelephense.diagnostics.undefinedConstants": {
          "type": "boolean",
          "default": true,
          "description": "Enables undefined constant diagnostics.",
          "scope": "window"
        },
        "intelephense.diagnostics.undefinedClassConstants": {
          "type": "boolean",
          "default": true,
          "description": "Enables undefined class constant diagnostics.",
          "scope": "window"
        },
        "intelephense.diagnostics.undefinedMethods": {
          "type": "boolean",
          "default": true,
          "description": "Enables undefined method diagnostics.",
          "scope": "window"
        },
        "intelephense.diagnostics.undefinedProperties": {
          "type": "boolean",
          "default": true,
          "description": "Enables undefined property diagnostics.",
          "scope": "window"
        },
        "intelephense.diagnostics.unusedSymbols": {
          "type": "boolean",
          "default": true,
          "description": "Enables unused variable, private member, and import diagnostics.",
          "scope": "window"
        },
        "intelephense.diagnostics.unexpectedTokens": {
          "type": "boolean",
          "default": true,
          "description": "Enables unexpected token diagnostics.",
          "scope": "window"
        },
        "intelephense.diagnostics.duplicateSymbols": {
          "type": "boolean",
          "default": true,
          "description": "Enables duplicate symbol diagnostics.",
          "scope": "window"
        },
        "intelephense.diagnostics.argumentCount": {
          "type": "string",
          "default": "on",
          "enum": [
            "on",
            "declared",
            "off"
          ],
          "markdownEnumDescriptions": [
            "Argument count diagnostics will be emitted for declared functions and methods and annotated `@method` methods.",
            "Argument count diagnostics will be emitted for declared functions and methods only. Annotated `@method` methods will be ignored.",
            "Argument count diagnostics will be disabled."
          ],
          "markdownDescription": "Enables argument count diagnostics.",
          "scope": "window"
        },
        "intelephense.diagnostics.typeErrors": {
          "type": "boolean",
          "default": true,
          "description": "Enables diagnostics on type compatibility of arguments, property assignments, and return statements where types have been declared.",
          "scope": "window"
        },
        "intelephense.diagnostics.deprecated": {
          "type": "boolean",
          "default": true,
          "description": "Enables deprecated diagnostics.",
          "scope": "window"
        },
        "intelephense.diagnostics.languageConstraints": {
          "type": "boolean",
          "default": true,
          "description": "Enables reporting of various language constraint errors.",
          "scope": "window"
        },
        "intelephense.diagnostics.implementationErrors": {
          "type": "boolean",
          "default": true,
          "description": "Enables reporting of problems associated with method and class implementations. For example, unimplemented methods or method signature incompatibilities.",
          "scope": "window"
        },
        "intelephense.diagnostics.relaxedTypeCheck": {
          "type": "boolean",
          "default": true,
          "description": "This setting makes type checking less thorough by allowing contravariant (wider) types to also satisfy a type constraint. This is useful for projects that may have incomplete or innacurate typings. Set to `false` for more thorough type checks. When this setting is `true`, the `noMixedTypeCheck` setting is ignored.",
          "scope": "window"
        },
        "intelephense.diagnostics.noMixedTypeCheck": {
          "type": "boolean",
          "default": true,
          "description": "This setting turns off type checking for the `mixed` type. This is useful for projects that may have incomplete or innacurate typings. Set to `false` to make type checking more thorough by not allowing `mixed` to satisy any type constraint. This setting has no effect when `relaxedTypeCheck` is `true`.",
          "scope": "window"
        },
        "intelephense.diagnostics.memberAccess": {
          "type": "boolean",
          "default": true,
          "description": "Enables reporting of errors associated with type member access.",
          "scope": "window"
        },
        "intelephense.diagnostics.unreachableCode": {
          "type": "boolean",
          "default": true,
          "markdownDescription": "Enables reporting of unreachable code.",
          "scope": "window"
        },
        "intelephense.diagnostics.suspectCode": {
          "type": "boolean",
          "default": true,
          "markdownDescription": "Enables reporting of irregularities in code that may be indicative of a bug. For example, assignments in a conditional expression or duplicate array keys.",
          "scope": "window"
        },
        "intelephense.diagnostics.strictTypes": {
          "type": "boolean",
          "default": false,
          "markdownDescription": "When enabled, type checks will be performed as if a `declare(strict_types=1)` directive is present in all files.",
          "scope": "window"
        },
        "intelephense.diagnostics.suppressUndefinedMembersWhenMagicMethodDeclared": {
          "type": "boolean",
          "default": true,
          "markdownDescription": "Suppresses undefined property and method errors when `__get` or `__call` magic methods are declared.",
          "scope": "window"
        },
        "intelephense.diagnostics.severity": {
          "type": "object",
          "patternProperties": {
            "P\\d{4}": {
              "type": "number",
              "enum": [
                1,
                2,
                3,
                4
              ],
              "enumDescriptions": [
                "Error.",
                "Warning.",
                "Information.",
                "Hint."
              ]
            }
          },
          "markdownDescription": "Sets the severity level for each diagnostic code.",
          "scope": "window"
        },
        "intelephense.diagnostics.exclude": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "\\*|P\\d{4}"
            }
          },
          "default": {
            "**/vendor/**": [
              "*"
            ]
          },
          "markdownDescription": "A map of globs to diagnostic codes to be excluded for the matching files. Use `*` as a value in the array to exclude all diagnostics. By default the vendor directory is excluded. You can override this by setting `**/vendor/**` to an empty array.",
          "scope": "resource"
        },
        "intelephense.runtime": {
          "type": "string",
          "description": "Path to a Node.js executable. Use this if you wish to use a different version of Node.js. Defaults to Node.js shipped with VSCode.",
          "scope": "machine"
        },
        "intelephense.maxMemory": {
          "type": "number",
          "description": "Maximum memory (in MB) that the server should use. On some systems this may only have effect when runtime has been set. Minimum 256.",
          "scope": "window"
        },
        "intelephense.licenceKey": {
          "type": "string",
          "description": "DEPRECATED. Don't use this.",
          "default": ""
        },
        "intelephense.telemetry.enabled": {
          "type": "boolean",
          "description": "When set to `true`, anonymous usage and crash data will be sent to Azure Application Insights. Defaults to `false`.",
          "scope": "window",
          "default": false
        },
        "intelephense.rename.exclude": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": [
            "**/vendor/**"
          ],
          "description": "Glob patterns to exclude files and folders from having symbols renamed. Rename operation will fail if references and/or definitions are found in excluded files/folders.",
          "scope": "resource"
        },
        "intelephense.rename.namespaceMode": {
          "type": "string",
          "enum": [
            "single",
            "all"
          ],
          "default": "single",
          "enumDescriptions": [
            "Only symbols defined in the current file are affected. For example, this makes a rename of a namespace the equivalent of a single move class operation.",
            "All symbols that share this namespace, not necessarily defined in the current file will be affected. For example it would move all classes that share this namespace to the new namespace."
          ],
          "description": "Controls the scope of a namespace rename operation.",
          "scope": "window"
        },
        "intelephense.references.exclude": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": [
            "**/vendor/**"
          ],
          "description": "Glob patterns matching files and folders that should be excluded from references search.",
          "scope": "resource"
        },
        "intelephense.phpdoc.returnVoid": {
          "type": "boolean",
          "default": true,
          "description": "Adds `@return void` to auto generated phpdoc for definitions that do not return a value.",
          "scope": "window"
        },
        "intelephense.phpdoc.textFormat": {
          "type": "string",
          "enum": [
            "snippet",
            "text"
          ],
          "default": "snippet",
          "enumDescriptions": [
            "Auto generated phpdoc is returned in snippet format. Templates are partially resolved by evaluating phpdoc specific variables only.",
            "Auto generated phpdoc is returned as plain text. Templates are resolved completely by the server."
          ],
          "scope": "window"
        },
        "intelephense.phpdoc.classTemplate": {
          "type": "object",
          "properties": {
            "summary": {
              "type": "string",
              "description": "A snippet string representing a phpdoc summary."
            },
            "description": {
              "type": "string",
              "description": "A snippet string representing a phpdoc description."
            },
            "tags": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "An array of snippet strings representing phpdoc tags."
            }
          },
          "default": {
            "summary": "$1",
            "tags": [
              "@package ${1:$SYMBOL_NAMESPACE}"
            ]
          },
          "description": "An object that describes the format of generated class/interface/trait phpdoc. The following snippet variables are available: SYMBOL_NAME; SYMBOL_KIND; SYMBOL_TYPE; SYMBOL_NAMESPACE.",
          "scope": "window"
        },
        "intelephense.phpdoc.propertyTemplate": {
          "type": "object",
          "properties": {
            "summary": {
              "type": "string",
              "description": "A snippet string representing a phpdoc summary."
            },
            "description": {
              "type": "string",
              "description": "A snippet string representing a phpdoc description."
            },
            "tags": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "An array of snippet strings representing phpdoc tags."
            }
          },
          "default": {
            "summary": "$1",
            "tags": [
              "@var ${1:$SYMBOL_TYPE}"
            ]
          },
          "description": "An object that describes the format of generated property phpdoc. The following snippet variables are available: SYMBOL_NAME; SYMBOL_KIND; SYMBOL_TYPE; SYMBOL_NAMESPACE.",
          "scope": "window"
        },
        "intelephense.phpdoc.functionTemplate": {
          "type": "object",
          "properties": {
            "summary": {
              "type": "string",
              "description": "A snippet string representing a phpdoc summary."
            },
            "description": {
              "type": "string",
              "description": "A snippet string representing a phpdoc description."
            },
            "tags": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "An array of snippet strings representing phpdoc tags."
            }
          },
          "default": {
            "summary": "$1",
            "tags": [
              "@param ${1:$SYMBOL_TYPE} $SYMBOL_NAME $2",
              "@return ${1:$SYMBOL_TYPE} $2",
              "@throws ${1:$SYMBOL_TYPE} $2"
            ]
          },
          "description": "An object that describes the format of generated function/method phpdoc. The following snippet variables are available: SYMBOL_NAME; SYMBOL_KIND; SYMBOL_TYPE; SYMBOL_NAMESPACE.",
          "scope": "window"
        },
        "intelephense.phpdoc.useFullyQualifiedNames": {
          "type": "boolean",
          "default": false,
          "description": "Fully qualified names will be used for types when true. When false short type names will be used and imported where appropriate. Overrides intelephense.completion.insertUseDeclaration.",
          "scope": "window"
        },
        "intelephense.codeLens.references.enable": {
          "type": "boolean",
          "default": false,
          "description": "Enable a code lens that shows a reference count and command to peek locations.",
          "scope": "window"
        },
        "intelephense.codeLens.implementations.enable": {
          "type": "boolean",
          "default": false,
          "description": "Enable a code lens that shows an abstract and interface implementations count and command to peek locations.",
          "scope": "window"
        },
        "intelephense.codeLens.usages.enable": {
          "type": "boolean",
          "default": false,
          "description": "Enable a code lens that shows a trait usages count and command to peek locations.",
          "scope": "window"
        },
        "intelephense.codeLens.overrides.enable": {
          "type": "boolean",
          "default": false,
          "description": "Enable a code lens that shows method override count and command to peek locations.",
          "scope": "window"
        },
        "intelephense.codeLens.parent.enable": {
          "type": "boolean",
          "default": false,
          "description": "Enable a code lens that indicates if a method has a parent implementation and command to peek location.",
          "scope": "window"
        },
        "intelephense.shortOpenEchoAutoClose": {
          "type": "boolean",
          "default": true,
          "description": "Will auto-close short open echo tags (`<?=`). VSCode only.",
          "scope": "window"
        },
        "intelephense.inlayHint.returnTypes": {
          "type": "boolean",
          "default": true,
          "description": "Will show an inlay hint for call declaration return type if not already declared.",
          "scope": "window"
        },
        "intelephense.inlayHint.parameterTypes": {
          "type": "boolean",
          "default": true,
          "description": "Will show inlay hints for anonymous function declaration parameter types if not already declared.",
          "scope": "window"
        },
        "intelephense.inlayHint.parameterNames": {
          "type": "boolean",
          "default": true,
          "description": "Will show inlay hints for call argument parameter names if named arguments are not already in use.",
          "scope": "window"
        },
        "intelephense.throwDepth": {
          "type": "number",
          "default": 0,
          "minimum": 0,
          "maximum": 10,
          "markdownDescription": "The maximum call depth to follow when analyzing throw expressions. Defaults to `0`, which limits analysis to the current function. Higher values can have a negative impact on performance.",
          "scope": "window"
        },
        "intelephense.trace.server": {
          "type": "string",
          "enum": [
            "off",
            "messages",
            "verbose"
          ],
          "default": "off",
          "description": "Traces the communication between VSCode and the intelephense language server.",
          "scope": "window"
        }
      }
    },
    "commands": [
      {
        "command": "intelephense.index.workspace",
        "title": "Index workspace",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.cancel.indexing",
        "title": "Cancel indexing",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.composer.runCommand",
        "title": "Run selected composer command",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.composer.runCommandPlus",
        "title": "Enter and run additional strings to the selected composer command",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.composer.runScriptsCommand",
        "title": "Run selected composer script",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.artisan.runCommand",
        "title": "Run Artisan command",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.sailArtisan.runCommand",
        "title": "Run Sail Artisan command",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.symfony.runCommand",
        "title": "Run Symfony command",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.phpunit.projectTest",
        "title": "Run PHPUnit for current project",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.phpunit.fileTest",
        "title": "Run PHPUnit for current file",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.phpunit.singleTest",
        "title": "Run PHPUnit for single (nearest) test",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.pest.projectTest",
        "title": "Run Pest for current project",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.pest.fileTest",
        "title": "Run Pest for current file",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.pest.singleTest",
        "title": "Run Pest for single (nearest) test",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.fixClassName",
        "title": "Fix class name based on file name",
        "category": "Intelephense"
      },
      {
        "command": "intelephense.fixNamespace",
        "title": "Fix namespace based on the composer configuration"
      },
      {
        "command": "intelephense.completeConstructor",
        "title": "Complete the assignments and add properties for an incomplete constructor"
      }
    ]
  },
  "dependencies": {
    "intelephense": "^1.18.5",
    "php-parser": "^3.1.5"
  },
  "packageManager": "yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447"
}
