Commit graph

683 commits

Author SHA1 Message Date
Karl Yngve Lervåg
be55ec46b5
Check the actual value g:did_load_filetypes (#1176)
This resolves the issue described in #1175.
2022-04-21 22:54:02 +09:00
Junegunn Choi
93ab590978
Include plugins with 'commit' values in PlugSnapshot output
Fix #1167
2022-04-04 11:52:45 +09:00
Junegunn Choi
e300178a0e
Change the default plugin directory for Neovim
And suggest users to call plug#begin() without an argument to avoid
confusion.
2022-01-03 23:05:08 +09:00
Shawn Hatori
f085751ca1
README: Clarify recommended plugins directory for Windows Vim (#1151) 2022-01-03 22:47:53 +09:00
Jaehwang Jerry Jung
68488fd7a3
Fix unexpected cursor movement on on-demand imap loading (#1147)
`i_CTRL-O` may change the cursor position in an unexpected way.
For example, when `autoindent` is set, the user will expect that
`i  asdf<CR><C-O>` will place the cursor right below `a`.
However, `<C-O>` moves the cursor to the first column of line 2.

Expected:
```
  asdf
  █
```
Actual:
```
  asdf
█
```

Therefore, it's desirable to use `i_CTRL-\_CTRL-O`, the variant of
`i_CTRL-O` that does not move the cursor.
2021-12-06 14:26:19 +09:00
Junegunn Choi
93a115718f
Migrate to GitHub Actions
Close #1128

TODO:
- Neovim stale/unstable
  - https://github.com/junegunn/vim-plug/runs/4422576984?check_suite_focus=true#step:3:238
- Vim 7.4
  - Ruby parallel installer
  - Python parallel installer
2021-12-05 23:42:23 +09:00
Gibson Fahnestock
c9971346bb
Set --origin=origin for git clone commands (#1117)
Otherwise if the user has set a `git config clone.defaultRemoteName
foo`, then vim-plug will fail to detect the latest upstream changes as
the remote will be incorrect, and will repeatedly state that the plugin
repo needs to be cleaned.
2021-08-31 17:14:37 +09:00
Matúš Ferech
66e038d443
Add --create-dirs option to flatpak installation instrictions (#1126) 2021-08-29 17:20:58 -04:00
Gerald
fc2813ef44
Recognize pwsh(.exe) as PowerShell (#1090)
Fix #1065
2021-04-30 16:29:04 +09:00
Rosen Stoyanov
cffcfe150b
Add GV.vim-style q mapping (#827)
* Add GV.vim-style q mapping

* Fix test cases

Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
2021-02-08 16:23:21 +09:00
mattn
8b45742540
Disable credential.helper for git fetch (#1046) 2020-12-14 14:30:44 +09:00
Dylan
5430b6213a
XDG_DATA_HOME respecting powershell script (#1042)
This version supports Powershell 5.1 (shipped in the latest install of Windows 10)
2020-12-03 22:46:45 +09:00
Junegunn Choi
2f4e28161e
Set empty credential.helper only when git 2.0 or above is available
Fix #1031
2020-11-03 22:55:17 +09:00
Subhaditya Nath
ab940f624a
Fix syntax matches (#1028)
Previously, the highlight of the `------------` line below the `Last Update:`
changed from `plugH2` on the whole line to `plugDash` on the first `-`
when the cursor moved over it and went below it. This commit updates the
`syn match` commands a bit to correct that issue.

Close #1027
2020-10-23 00:05:18 +09:00
mattn
c44422460e
Disable credential-helper (#1026) 2020-10-20 20:48:58 +09:00
Junegunn Choi
d16273e072
Code cleanup 2020-09-08 22:39:56 +09:00
mattn
b17f477585
Reduce the number of git processes for faster operation (#937)
* Make git operation faster

When using many plugins, vim-plug may spawn many git processes for them.

* get revision
* get branch
* get remote.origin.url

This is too heavy. especially on Windows. This change get revision, branch,
remote origin url directly from .git directory.

This idea is borrowed from @k-takata's commit for minpac.

Executing external programs is slow especially on Windows.
Read the information directly from .git directory.

* Copied from devel branch of minpac

* Avoid errors

* Show errors

* Use empty()

* Use empty string instead of v:null

* Check spec.branch is empty

* Use branch

* Fix branch and revision

* Remove l: and use s:trim

* Fix and simplify s:git_get_remote_origin_url

* Do not cut off commit hash for correctness

Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
2020-09-08 22:13:21 +09:00
Junegunn Choi
4a3e85e878
Test Neovim on Bionic
https://github.com/neovim/neovim/pull/12802
2020-09-08 17:27:20 +09:00
Junegunn Choi
a9bf5bd722 "non-master branch" -> "non-default branch" 2020-08-30 02:05:50 +09:00
Junegunn Choi
e8892a9bef Update test cases 2020-08-30 02:05:50 +09:00
Junegunn Choi
49be3a8ca9 Use branch name of origin if not specified 2020-08-30 02:05:50 +09:00
Junegunn Choi
95ef5e8d5f PlugDiff should be able to find pending updates
# We need the name of the default branch of origin
  git checkout some-tag-or-commit
  git log ..origin/master
2020-08-30 02:05:50 +09:00
Junegunn Choi
6fa6475fee User-specified branch name should not be empty 2020-08-30 02:05:50 +09:00
Yasuhiro Matsumoto
588467903b Use branch 2020-08-30 02:05:50 +09:00
Yasuhiro Matsumoto
5706f70f8f Add missing function 2020-08-30 02:05:50 +09:00
Yasuhiro Matsumoto
4a3c5e7ac2 Support non-master default branch 2020-08-30 02:05:50 +09:00
David Barnett
d53d5a976f
Add |:Plug| tag in help docs (#951) 2020-08-29 10:43:05 +09:00
timm bangma
13ea184015
Update README.md (Powershell Install One-Liner) (#1003)
A tidy one liner for the powershell install command. 
Much like the unix one 😄
2020-08-08 18:25:59 -04:00
Raphael Martin Schindler
457bebcd30
Fix typos (#1001)
Add missing 'the' in some phrases and sentences.
Use "Easy", not "Easier", because there are no comparisons in the same sentence or phrase.
2020-08-02 11:52:56 -04:00
Jan Edmund Lazo
b2133cf2ec
Support Windows shell without extension (#997)
Close https://github.com/junegunn/vim-plug/issues/995

Vim supports omitting file extensions for its option.
I omitted the file extension in Neovim's documentation for powershell.
2020-07-20 07:59:29 -04:00
Jan Edmund Lazo
c319036396
Fix #961 tests for Vim 7.4 (#990)
Use build stages to group related jobs (Vim, Neovim, Vim 7.4).
Use "silent" to avoid hit-enter prompt when redirecting output.
Always run async and sync tests to debug runtime errors. 
Vim 7.4.0052 (Ubuntu Trusty) does not allow dynamic keys in inline dictionary.

https://docs.travis-ci.com/user/build-stages/
2020-07-06 01:07:42 -04:00
Wolf Honore
3aa3b5a4e8
Report when PlugClean fails to remove a directory (#985) 2020-06-25 20:56:47 +09:00
Junegunn Choi
01aab60ade
Fix PowerShell instruction for Neovim
Close #976
2020-06-08 23:48:55 +09:00
Jan Edmund Lazo
6583b99032
:Plug throws error for invalid option (#961)
":Plug" performs a quick type check for most options so that the user can check which plugin has invalid configuration on startup. This does not prevent errors, resulting from modiying "g:plugs" after running "plug#end()". Plugin repo is added to the error message for convenience. Most users should expect no noticeable difference in startup time.

Close: #930
Related: #936
2020-06-03 07:34:44 -04:00
Gianluca Recchia
71c41fccf5
Comply with the XDG protocol in the README (#966) 2020-05-06 19:57:50 +09:00
Stefano
8846bc6af1
Add Flatpak installation instructions to README.md (#846)
Tested with https://flathub.org/apps/details/io.neovim.nvim
2020-05-05 21:54:46 -04:00
Harshad Srinivasan
0862a76fdd
Updated readme (#967)
Co-authored-by: Harshad Srinivasan <harshad.srinivasan@lmi3d.com>
2020-05-05 21:28:53 -04:00
Junegunn Choi
54d837fa54
Load plugin before running funcref hook
Fix #964
Fix https://github.com/junegunn/fzf.vim/issues/1008
2020-05-03 16:59:22 +09:00
Jan Edmund Lazo
e718868e85
Use list type for command in s:spawn() (#959)
This allows Neovim to bypass the shell and run git directly.
Vim still needs the shell because of how commands are collapsed on Windows and because setting the job's working directory via "cwd" does not work.

Refactored s:clone_opt to a list to make this possible.
2020-04-11 10:49:47 -04:00
Jan Edmund Lazo
668bc0fd2a
Support list type command for s:system to reduce batchfiles on Windows (#956)
* s:system supports list type for command

Objective is to reduce batchfiles on Windows.
List type gives more flexibility on s:system()
on how to pass the shell command to the builtin system().
If system() supports list type for command
and there is no working directory, run it directly on system().
Targets Neovim only.
Else, convert the list to an escaped command
so that the user's shell can execute it.
Neovim's system() does not support working directory system()
so consider refactoring s:system to use a synchronous job.

* Do not escape simple shell arguments

Regexp taken from vim-fugitive s:shellesc().

* Set shellredir on Windows

Prep to use list type for command  passed to s:system() within s:spawn()

* Internalize shellredir for s:spawn

s:spawn needs to redirect stderr to stdout for jobs callbacks
but s:system (for old Vim versions) sets shellredir if needed.

* Leverage job api for cwd and stderr

Vim/Neovim support stderr redirection and support error callbacks.
Vim 8 and Neovim can set a job's working directory via 'cwd' key
but it cannot be used as is on Vim because CI fails for the Vim release in Ubuntu Bionic and the latest Vim release.
2020-04-10 15:40:28 -04:00
Henré Botha
c3b6b7c297 Clarify error message (#931)
The existing error message printed when plug#end() is called without
calling plug#begin() doesn't make the dependence on plug#begin()
obvious; I had to go digging in the vim-plug code to discover what I'd
done wrong. This attempts to clarify the error a bit, to make it more
obvious to a user.
2020-01-27 22:48:16 +09:00
Jan Edmund Lazo
2f5f74e5e6
Validate last buffer line of g:plug_window (#927)
Close #926

This fix shouldn't be necessary
because vim-plug's buffer should always have 4 lines
but a buffer can be modified in some cases
before nvim 0.4.0 and vim v8.1.1360.
2020-01-05 19:59:59 -05:00
Jan Edmund Lazo
b2aa5724c0
Use iconv() only if +iconv is enabled. (#921)
TODO: Avoid iconv() for commands using ascii only.
2019-12-27 22:35:49 -05:00
Jan Edmund Lazo
359ce90b9b
Encode batchfile in current codepage. (#913)
Changing chcp breaks cmd.exe if switching from multi-byte to 65001.
cmd.exe depends on codepage to parse batchfile
so batchfile cannot have unicode characters.
Target powershell if unicode support is required.

User should fix their terminal font to display unicode characters.
Terminal programs can only use Wide String APIs.
For Vim, this requires +multi_byte feature and `set encoding=utf-8`
in the user's vimrc.
Neovim always defaults to `set encoding=utf-8`.

https://dev.to/mattn/please-stop-hack-chcp-65001-27db
2019-12-11 08:28:49 -05:00
Jan Edmund Lazo
e6ed2e5658
Do not show git signatures in diff window (#918)
git v2.10.0 adds "log.showSignature" config
so that "git log --show-signature" runs by default.
Changing the commit format via "--pretty" does not prevent the signature
from appearing.
Only "--no-show-signature" prevents this.

Close #728
2019-12-09 23:26:56 -05:00
Jan Edmund Lazo
897ce5e2fa
Set/unset shellslash on jobstart (#917) 2019-12-07 01:05:57 -05:00
Jan Edmund Lazo
d2f8ca2dbc
Detect shellslash on Windows (#916)
Warn user if shellslash and shell are incompatible.

Set/unset shellslash for file functions on Windows. Based on 16fc6862a8/plugin/fzf.vim (L30-L107)

Support shellescape for git-bash
Windows user may not set shellslash but wish to use git-bash.
This requires custom shellescape for sh,bash shells
because builtin shellescape() depends on shellslash.
Tested on Vim
2019-12-05 19:34:41 -05:00
Jan Edmund Lazo
93b702512d
Fix shellescaping for git refs and batchfile on Windows (#909)
It was using s:esc() which escapes spaces with a backslash.
This does not work on Windows.

&shell could be escaped on because of spaces.
See patch-8.0.1455 and related 8.1.x patches that address this
for $SHELL on Unix and git-bash on Windows.

Related #852, #908 
Close #890
2019-12-01 21:01:17 -05:00
Jan Edmund Lazo
68fef9c2fd
Delete batchfile only if it exists (#901)
Close #900
2019-11-03 21:10:37 -05:00
Daniel Hahler
eee50c55bf Use s:path with s:rtp always (#694)
Having a trailing slash with &rtp entries is problematic when removing
them later: if loading on demand is used, s:reorg_rtp might fail to
remove the previous runtime paths.

Test case has been using maktaba (which triggers unsetting s:middle in
s:reorg_rtp), but because of the trailing slashes being used, the
previous rtp entries were not removed.
2019-10-20 21:52:29 -04:00