coc-psalm
v0.12.4
Published
Psalm extension for coc.nvim
Readme
coc-psalm
coc.nvim extension for Psalm language server.
"Psalm" started as a static analysis tool, but now it also has the features of a Language Server.
Install
:CocInstall coc-psalmNote
Install psalm in your project.
composer require --dev vimeo/psalmRequired: The project must contain a psalm.xml or psalm.xml.dist file as a condition for starting "coc-psalm".
./vendor/bin/psalm --initConfiguration options
psalm.enable: Enable coc-psalm extension, default:truepsalm.disableCompletion: Disable completion only, default:falsepsalm.disableDefinition: Disable definition only, default:falsepsalm.disableProgressOnInitialization: Disable ProgressOnInitialization only, default:falsepsalm.phpExecutablePath: Optional, defaults to searching for "php". The path to a PHP 7.0+ executable to use to execute the Psalm server. The PHP 7.0+ installation should preferably include and enable the PHP modulepcntl. (Modifying requires restart), default:nullpsalm.phpExecutableArgs: Optional (Advanced), default is '-dxdebug.remote_autostart=0 -dxdebug.remote_enable=0 -dxdebug_profiler_enable=0'. Additional PHP executable CLI arguments to use, default:["-dxdebug.remote_autostart=0", "-dxdebug.remote_enable=0", "-dxdebug_profiler_enable=0"]psalm.psalmScriptPath: Optional (Advanced). If provided, this overrides the Psalm server script to use, e.g.vendor/bin/psalm-language-server,$HOME/path/to/psalm-language-server,~/path/to/psalm-language-server(Modifying requires restart), default:nullpsalm.psalmScriptExtraArgs: Optional (Advanced). Additional arguments to the Psalm language server. (Modifying requires restart), default:[]psalm.enableUseIniDefaults: Enable this to use PHP-provided ini defaults for memory and error display. (Modifying requires restart), default:falsepsalm.enableDebugLog: Enable this to print messages, default:falsepsalm.analyzedFileExtensions: A list of file extensions to request Psalm to analyze. By default, this only includes 'php' (Modifying requires restart), default:[{ "scheme": "file", "language": "php" }, { "scheme": "untitled", "language": "php" }]psalm.unusedVariableDetection: Enable this to enable unused variable and parameter detection, default:falsepsalm.configPaths: A list of files to checkup for psalm configuration (relative to the workspace directory), default:["psalm.xml", "psalm.xml.dist"]psalm.trace.server: Traces the communication between coc.nvim and the Psalm language server, valid options["off", "messages", "verbose"], default:off
Commands
psalm.restartPsalmServer: Restart Psalm Language serverpsalm.analyzeWorkSpace: Analyze Workspace
Code Actions
Example key mapping (Code Action related)
nmap <silent> ga <Plug>(coc-codeaction-line)Usage:
In the line with diagnostic message, enter the mapped key (e.g. ga) and you will see a list of code actions that can be performed.
Code Actions (Client side):
Show issue for https://psalm.dev/xxx: Open the issue url in your browserSuppress all for this line
Code Actions (Server side):
Suppress XXX for this line
"psalm.xml" or "psalm.xml.dist" completion and linting and more...
To use it, you need to install coc-xml.
Thanks
License
MIT
This extension is built with create-coc-extension
