Browse Source

README: Lambda expression as post-update hook

Junegunn Choi 1 năm trước cách đây
mục cha
commit
6154433e22
2 tập tin đã thay đổi với 22 bổ sung16 xóa
  1. 13 8
      README.md
  2. 9 8
      doc/plug.txt

+ 13 - 8
README.md

@@ -311,8 +311,14 @@ If the value starts with `:`, it will be recognized as a Vim command.
 Plug 'fatih/vim-go', { 'do': ':GoInstallBinaries' }
 ```
 
+To call a Vim function, you can pass a lambda expression like so:
+
+```vim
+Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
+```
+
 If you need more control, you can pass a reference to a Vim function that
-takes a single argument.
+takes a dictionary argument.
 
 ```vim
 function! BuildYCM(info)
@@ -328,14 +334,13 @@ endfunction
 Plug 'ycm-core/YouCompleteMe', { 'do': function('BuildYCM') }
 ```
 
-Both forms of post-update hook are executed inside the directory of the plugin
-and only run when the repository has changed, but you can force it to run
-unconditionally with the bang-versions of the commands: `PlugInstall!` and
-`PlugUpdate!`.
+A post-update hook is executed inside the directory of the plugin and only run
+when the repository has changed, but you can force it to run unconditionally
+with the bang-versions of the commands: `PlugInstall!` and `PlugUpdate!`.
 
-Make sure to escape BARs and double-quotes when you write the `do` option inline
-as they are mistakenly recognized as command separator or the start of the
-trailing comment.
+Make sure to escape BARs and double-quotes when you write the `do` option
+inline as they are mistakenly recognized as command separator or the start of
+the trailing comment.
 
 ```vim
 Plug 'junegunn/fzf', { 'do': 'yes \| ./install' }

+ 9 - 8
doc/plug.txt

@@ -1,4 +1,4 @@
-plug.txt	plug	Last change: January 19 2023
+plug.txt	plug	Last change: February 23 2024
 PLUG - TABLE OF CONTENTS                                         *plug* *plug-toc*
 ==============================================================================
 
@@ -297,13 +297,15 @@ In that case, use the `do` option to describe the task to be performed.
     Plug 'ycm-core/YouCompleteMe', { 'do': './install.py' }
 <
 If the value starts with `:`, it will be recognized as a Vim command.
-
-                                                            *:GoInstallBinaries*
 >
     Plug 'fatih/vim-go', { 'do': ':GoInstallBinaries' }
 <
+To call a Vim function, you can pass a lambda expression like so:
+>
+    Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
+<
 If you need more control, you can pass a reference to a Vim function that
-takes a single argument.
+takes a dictionary argument.
 >
     function! BuildYCM(info)
       " info is a dictionary with 3 fields
@@ -317,10 +319,9 @@ takes a single argument.
 
     Plug 'ycm-core/YouCompleteMe', { 'do': function('BuildYCM') }
 <
-Both forms of post-update hook are executed inside the directory of the plugin
-and only run when the repository has changed, but you can force it to run
-unconditionally with the bang-versions of the commands: `PlugInstall!` and
-`PlugUpdate!`.
+A post-update hook is executed inside the directory of the plugin and only run
+when the repository has changed, but you can force it to run unconditionally
+with the bang-versions of the commands: `PlugInstall!` and `PlugUpdate!`.
 
 Make sure to escape BARs and double-quotes when you write the `do` option
 inline as they are mistakenly recognized as command separator or the start of