annotate runtime/plugin/netrwPlugin.vim @ 26677:51db19c22522

Added tag v8.2.3867 for changeset b856b797c5d1ef1fcf8a690ed0b35e0a03c73215
author Bram Moolenaar <Bram@vim.org>
date Tue, 21 Dec 2021 14:30:04 +0100
parents d4faa2c5211b
children b2e8663e6dcc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
1 " netrwPlugin.vim: Handles file transfer and remote directory listing across a network
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
2 " PLUGIN SECTION
25700
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
3 " Date: Feb 09, 2021
19099
1a951a4beee3 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18750
diff changeset
4 " Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
5 " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
25700
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
6 " Copyright: Copyright (C) 1999-2021 Charles E. Campbell {{{1
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
7 " Permission is hereby granted to use and distribute this code,
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
8 " with or without modifications, provided that this copyright
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
9 " notice is copied with it. Like anything else that's free,
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
10 " netrw.vim, netrwPlugin.vim, and netrwSettings.vim are provided
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
11 " *as is* and comes with no warranty of any kind, either
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
12 " expressed or implied. By using this plugin, you agree that
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
13 " in no event will the copyright holder be liable for any damages
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
14 " resulting from the use of this software.
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
15 "
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
16 " But be doers of the Word, and not only hearers, deluding your own selves {{{1
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
17 " (James 1:22 RSV)
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
18 " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
19 " Load Once: {{{1
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
20 if &cp || exists("g:loaded_netrwPlugin")
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
21 finish
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
22 endif
25700
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
23 let g:loaded_netrwPlugin = "v171"
2034
7bc41231fbc7 Update runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
24 let s:keepcpo = &cpo
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
25 set cpo&vim
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
26 "DechoRemOn
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
27
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
28 " ---------------------------------------------------------------------
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
29 " Public Interface: {{{1
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
30
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
31 " Local Browsing Autocmds: {{{2
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
32 augroup FileExplorer
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
33 au!
5734
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5618
diff changeset
34 au BufLeave * if &ft != "netrw"|let w:netrw_prvfile= expand("%:p")|endif
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
35 au BufEnter * sil call s:LocalBrowse(expand("<amatch>"))
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
36 au VimEnter * sil call s:VimEnter(expand("<amatch>"))
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
37 if has("win32") || has("win95") || has("win64") || has("win16")
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
38 au BufEnter .* sil call s:LocalBrowse(expand("<amatch>"))
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
39 endif
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
40 augroup END
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
41
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
42 " Network Browsing Reading Writing: {{{2
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
43 augroup Network
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
44 au!
17433
ca8e754bdd53 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 13030
diff changeset
45 au BufReadCmd file://* call netrw#FileUrlEdit(expand("<amatch>"))
ca8e754bdd53 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 13030
diff changeset
46 au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
6476
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
47 au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
48 au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
49 au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
18130
1e5672da6a69 Updte runtime files
Bram Moolenaar <Bram@vim.org>
parents: 17433
diff changeset
50 try
6476
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
51 au SourceCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
18130
1e5672da6a69 Updte runtime files
Bram Moolenaar <Bram@vim.org>
parents: 17433
diff changeset
52 catch /^Vim\%((\a\+)\)\=:E216/
6476
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
53 au SourcePre ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
54 endtry
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
55 augroup END
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
56
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
57 " Commands: :Nread, :Nwrite, :NetUserPass {{{2
8148
f5da459c5698 commit https://github.com/vim/vim/commit/e0fa3742ead676a3074a10edadbc955e1a89153d
Christian Brabandt <cb@256bit.org>
parents: 7183
diff changeset
58 com! -count=1 -nargs=* Nread let s:svpos= winsaveview()<bar>call netrw#NetRead(<count>,<f-args>)<bar>call winrestview(s:svpos)
f5da459c5698 commit https://github.com/vim/vim/commit/e0fa3742ead676a3074a10edadbc955e1a89153d
Christian Brabandt <cb@256bit.org>
parents: 7183
diff changeset
59 com! -range=% -nargs=* Nwrite let s:svpos= winsaveview()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call winrestview(s:svpos)
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
60 com! -nargs=* NetUserPass call NetUserPass(<f-args>)
8148
f5da459c5698 commit https://github.com/vim/vim/commit/e0fa3742ead676a3074a10edadbc955e1a89153d
Christian Brabandt <cb@256bit.org>
parents: 7183
diff changeset
61 com! -nargs=* Nsource let s:svpos= winsaveview()<bar>call netrw#NetSource(<f-args>)<bar>call winrestview(s:svpos)
17433
ca8e754bdd53 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 13030
diff changeset
62 com! -nargs=? Ntree call netrw#SetTreetop(1,<q-args>)
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
63
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
64 " Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
65 com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
66 com! -nargs=* -bar -bang -count=0 -complete=dir Sexplore call netrw#Explore(<count>,1,0+<bang>0,<q-args>)
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
67 com! -nargs=* -bar -bang -count=0 -complete=dir Hexplore call netrw#Explore(<count>,1,2+<bang>0,<q-args>)
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
68 com! -nargs=* -bar -bang -count=0 -complete=dir Vexplore call netrw#Explore(<count>,1,4+<bang>0,<q-args>)
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
69 com! -nargs=* -bar -count=0 -complete=dir Texplore call netrw#Explore(<count>,0,6 ,<q-args>)
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
70 com! -nargs=* -bar -bang Nexplore call netrw#Explore(-1,0,0,<q-args>)
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
71 com! -nargs=* -bar -bang Pexplore call netrw#Explore(-2,0,0,<q-args>)
6476
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
72 com! -nargs=* -bar -bang -count=0 -complete=dir Lexplore call netrw#Lexplore(<count>,<bang>0,<q-args>)
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
73
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
74 " Commands: NetrwSettings {{{2
1618
46bbe11644e0 updated for version 7.2a
vimboss
parents: 1118
diff changeset
75 com! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings()
5734
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5618
diff changeset
76 com! -bang NetrwClean call netrw#Clean(<bang>0)
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
77
649
8157079cea85 updated for version 7.0191
vimboss
parents: 557
diff changeset
78 " Maps:
6476
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
79 if !exists("g:netrw_nogx")
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
80 if maparg('gx','n') == ""
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
81 if !hasmapto('<Plug>NetrwBrowseX')
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
82 nmap <unique> gx <Plug>NetrwBrowseX
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
83 endif
18594
e9a47bcf7b94 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18130
diff changeset
84 nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(netrw#GX(),netrw#CheckIfRemote(netrw#GX()))<cr>
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
85 endif
25700
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
86 if maparg('gx','x') == ""
6476
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
87 if !hasmapto('<Plug>NetrwBrowseXVis')
25700
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
88 xmap <unique> gx <Plug>NetrwBrowseXVis
6476
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
89 endif
25700
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
90 xno <silent> <Plug>NetrwBrowseXVis :<c-u>call netrw#BrowseXVis()<cr>
6476
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
91 endif
649
8157079cea85 updated for version 7.0191
vimboss
parents: 557
diff changeset
92 endif
7183
ffad29dc7eee commit https://github.com/vim/vim/commit/a0f849ee40cbea3c889345256786b640b0becca2
Christian Brabandt <cb@256bit.org>
parents: 6476
diff changeset
93 if exists("g:netrw_usetab") && g:netrw_usetab
ffad29dc7eee commit https://github.com/vim/vim/commit/a0f849ee40cbea3c889345256786b640b0becca2
Christian Brabandt <cb@256bit.org>
parents: 6476
diff changeset
94 if maparg('<c-tab>','n') == ""
ffad29dc7eee commit https://github.com/vim/vim/commit/a0f849ee40cbea3c889345256786b640b0becca2
Christian Brabandt <cb@256bit.org>
parents: 6476
diff changeset
95 nmap <unique> <c-tab> <Plug>NetrwShrink
ffad29dc7eee commit https://github.com/vim/vim/commit/a0f849ee40cbea3c889345256786b640b0becca2
Christian Brabandt <cb@256bit.org>
parents: 6476
diff changeset
96 endif
ffad29dc7eee commit https://github.com/vim/vim/commit/a0f849ee40cbea3c889345256786b640b0becca2
Christian Brabandt <cb@256bit.org>
parents: 6476
diff changeset
97 nno <silent> <Plug>NetrwShrink :call netrw#Shrink()<cr>
ffad29dc7eee commit https://github.com/vim/vim/commit/a0f849ee40cbea3c889345256786b640b0becca2
Christian Brabandt <cb@256bit.org>
parents: 6476
diff changeset
98 endif
649
8157079cea85 updated for version 7.0191
vimboss
parents: 557
diff changeset
99
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
100 " ---------------------------------------------------------------------
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
101 " LocalBrowse: invokes netrw#LocalBrowseCheck() on directory buffers {{{2
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
102 fun! s:LocalBrowse(dirname)
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
103 " Unfortunate interaction -- only DechoMsg debugging calls can be safely used here.
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
104 " Otherwise, the BufEnter event gets triggered when attempts to write to
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
105 " the DBG buffer are made.
18130
1e5672da6a69 Updte runtime files
Bram Moolenaar <Bram@vim.org>
parents: 17433
diff changeset
106
4502
605c9ce57ec3 Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents: 4339
diff changeset
107 if !exists("s:vimentered")
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
108 " If s:vimentered doesn't exist, then the VimEnter event hasn't fired. It will,
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
109 " and so s:VimEnter() will then be calling this routine, but this time with s:vimentered defined.
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
110 " call Dfunc("s:LocalBrowse(dirname<".a:dirname.">) (s:vimentered doesn't exist)")
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
111 " call Dret("s:LocalBrowse")
4502
605c9ce57ec3 Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents: 4339
diff changeset
112 return
605c9ce57ec3 Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents: 4339
diff changeset
113 endif
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
114
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
115 " call Dfunc("s:LocalBrowse(dirname<".a:dirname.">) (s:vimentered=".s:vimentered.")")
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
116
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
117 if has("amiga")
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
118 " The check against '' is made for the Amiga, where the empty
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
119 " string is the current directory and not checking would break
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
120 " things such as the help command.
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
121 " call Decho("(LocalBrowse) dirname<".a:dirname."> (isdirectory, amiga)")
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
122 if a:dirname != '' && isdirectory(a:dirname)
2751
b0d34143ebfc Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2426
diff changeset
123 sil! call netrw#LocalBrowseCheck(a:dirname)
6476
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
124 if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
5734
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5618
diff changeset
125 exe w:netrw_bannercnt
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5618
diff changeset
126 endif
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
127 endif
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
128
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 755
diff changeset
129 elseif isdirectory(a:dirname)
5734
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5618
diff changeset
130 " call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5618
diff changeset
131 " call Dredir("LocalBrowse ft last set: ","verbose set ft")
25700
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
132 " Jul 13, 2021: for whatever reason, preceding the following call with
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
133 " a sil! causes an unbalanced if-endif vim error
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
134 call netrw#LocalBrowseCheck(a:dirname)
6476
11d78e58a487 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5929
diff changeset
135 if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
5734
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5618
diff changeset
136 exe w:netrw_bannercnt
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5618
diff changeset
137 endif
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
138
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
139 else
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
140 " not a directory, ignore it
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
141 " call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...")
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
142 endif
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
143
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
144 " call Dret("s:LocalBrowse")
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
145 endfun
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
146
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
147 " ---------------------------------------------------------------------
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
148 " s:VimEnter: after all vim startup stuff is done, this function is called. {{{2
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
149 " Its purpose: to look over all windows and run s:LocalBrowse() on
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
150 " them, which checks if they're directories and will create a directory
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
151 " listing when appropriate.
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
152 " It also sets s:vimentered, letting s:LocalBrowse() know that s:VimEnter()
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
153 " has already been called.
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 2034
diff changeset
154 fun! s:VimEnter(dirname)
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
155 " call Dfunc("s:VimEnter(dirname<".a:dirname.">) expand(%)<".expand("%").">")
25700
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
156 if has('nvim') || v:version < 802
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
157 " Johann Höchtl: reported that the call range... line causes an E488: Trailing characters
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
158 " error with neovim. I suspect its because neovim hasn't updated with recent
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
159 " vim patches. As is, this code will have problems with popup terminals
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
160 " instantiated before the VimEnter event runs.
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
161 " Ingo Karkat : E488 also in Vim 8.1.1602
4502
605c9ce57ec3 Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents: 4339
diff changeset
162 let curwin = winnr()
605c9ce57ec3 Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents: 4339
diff changeset
163 let s:vimentered = 1
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
164 windo call s:LocalBrowse(expand("%:p"))
2426
e52d87a2bb3e More runtime file updates.
Bram Moolenaar <bram@vim.org>
parents: 2420
diff changeset
165 exe curwin."wincmd w"
25700
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
166 else
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
167 " the following complicated expression comes courtesy of lacygoill; largely does the same thing as the windo and
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
168 " wincmd which are commented out, but avoids some side effects. Allows popup terminal before VimEnter.
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
169 let s:vimentered = 1
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
170 call range(1, winnr('$'))->map({_, v -> win_execute(win_getid(v), 'call expand("%:p")->s:LocalBrowse()')})
d4faa2c5211b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22328
diff changeset
171 endif
5618
350272cbf1fd Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4502
diff changeset
172 " call Dret("s:VimEnter")
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 2034
diff changeset
173 endfun
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 2034
diff changeset
174
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 2034
diff changeset
175 " ---------------------------------------------------------------------
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
176 " NetrwStatusLine: {{{1
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
177 fun! NetrwStatusLine()
755
d01e3133478f updated for version 7.0224
vimboss
parents: 718
diff changeset
178 " let g:stlmsg= "Xbufnr=".w:netrw_explore_bufnr." bufnr=".bufnr("%")." Xline#".w:netrw_explore_line." line#".line(".")
d01e3133478f updated for version 7.0224
vimboss
parents: 718
diff changeset
179 if !exists("w:netrw_explore_bufnr") || w:netrw_explore_bufnr != bufnr("%") || !exists("w:netrw_explore_line") || w:netrw_explore_line != line(".") || !exists("w:netrw_explore_list")
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
180 let &stl= s:netrw_explore_stl
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
181 if exists("w:netrw_explore_bufnr")|unlet w:netrw_explore_bufnr|endif
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
182 if exists("w:netrw_explore_line")|unlet w:netrw_explore_line|endif
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
183 return ""
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
184 else
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
185 return "Match ".w:netrw_explore_mtchcnt." of ".w:netrw_explore_listlen
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
186 endif
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
187 endfun
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
188
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
189 " ------------------------------------------------------------------------
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
190 " NetUserPass: set username and password for subsequent ftp transfer {{{1
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
191 " Usage: :call NetUserPass() -- will prompt for userid and password
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
192 " :call NetUserPass("uid") -- will prompt for password
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
193 " :call NetUserPass("uid","password") -- sets global userid and password
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
194 fun! NetUserPass(...)
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
195
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
196 " get/set userid
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
197 if a:0 == 0
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
198 " call Dfunc("NetUserPass(a:0<".a:0.">)")
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
199 if !exists("g:netrw_uid") || g:netrw_uid == ""
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
200 " via prompt
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
201 let g:netrw_uid= input('Enter username: ')
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
202 endif
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
203 else " from command line
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
204 " call Dfunc("NetUserPass(a:1<".a:1.">) {")
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
205 let g:netrw_uid= a:1
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
206 endif
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
207
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
208 " get password
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
209 if a:0 <= 1 " via prompt
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
210 " call Decho("a:0=".a:0." case <=1:")
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
211 let g:netrw_passwd= inputsecret("Enter Password: ")
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
212 else " from command line
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
213 " call Decho("a:0=".a:0." case >1: a:2<".a:2.">")
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
214 let g:netrw_passwd=a:2
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
215 endif
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
216 " call Dret("NetUserPass")
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
217 endfun
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
218
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
219 " ------------------------------------------------------------------------
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
220 " Modelines And Restoration: {{{1
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
221 let &cpo= s:keepcpo
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
222 unlet s:keepcpo
c6296b0ad9ea updated for version 7.0151
vimboss
parents:
diff changeset
223 " vim:ts=8 fdm=marker