mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-03-14 02:35:41 +08:00
Update lang#php layer (#4226)
This commit is contained in:
parent
dccedde086
commit
23c05a3caa
@ -10,8 +10,45 @@
|
|||||||
""
|
""
|
||||||
" @section lang#php, layer-lang-php
|
" @section lang#php, layer-lang-php
|
||||||
" @parentsection layers
|
" @parentsection layers
|
||||||
" This layer is for PHP development. It proides code completion, syntax
|
" This layer is for php development, disabled by default, to enable this
|
||||||
" checking, and jump to definition.
|
" layer, add following snippet to your SpaceVim configuration file.
|
||||||
|
" >
|
||||||
|
" [[layers]]
|
||||||
|
" name = 'lang#php'
|
||||||
|
" <
|
||||||
|
"
|
||||||
|
" @subsection layer options
|
||||||
|
"
|
||||||
|
" 1. `php_interpreter`: Set the PHP interpreter, by default, it is `php`
|
||||||
|
" >
|
||||||
|
" [[layers]]
|
||||||
|
" name = 'lang#php'
|
||||||
|
" php_interpreter = 'path/to/php'
|
||||||
|
" <
|
||||||
|
"
|
||||||
|
" @subsection Key bindings
|
||||||
|
" >
|
||||||
|
" Mode Key Function
|
||||||
|
" ---------------------------------------------
|
||||||
|
" normal SPC l r run current file
|
||||||
|
" <
|
||||||
|
"
|
||||||
|
" This layer also provides REPL support for php, the key bindings are:
|
||||||
|
" >
|
||||||
|
" Key Function
|
||||||
|
" ---------------------------------------------
|
||||||
|
" SPC l s i Start a inferior REPL process
|
||||||
|
" SPC l s b send whole buffer
|
||||||
|
" SPC l s l send current line
|
||||||
|
" SPC l s s send selection text
|
||||||
|
" <
|
||||||
|
"
|
||||||
|
|
||||||
|
if exists('s:php_interpreter')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:php_interpreter = 'php'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -31,11 +68,12 @@ let s:auto_fix = 0
|
|||||||
|
|
||||||
function! SpaceVim#layers#lang#php#set_variable(var) abort
|
function! SpaceVim#layers#lang#php#set_variable(var) abort
|
||||||
let s:auto_fix = get(a:var, 'auto_fix', 0)
|
let s:auto_fix = get(a:var, 'auto_fix', 0)
|
||||||
|
let s:php_interpreter = get(a:var, 'php_interpreter', s:php_interpreter)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! SpaceVim#layers#lang#php#config() abort
|
function! SpaceVim#layers#lang#php#config() abort
|
||||||
call SpaceVim#plugins#runner#reg_runner('php', 'php %s')
|
call SpaceVim#plugins#runner#reg_runner('php', s:php_interpreter . ' %s')
|
||||||
call SpaceVim#plugins#repl#reg('php', ['php', '-a'])
|
call SpaceVim#plugins#repl#reg('php', [s:php_interpreter, '-a'])
|
||||||
call SpaceVim#mapping#space#regesit_lang_mappings('php',
|
call SpaceVim#mapping#space#regesit_lang_mappings('php',
|
||||||
\ function('s:on_ft'))
|
\ function('s:on_ft'))
|
||||||
if SpaceVim#layers#lsp#check_filetype('php')
|
if SpaceVim#layers#lsp#check_filetype('php')
|
||||||
|
@ -2806,8 +2806,41 @@ This layer also provides REPL support for pact, the key bindings are:
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
LANG#PHP *SpaceVim-layer-lang-php*
|
LANG#PHP *SpaceVim-layer-lang-php*
|
||||||
|
|
||||||
This layer is for PHP development. It proides code completion, syntax
|
This layer is for php development, disabled by default, to enable this layer,
|
||||||
checking, and jump to definition.
|
add following snippet to your SpaceVim configuration file.
|
||||||
|
>
|
||||||
|
[[layers]]
|
||||||
|
name = 'lang#php'
|
||||||
|
<
|
||||||
|
|
||||||
|
LAYER OPTIONS
|
||||||
|
|
||||||
|
1. `php_interpreter`: Set the PHP interpreter, by default, it is `php`
|
||||||
|
|
||||||
|
>
|
||||||
|
[[layers]]
|
||||||
|
name = 'lang#php'
|
||||||
|
php_interpreter = 'path/to/php'
|
||||||
|
<
|
||||||
|
|
||||||
|
KEY BINDINGS
|
||||||
|
|
||||||
|
>
|
||||||
|
Mode Key Function
|
||||||
|
---------------------------------------------
|
||||||
|
normal SPC l r run current file
|
||||||
|
<
|
||||||
|
|
||||||
|
This layer also provides REPL support for php, the key bindings are:
|
||||||
|
>
|
||||||
|
Key Function
|
||||||
|
---------------------------------------------
|
||||||
|
SPC l s i Start a inferior REPL process
|
||||||
|
SPC l s b send whole buffer
|
||||||
|
SPC l s l send current line
|
||||||
|
SPC l s s send selection text
|
||||||
|
<
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
LANG#PONY *SpaceVim-layer-lang-pony*
|
LANG#PONY *SpaceVim-layer-lang-pony*
|
||||||
|
@ -18,6 +18,7 @@ Each of the following sections will be covered:
|
|||||||
- [Enable language layer](#enable-language-layer)
|
- [Enable language layer](#enable-language-layer)
|
||||||
- [Code completion](#code-completion)
|
- [Code completion](#code-completion)
|
||||||
- [Syntax linting](#syntax-linting)
|
- [Syntax linting](#syntax-linting)
|
||||||
|
- [Ctags integration](#ctags-integration)
|
||||||
- [Jump to test file](#jump-to-test-file)
|
- [Jump to test file](#jump-to-test-file)
|
||||||
- [running code](#running-code)
|
- [running code](#running-code)
|
||||||
- [Code formatting](#code-formatting)
|
- [Code formatting](#code-formatting)
|
||||||
@ -55,6 +56,21 @@ To install psalm, you may need to run:
|
|||||||
composer require --dev vimeo/psalm
|
composer require --dev vimeo/psalm
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Ctags integration
|
||||||
|
|
||||||
|
The `gtags` layer provides `ctags` integration for your project. It will create the index file for
|
||||||
|
each of your project. To enable `gtags` layer:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[layers]]
|
||||||
|
name = 'gtags'
|
||||||
|
```
|
||||||
|
|
||||||
|
With this layer, you can jump to method and class definitions easily (using `ctrl + ]` by default).
|
||||||
|
Read [gtags](../layers/gtags/) layer for more info.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Jump to test file
|
### Jump to test file
|
||||||
|
|
||||||
To manage the alternate file for a project, you may need to create a `.project_alt.json` file in the root of your
|
To manage the alternate file for a project, you may need to create a `.project_alt.json` file in the root of your
|
||||||
@ -81,8 +97,9 @@ It is running asynchronously, and will not block your Vim.
|
|||||||
|
|
||||||
### Code formatting
|
### Code formatting
|
||||||
|
|
||||||
The format layer is also enabled by default. With this layer you can use key binding `SPC b f` to format current buffer.
|
The [format](../layers/format/) layer is also enabled by default.
|
||||||
Before using this feature, please install php_beautifier:
|
With this layer you can use key binding `SPC b f` to format current buffer.
|
||||||
|
Before using this feature, please install [php_beautifier](http://phpbeautifier.com/):
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
pear install PHP_Beautifier
|
pear install PHP_Beautifier
|
||||||
|
@ -10,33 +10,41 @@ description: "PHP language support, including code completion, syntax lint and c
|
|||||||
- [Description](#description)
|
- [Description](#description)
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
- [Install](#install)
|
- [Install](#install)
|
||||||
|
- [Layer options](#layer-options)
|
||||||
- [Key bindings](#key-bindings)
|
- [Key bindings](#key-bindings)
|
||||||
- [Jump to definition](#jump-to-definition)
|
- [Jump to definition](#jump-to-definition)
|
||||||
- [Running current script](#running-current-script)
|
- [Running current script](#running-current-script)
|
||||||
|
- [Inferior REPL process](#inferior-repl-process)
|
||||||
|
|
||||||
<!-- vim-markdown-toc -->
|
<!-- vim-markdown-toc -->
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
This layer adds PHP language support to SpaceVim.
|
`lang#php` layer provides PHP language support in SpaceVim.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- auto-completion
|
- code completion (`autocomplete` layer)
|
||||||
- syntax checking
|
- code formatting (`format` layer)
|
||||||
|
- syntax checking (`checkers` layer)
|
||||||
- goto definition
|
- goto definition
|
||||||
- reference finder
|
- reference finder (`gtags` layer)
|
||||||
- lsp support (require [lsp](https://spacevim.org/layers/language-server-protocol/) layer)
|
- language server protocol support (`lsp` layer)
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
To use this configuration layer, update custom configuration file with:
|
This layer is not enabled by default. To use this layer, you need to add following
|
||||||
|
snippet into SpaceVim configuration file:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[[layers]]
|
[[layers]]
|
||||||
name = "lang#php"
|
name = "lang#php"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Layer options
|
||||||
|
|
||||||
|
- `php_interpreter`: Set the PHP interpreter, by default, it is `php`.
|
||||||
|
|
||||||
## Key bindings
|
## Key bindings
|
||||||
|
|
||||||
### Jump to definition
|
### Jump to definition
|
||||||
@ -49,3 +57,16 @@ To use this configuration layer, update custom configuration file with:
|
|||||||
|
|
||||||
To running a php script, you can press `SPC l r` to run current file without loss focus,
|
To running a php script, you can press `SPC l r` to run current file without loss focus,
|
||||||
and the result will be shown in a runner buffer.
|
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 |
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user