1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 02:20:03 +08:00
SpaceVim/docs/layers/lang/php.md
wsdjeg e32ec1f886 fix(lang#php)!: change g D key binding
BREAKING CHANGE: use `g D` to jump to declaration
2022-04-13 19:19:48 +08:00

2.9 KiB

title description
SpaceVim lang#php layer PHP language support, including code completion, syntax lint and code runner

Available Layers >> lang#php

Description

lang#php layer provides PHP language support in SpaceVim.

  • code completion (autocomplete layer)
  • code formatting (format layer)
  • syntax checking (checkers layer)
  • goto definition
  • reference finder (gtags layer)
  • language server protocol support (lsp layer)

Installation

Enable language layer

This layer is not enabled by default. To use this layer, you need to add following snippet into SpaceVim configuration file:

[[layers]]
  name = "lang#php"

Language tools

  • language server

    To enable php support of lsp layer. You may need to install intelephense:

    npm install -g intelephense
    

    Also you need enable lsp layer with intelephense client:

    [[layers]]
      name = 'lsp'
      enabled_clients = ['intelephense']
    

Layer options

  • php_interpreter: Set the PHP interpreter, by default, it is php.

Key bindings

Jump to definition

Mode Key Bindings Description
normal g d Jump to the definition position of cursor symbol

Running current script

To run a php script, you can press SPC l r to run the current file without losing focus, and the result will be shown in a runner buffer.

Inferior REPL process

Start a php inferior REPL process with SPC l s i.

Send code to inferior process commands:

Key Bindings Descriptions
SPC l s b send buffer and keep code buffer focused
SPC l s l send line and keep code buffer focused
SPC l s s send selection text and keep code buffer focused

LSP key Bindings

If the lsp layer is enabled for php, the following key bindings can be used:

key binding Description
g D jump to declaration
SPC l e rename symbol
SPC l x show references
SPC l s show line diagnostics
SPC l d show document
K show document
SPC l w l list workspace folder
SPC l w a add workspace folder
SPC l w r remove workspace folder