haiku-atelier-2024/phpactor.schema.json

773 lines
28 KiB
JSON

{
"$schema": "https://json-schema.org/draft-07/schema",
"properties": {
"$schema": {
"default": "",
"description": "Path to JSON schema, which can be used for config autocompletion, use phpactor config:initialize to update"
},
"behat.config_path": {
"default": "%project_root%/behat.yml",
"description": "Path to the main behat.yml (including the filename behat.yml)"
},
"behat.symfony.di_xml_path": {
"description": "If using Symfony, set this path to the XML container dump to find contexts which are defined as services"
},
"class_to_file.brute_force_conversion": {
"default": true,
"description": "If composer not found, fallback to scanning all files (very time consuming depending on project size)"
},
"class_to_file.project_root": {
"default": "%project_root%",
"description": "Root path of the project (e.g. where composer.json is)"
},
"code_transform.class_new.variants": {
"default": [],
"description": "Variants which should be suggested when class-create is invoked"
},
"code_transform.import_globals": {
"default": false,
"description": "Import functions even if they are in the global namespace"
},
"code_transform.indentation": {
"default": " ",
"description": "Indentation chars to use in code generation and transformation"
},
"code_transform.refactor.generate_accessor.prefix": {
"default": "",
"description": "Prefix to use for generated accessors"
},
"code_transform.refactor.generate_accessor.upper_case_first": {
"default": false,
"description": "If the first letter of a generated accessor should be made uppercase"
},
"code_transform.refactor.generate_mutator.fluent": {
"default": false,
"description": "If the mutator should be fluent"
},
"code_transform.refactor.generate_mutator.prefix": {
"default": "set",
"description": "Prefix to use for generated mutators"
},
"code_transform.refactor.generate_mutator.upper_case_first": {
"default": true,
"description": "If the first letter of a generated mutator should be made uppercase"
},
"code_transform.refactor.object_fill.hint": {
"default": true,
"description": "Object fill refactoring: show hint as a comment"
},
"code_transform.refactor.object_fill.named_parameters": {
"default": true,
"description": "Object fill refactoring: use named parameters"
},
"code_transform.template_paths": {
"default": [
"%config%/templates",
"%project_config%/templates"
],
"description": "Paths in which to look for code templates"
},
"command": {
"description": "Internal use only - name of the command which was executed"
},
"completion.dedupe": {
"default": true,
"description": "If results should be de-duplicated"
},
"completion.dedupe_match_fqn": {
"default": true,
"description": "If ``completion.dedupe``, consider the class FQN in addition to the completion suggestion"
},
"completion.label_formatter": {
"default": "helpful",
"description": "Definition of how to format entries in the completion list",
"enum": [
"fqn",
"helpful"
]
},
"completion.limit": {
"description": "Sets a limit on the number of completion suggestions for any request"
},
"completion_worse.completor.attribute.enabled": {
"default": true,
"description": "Enable or disable the ``attribute`` completor.\n\nCompletion for attribute class names."
},
"completion_worse.completor.class.limit": {
"default": 100,
"description": "Suggestion limit for the filesystem based SCF class_completor"
},
"completion_worse.completor.class_like.enabled": {
"default": true,
"description": "Enable or disable the ``class_like`` completor.\n\nCompletion for class like contexts."
},
"completion_worse.completor.class_member.enabled": {
"default": true,
"description": "Enable or disable the ``class_member`` completor.\n\nCompletion for class members."
},
"completion_worse.completor.constant.enabled": {
"default": false,
"description": null
},
"completion_worse.completor.constructor.enabled": {
"default": true,
"description": "Enable or disable the ``constructor`` completor.\n\nCompletion for constructors."
},
"completion_worse.completor.declared_class.enabled": {
"default": true,
"description": "Enable or disable the ``declared_class`` completor.\n\nCompletion for classes defined in the Phpactor runtime."
},
"completion_worse.completor.declared_constant.enabled": {
"default": true,
"description": "Enable or disable the ``declared_constant`` completor.\n\nCompletion for constants defined in the Phpactor runtime."
},
"completion_worse.completor.declared_function.enabled": {
"default": true,
"description": "Enable or disable the ``declared_function`` completor.\n\nCompletion for functions defined in the Phpactor runtime."
},
"completion_worse.completor.docblock.enabled": {
"default": true,
"description": "Enable or disable the ``docblock`` completor.\n\nDocblock completion."
},
"completion_worse.completor.doctrine_annotation.enabled": {
"default": true,
"description": "Enable or disable the ``doctrine_annotation`` completor.\n\nCompletion for annotations provided by the Doctrine annotation library."
},
"completion_worse.completor.expression_name_search.enabled": {
"default": true,
"description": "Enable or disable the ``expression_name_search`` completor.\n\nCompletion for class names, constants and functions at expression positions that are located in the index."
},
"completion_worse.completor.imported_names.enabled": {
"default": true,
"description": "Enable or disable the ``imported_names`` completor.\n\nCompletion for names imported into the current namespace."
},
"completion_worse.completor.keyword.enabled": {
"default": true,
"description": "Enable or disable the ``keyword`` completor.\n\nCompletion for keywords (not very accurate)."
},
"completion_worse.completor.local_variable.enabled": {
"default": true,
"description": "Enable or disable the ``local_variable`` completor.\n\nCompletion for local variables."
},
"completion_worse.completor.named_parameter.enabled": {
"default": true,
"description": "Enable or disable the ``named_parameter`` completor.\n\nCompletion for named parameters."
},
"completion_worse.completor.scf_class.enabled": {
"default": true,
"description": "Enable or disable the ``scf_class`` completor.\n\nBrute force completion for class names (not recommended)."
},
"completion_worse.completor.subscript.enabled": {
"default": true,
"description": "Enable or disable the ``subscript`` completor.\n\nCompletion for subscript (array access from array shapes)."
},
"completion_worse.completor.symfony.enabled": {
"default": true,
"description": "Enable/disable the Symfony completor - depends on Symfony extension being enabled"
},
"completion_worse.completor.type.enabled": {
"default": true,
"description": "Enable or disable the ``type`` completor.\n\nCompletion for scalar types."
},
"completion_worse.completor.use.enabled": {
"default": true,
"description": "Enable or disable the ``use`` completor.\n\nCompletion for use imports."
},
"completion_worse.completor.worse_parameter.enabled": {
"default": true,
"description": "Enable or disable the ``worse_parameter`` completor.\n\nCompletion for method or function parameters."
},
"completion_worse.debug": {
"default": false,
"description": "Include debug info in completion results"
},
"completion_worse.experimantal": {
"default": false,
"description": "Enable experimental functionality"
},
"completion_worse.name_completion_priority": {
"default": "proximity",
"description": "Strategy to use when ordering completion results for classes and functions:\n\n- `proximity`: Classes and functions will be ordered by their proximity to the text document being edited.\n- `none`: No ordering will be applied."
},
"completion_worse.snippets": {
"default": true,
"description": "Enable or disable completion snippets"
},
"composer.autoload_deregister": {
"default": true,
"description": "Immediately de-register the autoloader once it has been included (prevent conflicts with Phpactor's autoloader). Some platforms may require this to be disabled"
},
"composer.autoloader_path": {
"default": "%project_root%/vendor/autoload.php",
"description": "Path to project's autoloader, can be an array"
},
"composer.class_maps_only": {
"default": true,
"description": "Register the composer class maps only, do not register the autoloader - RECOMMENDED"
},
"composer.enable": {
"default": true,
"description": "Include of the projects autoloader to facilitate class location. Note that when including an autoloader code _may_ be executed. This option may be disabled when using the indexer"
},
"console.decorated": {
"description": "Whether to decorate messages (null for auto-guessing)",
"enum": [
true,
false,
null
]
},
"console.verbosity": {
"default": 32,
"description": "Verbosity level",
"enum": [
16,
32,
64,
128,
256
]
},
"console_dumper_default": {
"default": "indented",
"description": "Name of the \"dumper\" (renderer) to use for some CLI commands"
},
"core.min_memory_limit": {
"default": 1610612736,
"description": "Ensure that PHP has a memory_limit of at least this amount in bytes"
},
"core.project_config_candidates": {
"default": [],
"description": "(internal) list of potential project-level configuration files"
},
"core.trust": {
"default": {
"path": null,
"trust": []
},
"description": "(internal) map of trusted project directories"
},
"core.trusted": {
"default": false,
"description": "(internal) if the configuration is trusted"
},
"file_path_resolver.app_name": {
"default": "phpactor",
"description": null
},
"file_path_resolver.application_root": {
"description": null
},
"file_path_resolver.enable_cache": {
"default": true,
"description": null
},
"file_path_resolver.enable_logging": {
"default": true,
"description": null
},
"file_path_resolver.project_root": {
"default": "/opt/phpactor",
"description": null
},
"indexer.buffer_time": {
"default": 500,
"description": "For real-time indexers only: the time, in milliseconds, to buffer the results",
"type": [
"integer"
]
},
"indexer.enabled_watchers": {
"default": [
"find",
"inotify",
"php",
"watchman"
],
"description": "List of allowed watchers. The first watcher that supports the current system will be used",
"type": [
"object"
]
},
"indexer.exclude_patterns": {
"default": [
"/vendor/**/tests/**/*",
"/vendor/**/Tests/**/*",
"/vendor/composer/**/*",
"/vendor/rector/rector/stubs-rector"
],
"description": "Glob patterns to exclude while indexing",
"type": [
"object"
]
},
"indexer.follow_symlinks": {
"default": false,
"description": "To allow indexer to follow symlinks",
"type": [
"boolean"
]
},
"indexer.implementation_finder.deep": {
"default": true,
"description": "Recurse over class implementations to resolve all class implementations (not just the classes directly implementing the subject)",
"type": [
"boolean"
]
},
"indexer.include_patterns": {
"default": [
"/**/*.phar",
"/**/*.php"
],
"description": "Glob patterns to include while indexing",
"type": [
"object"
]
},
"indexer.index_path": {
"default": "%cache%/index/%project_id%",
"description": "Path where the index should be saved",
"type": [
"string"
]
},
"indexer.max_filesize_to_index": {
"default": 1000000,
"description": "Files larger than this will not be indexed. (Size in bytes)",
"type": [
"integer"
]
},
"indexer.poll_time": {
"default": 5000,
"description": "For polling indexers only: the time, in milliseconds, between polls (e.g. filesystem scans)",
"type": [
"integer"
]
},
"indexer.project_root": {
"default": "%project_root%",
"description": "The root path to use for scanning the index",
"type": [
"string"
]
},
"indexer.reference_finder.deep": {
"default": true,
"description": "Recurse over class implementations to resolve all references",
"type": [
"boolean"
]
},
"indexer.search_include_patterns": {
"default": [],
"description": "When searching the index exclude records whose fully qualified names match any of these regex patterns (use to exclude suggestions from search results). Namespace separators must be escaped as `\\\\\\\\` for example `^Foo\\\\\\\\` to include all namespaces whose first segment is `Foo`",
"type": [
"object"
]
},
"indexer.stub_paths": {
"default": [],
"description": "Paths to external folders to index. They will be indexed only once, if you want to take any changes into account you will have to reindex your project manually.",
"type": [
"object"
]
},
"indexer.supported_extensions": {
"default": [
"phar",
"php"
],
"description": "File extensions (e.g. `php`) for files that should be indexed",
"type": [
"object"
]
},
"language_server.catch_errors": {
"default": true,
"description": null
},
"language_server.diagnostic_exclude_paths": {
"default": [],
"description": "List of paths to exclude from diagnostics, e.g. `vendor/**/*`"
},
"language_server.diagnostic_ignore_codes": {
"default": [],
"description": "Ignore diagnostics that have the codes listed here, e.g. [\"fix_namespace_class_name\"]. The codes match those shown in the LSP client."
},
"language_server.diagnostic_outsource": {
"default": true,
"description": "If applicable diagnostics should be \"outsourced\" to a different process"
},
"language_server.diagnostic_outsource_timeout": {
"default": 5,
"description": "Kill the diagnostics process if it outlives this timeout"
},
"language_server.diagnostic_providers": {
"description": "Specify which diagnostic providers should be active (default to all)"
},
"language_server.diagnostic_sleep_time": {
"default": 1000,
"description": "Amount of time to wait before analyzing the code again for diagnostics"
},
"language_server.diagnostics_on_open": {
"default": true,
"description": "Perform diagnostics when opening a text document"
},
"language_server.diagnostics_on_save": {
"default": true,
"description": "Perform diagnostics when the text document is saved"
},
"language_server.diagnostics_on_update": {
"default": true,
"description": "Perform diagnostics when the text document is updated"
},
"language_server.enable_trust_check": {
"default": true,
"description": "Check to see if project path is trusted before loading configurations from it"
},
"language_server.enable_workspace": {
"default": true,
"description": "If workspace management / text synchronization should be enabled (this isn't required for some language server implementations, e.g. static analyzers)"
},
"language_server.file_event_globs": {
"default": [
"**/*.php"
],
"description": null
},
"language_server.file_events": {
"default": true,
"description": "Register to receive file events"
},
"language_server.method_alias_map": {
"default": [],
"description": "Allow method names to be re-mapped. Useful for maintaining backwards compatibility"
},
"language_server.phpactor_bin": {
"default": "/opt/phpactor/lib/Extension/LanguageServer/../../../bin/phpactor",
"description": "Internal use only - name path to Phpactor binary"
},
"language_server.profile": {
"default": false,
"description": "Logs timing information for incoming LSP requests"
},
"language_server.self_destruct_timeout": {
"default": 2500,
"description": "Wait this amount of time (in milliseconds) after a shutdown request before self-destructing"
},
"language_server.session_parameters": {
"default": [],
"description": "Phpactor parameters (config) that apply only to the language server session"
},
"language_server.shutdown_grace_period": {
"default": 200,
"description": "Amount of time (in milliseconds) to wait before responding to a shutdown notification"
},
"language_server.trace": {
"default": false,
"description": "Log incoming and outgoing messages (needs log formatter to be set to ``json``)"
},
"language_server_code_transform.import_globals": {
"default": false,
"description": "Show hints for non-imported global classes and functions"
},
"language_server_code_transform.import_name.report_non_existing_names": {
"default": true,
"description": "Show an error if a diagnostic name cannot be resolved - can produce false positives"
},
"language_server_completion.trim_leading_dollar": {
"default": false,
"description": "If the leading dollar should be trimmed for variable completion suggestions"
},
"language_server_configuration.auto_config": {
"default": true,
"description": "Prompt to enable extensions which apply to your project on language server start",
"type": [
"boolean"
]
},
"language_server_highlight.enabled": {
"default": true,
"description": "Enable or disable the highlighter (can be expensive on large documents)"
},
"language_server_indexer.optimiser_timeout": {
"default": 3600,
"description": "Optimise the index every N seconds",
"type": [
"integer"
]
},
"language_server_indexer.reindex_timeout": {
"default": 300,
"description": "Unconditionally reindex modified files every N seconds"
},
"language_server_indexer.workspace_symbol_search_limit": {
"default": 250,
"description": null
},
"language_server_php_cs_fixer.bin": {
"default": "%project_root%/vendor/bin/php-cs-fixer",
"description": "Path to the php-cs-fixer executable"
},
"language_server_php_cs_fixer.config": {
"description": "Set custom PHP CS config path. Ex., %project_root%/.php-cs-fixer.php"
},
"language_server_php_cs_fixer.env": {
"default": {
"XDEBUG_MODE": "off"
},
"description": "Environment for PHP CS Fixer"
},
"language_server_php_cs_fixer.show_diagnostics": {
"default": true,
"description": "Whether PHP CS Fixer diagnostics are shown"
},
"language_server_php_cs_fixer.version": {
"description": "Arbitrary version (if not provided, phpactor tries to detect it - only to run it on unsupported PHP versions)"
},
"language_server_phpstan.bin": {
"default": "%project_root%/vendor/bin/phpstan",
"description": "Path to the PHPStan executable"
},
"language_server_phpstan.config": {
"description": "Override the PHPStan configuration file"
},
"language_server_phpstan.editor_mode": {
"default": false,
"description": "DEPRECATED. Editor mode of Phpstan is used automatically when it's supported."
},
"language_server_phpstan.level": {
"description": "Override the PHPStan level"
},
"language_server_phpstan.mem_limit": {
"description": "Override the PHPStan memory limit"
},
"language_server_phpstan.severity": {
"default": 1,
"description": "Severity at which PHPStan diagnostics should be reported. Ranges from 1 (error) to 4 (hint)."
},
"language_server_phpstan.tmp_file_disabled": {
"default": false,
"description": "Disable the use of temporary files when. This prevents as-you-type diagnostics, but ensures paths in phpstan config are respected. See https://github.com/phpactor/phpactor/issues/2763"
},
"language_server_psalm.bin": {
"default": "%project_root%/vendor/bin/psalm",
"description": "Path to psalm if different from vendor/bin/psalm",
"type": [
"string"
]
},
"language_server_psalm.config": {
"default": "",
"description": "Path to psalm config. Like %project_root%/psalm.xml",
"type": [
"string"
]
},
"language_server_psalm.error_level": {
"description": "Override level at which Psalm should report errors (lower => more errors)"
},
"language_server_psalm.show_info": {
"default": true,
"description": "If infos from psalm should be displayed",
"type": [
"boolean"
]
},
"language_server_psalm.threads": {
"default": 1,
"description": "Set the number of threads Psalm should use. Warning: NULL will use as many as possible and may crash your computer",
"type": [
"integer"
]
},
"language_server_psalm.timeout": {
"default": 15,
"description": "Kill the psalm process after this number of seconds",
"type": [
"integer"
]
},
"language_server_psalm.use_cache": {
"default": true,
"description": "If the Psalm cache should be used (see the `--no-cache` option)",
"type": [
"boolean"
]
},
"language_server_reference_finder.soft_timeout": {
"default": 10,
"description": "Interupt and ask for confirmation to continue after this timeout (in seconds)"
},
"language_server_reference_reference_finder.reference_timeout": {
"default": 60,
"description": "Stop searching for references after this time (in seconds) has expired"
},
"language_server_worse_reflection.diagnostics.enable": {
"default": true,
"description": "Enable diagnostics"
},
"language_server_worse_reflection.inlay_hints.enable": {
"default": false,
"description": "Enable inlay hints (experimental)"
},
"language_server_worse_reflection.inlay_hints.params": {
"default": true,
"description": "Show inlay hints for parameters"
},
"language_server_worse_reflection.inlay_hints.types": {
"default": false,
"description": "Show inlay type hints for variables"
},
"language_server_worse_reflection.workspace_index.update_interval": {
"default": 100,
"description": "Minimum interval to update the workspace index as documents are updated (in milliseconds)"
},
"logger.name": {
"default": "logger",
"description": null,
"type": [
"string"
]
},
"logging.enabled": {
"default": false,
"description": null,
"type": [
"boolean"
]
},
"logging.fingers_crossed": {
"default": false,
"description": null,
"type": [
"boolean"
]
},
"logging.formatter": {
"description": null
},
"logging.level": {
"default": "warning",
"description": null,
"enum": [
"alert",
"critical",
"debug",
"emergency",
"error",
"info",
"notice",
"warning"
],
"type": [
"string"
]
},
"logging.path": {
"default": "application.log",
"description": null,
"type": [
"string"
]
},
"navigator.autocreate": {
"default": [],
"description": null
},
"navigator.destinations": {
"default": [],
"description": null
},
"object_renderer.template_paths.markdown": {
"default": [
"%config%/templates/markdown",
"%project_config%/templates/markdown"
],
"description": "Paths in which to look for templates for hover information."
},
"php.version": {
"description": "Consider this value to be the project\\'s version of PHP (e.g. `7.4`). If omitted\nit will check `composer.json` (by the configured platform then the PHP requirement) before\nfalling back to the PHP version of the current process."
},
"php_code_sniffer.args": {
"default": [],
"description": "Additional arguments to pass to the PHPCS process"
},
"php_code_sniffer.bin": {
"default": "%project_root%/vendor/bin/phpcs",
"description": "Path to the phpcs executable"
},
"php_code_sniffer.cwd": {
"description": "Working directory for PHPCS"
},
"php_code_sniffer.env": {
"default": {
"XDEBUG_MODE": "off"
},
"description": "Environment for PHP_CodeSniffer (e.g. to set XDEBUG_MODE)"
},
"php_code_sniffer.show_diagnostics": {
"default": true,
"description": "Whether PHP_CodeSniffer diagnostics are shown"
},
"public_services_only": {
"default": false,
"description": "Only consider public services when providing analysis for the service locator"
},
"rpc.replay_path": {
"default": "%cache%/replay.json",
"description": "Path where the replays should be stored"
},
"rpc.store_replay": {
"default": false,
"description": "Should replays be stored?"
},
"source_code_filesystem.project_root": {
"default": "%project_root%",
"description": null
},
"symfony.xml_path": {
"default": "%project_root%/var/cache/dev/App_KernelDevDebugContainer.xml",
"description": "Path to the Symfony container XML dump file"
},
"worse_reflection.additive_stubs": {
"default": [],
"description": "Additive stubs files relative to the project root. These stubs augment existing defininitions."
},
"worse_reflection.cache_dir": {
"default": "%cache%/worse-reflection",
"description": "Cache directory for stubs"
},
"worse_reflection.cache_lifetime": {
"default": 1,
"description": "If caching is enabled, limit the amount of time a cache entry can stay alive"
},
"worse_reflection.diagnostics.undefined_variable.suggestion_levenshtein_disatance": {
"default": 4,
"description": "Levenshtein distance to use when suggesting corrections for variable names",
"type": [
"integer"
]
},
"worse_reflection.enable_cache": {
"default": true,
"description": "If reflection caching should be enabled"
},
"worse_reflection.enable_context_location": {
"default": true,
"description": "If source code is passed to a ``Reflector`` then temporarily make it available as a\nsource location. Note this should NOT be enabled if the source code can be\nlocated in another (e.g. when running a Language Server)"
},
"worse_reflection.stub_dir": {
"default": "%application_root%/vendor/jetbrains/phpstorm-stubs",
"description": "Location of the core PHP stubs - these will be scanned and cached on the first request"
},
"xdebug_disable": {
"default": true,
"description": "If XDebug should be automatically disabled"
}
},
"title": "Phpactor Configuration Schema",
"type": "object"
}