From 66fc953a42554db56653c2e7a351d94b4cef1f80 Mon Sep 17 00:00:00 2001 From: fent <933490+fent@users.noreply.github.com> Date: Sun, 22 Apr 2018 19:53:53 -0400 Subject: [PATCH 1/5] move plugin to ftplugin folder for faster startup --- .../applescript => applescript}/activate-vmp.scpt | Bin .../applescript => applescript}/search-for-vmp.scpt | Bin .../markdown.vim | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename {plugin/applescript => applescript}/activate-vmp.scpt (100%) rename {plugin/applescript => applescript}/search-for-vmp.scpt (100%) rename plugin/vim-markdown-preview.vim => ftplugin/markdown.vim (99%) diff --git a/plugin/applescript/activate-vmp.scpt b/applescript/activate-vmp.scpt similarity index 100% rename from plugin/applescript/activate-vmp.scpt rename to applescript/activate-vmp.scpt diff --git a/plugin/applescript/search-for-vmp.scpt b/applescript/search-for-vmp.scpt similarity index 100% rename from plugin/applescript/search-for-vmp.scpt rename to applescript/search-for-vmp.scpt diff --git a/plugin/vim-markdown-preview.vim b/ftplugin/markdown.vim similarity index 99% rename from plugin/vim-markdown-preview.vim rename to ftplugin/markdown.vim index 082c69f..11d11f5 100644 --- a/plugin/vim-markdown-preview.vim +++ b/ftplugin/markdown.vim @@ -3,7 +3,7 @@ " git@github.com:JamshedVesuna/vim-markdown-preview.git "============================================================ -let g:vmp_script_path = resolve(expand(':p:h')) +let g:vmp_script_path = resolve(expand(':p:h') . '/..') let g:vmp_osname = 'Unidentified' From 032159e16dcfc18b9d127803a6d1ca403c959fd5 Mon Sep 17 00:00:00 2001 From: fent <933490+fent@users.noreply.github.com> Date: Sun, 22 Apr 2018 23:06:42 -0400 Subject: [PATCH 2/5] move main functionality to autoload folder --- applescript/activate-vmp.scpt | Bin 3014 -> 2940 bytes applescript/search-for-vmp.scpt | Bin 1720 -> 1592 bytes autoload/vim_markdown_preview.vim | 129 +++++++++++++++++++++++++++ ftplugin/markdown.vim | 141 ++---------------------------- 4 files changed, 137 insertions(+), 133 deletions(-) create mode 100644 autoload/vim_markdown_preview.vim diff --git a/applescript/activate-vmp.scpt b/applescript/activate-vmp.scpt index 511402b6a44e9b02d94d46c4019959154c95856f..4b3a7224ff759c16fefbe16084382160f8cdc988 100644 GIT binary patch delta 851 zcmZY6TTc@~7zW^XyW3g^oy5dLObpgPKojpIYLpgAK`DoF(7W28R)IFH#>@VQy)r51 z^Px~E&>}}6!E3KI#NS~|UT3q(W{h(&J2US$&zIdjzxC&4<(p+1rJ()Y>a>4Zm+U+K zYsO={$sbZXE7%f+K{f1`{wFV-1+?MrMJWAII|Qyg&E-Zi>C}fzcB}v&?uDE6ljc}9 z`(|V~6nUG^jt)1aa=Eab2z1wHf+$+0dKlNyCea4#HXiVd zr~E2-21}$rWyVaN8lUar?(Dxc|?UNAOwvg1D(BzeF5J@Gjxh`1o z_zj0&*95_;$8U*7!A&ic>LnE4C(-ACNtU_BRf(j_uW*@5f-9cB?C47xAXqGW{Fz(X!Q6-`e<1BKeSYupvOTw+M0M2#c?k2$yWHng|m zzVG{5wF>RkdazJIdMoXqz~SkZ@%yG``*kje{X)gHUG)&((}E>XLq&n z&3(nl_vC6jMxn=-bNKA^cf~zGdw2J(@znDuqk^HM<5&*P2h{+weHZuV*R0NPI+{x3 z8oa>a^WvDw=bG`+@t4;s){tkCYQ913_g8AZMD~yC(9skMM>@LGiB!9@B<6SHT^4uf|^_yDCe3K8c6W-F%O7ms&g$S435y3H= zA2sM~Bw9?bmBSq3phT;s53rwof&;eRZ|Z#tD7yHzg2OgH Zq(2cHbnq^oAS;}TB-Ia+^XK$*<{#+NFa`hs diff --git a/applescript/search-for-vmp.scpt b/applescript/search-for-vmp.scpt index a57ddedd62b9923711a0f8b396d081cebd190a55..148ba1ed65447404f7d6e5577f6b74beab84fde4 100644 GIT binary patch delta 191 zcmdnNyMt%LcP3`WIUJK2nY||qFtbngVHRYxn;gfi0OYZ7IJqz|{s)4|UCa)VAO-^x zfbh8#l1q^U85npR3kq^FlM_oa^Ye-sm>3lGt&l~m-1GC(b5a$YGm7$aQ}q%H3iKz} ivv|qNAuH0yP_&tcbv`36TVio?5d$Lw&#!y;)&c;Mi#$F6 delta 320 zcmdnNvx9fTcP3^g8IH+}%-)j)nAs=$Fbgv7n;gfiz;hw`-ggge1_s8ts?#QSF+0=) z8H+DnOXp#Lg8x9kz`&^h<3nk-oWzpU;t~b{1`Y;>3o(xAKyg73`_i@RJwP@ig9yk- zAfC$L_q+>;I~h1%3NbJ-1p6i?XXcgU7iTDVxLD;Elvpuj%*GF{J0`r{|>VCTA1@l~^%AEVW{A2Ma4WgN5}H3koJHvv@f>0u9qgGOIXS lA7+w1ib47ibM!HcVc6WmGM|x`HL*Ck2:p:h') . '/..') + +let g:vmp_osname = 'Unidentified' + +if has('win32') || has('win64') + " Not yet used + let g:vmp_osname = 'win32' +elseif has('unix') + let s:uname = system("uname") + + if has('mac') || has('macunix') || has("gui_macvim") || s:uname == "Darwin\n" + let g:vmp_osname = 'mac' + let g:vmp_search_script = g:vmp_script_path . '/applescript/search-for-vmp.scpt' + let g:vmp_activate_script = g:vmp_script_path . '/applescript/activate-vmp.scpt' + else + let g:vmp_osname = 'unix' + endif +endif + +function! vim_markdown_preview#preview() + let b:curr_file = expand('%:p') + + if g:vim_markdown_preview_github == 1 + call system('grip "' . b:curr_file . '" --export /tmp/vim-markdown-preview.html --title vim-markdown-preview.html') + elseif g:vim_markdown_preview_perl == 1 + call system('Markdown.pl "' . b:curr_file . '" > /tmp/vim-markdown-preview.html') + elseif g:vim_markdown_preview_pandoc == 1 + call system('pandoc --standalone "' . b:curr_file . '" > /tmp/vim-markdown-preview.html') + else + call system('markdown "' . b:curr_file . '" > /tmp/vim-markdown-preview.html') + endif + if v:shell_error + echo 'Please install the necessary requirements: https://github.com/JamshedVesuna/vim-markdown-preview#requirements' + endif + + if g:vmp_osname == 'unix' + let chrome_wid = system("xdotool search --name 'vim-markdown-preview.html - " . g:vim_markdown_preview_browser . "'") + if !chrome_wid + if g:vim_markdown_preview_use_xdg_open == 1 + call system('xdg-open /tmp/vim-markdown-preview.html 1>/dev/null 2>/dev/null &') + else + call system('see /tmp/vim-markdown-preview.html 1>/dev/null 2>/dev/null &') + endif + else + let curr_wid = system('xdotool getwindowfocus') + call system('xdotool windowmap ' . chrome_wid) + call system('xdotool windowactivate ' . chrome_wid) + call system("xdotool key 'ctrl+r'") + call system('xdotool windowactivate ' . curr_wid) + endif + endif + + if g:vmp_osname == 'mac' + if g:vim_markdown_preview_browser == "Google Chrome" + let b:vmp_preview_in_browser = system('osascript "' . g:vmp_search_script . '"') + if b:vmp_preview_in_browser == 1 + call system('open -g /tmp/vim-markdown-preview.html') + else + call system('osascript "' . g:vmp_activate_script . '"') + endif + else + call system('open -a "' . g:vim_markdown_preview_browser . '" -g /tmp/vim-markdown-preview.html') + endif + endif + + if g:vim_markdown_preview_temp_file == 1 + sleep 200m + call system('rm /tmp/vim-markdown-preview.html') + endif +endfunction + + +"Renders html locally and displays images +function! vim_markdown_preview#preview_local() + let b:curr_file = expand('%:p') + + if g:vim_markdown_preview_github == 1 + call system('grip "' . b:curr_file . '" --export vim-markdown-preview.html --title vim-markdown-preview.html') + elseif g:vim_markdown_preview_perl == 1 + call system('Markdown.pl "' . b:curr_file . '" > /tmp/vim-markdown-preview.html') + elseif g:vim_markdown_preview_pandoc == 1 + call system('pandoc --standalone "' . b:curr_file . '" > /tmp/vim-markdown-preview.html') + else + call system('markdown "' . b:curr_file . '" > vim-markdown-preview.html') + endif + if v:shell_error + echo 'Please install the necessary requirements: https://github.com/JamshedVesuna/vim-markdown-preview#requirements' + endif + + if g:vmp_osname == 'unix' + let chrome_wid = system("xdotool search --name vim-markdown-preview.html - " . g:vim_markdown_preview_browser . "'") + if !chrome_wid + if g:vim_markdown_preview_use_xdg_open == 1 + call system('xdg-open vim-markdown-preview.html 1>/dev/null 2>/dev/null &') + else + call system('see vim-markdown-preview.html 1>/dev/null 2>/dev/null &') + endif + else + let curr_wid = system('xdotool getwindowfocus') + call system('xdotool windowmap ' . chrome_wid) + call system('xdotool windowactivate ' . chrome_wid) + call system("xdotool key 'ctrl+r'") + call system('xdotool windowactivate ' . curr_wid) + endif + endif + + if g:vmp_osname == 'mac' + if g:vim_markdown_preview_browser == "Google Chrome" + let b:vmp_preview_in_browser = system('osascript "' . g:vmp_search_script . '"') + if b:vmp_preview_in_browser == 1 + call system('open -g vim-markdown-preview.html') + else + call system('osascript "' . g:vmp_activate_script . '"') + endif + else + call system('open -a "' . g:vim_markdown_preview_browser . '" -g vim-markdown-preview.html') + endif + endif + + if g:vim_markdown_preview_temp_file == 1 + sleep 200m + call system('rm vim-markdown-preview.html') + endif +endfunction diff --git a/ftplugin/markdown.vim b/ftplugin/markdown.vim index 11d11f5..1e14d96 100644 --- a/ftplugin/markdown.vim +++ b/ftplugin/markdown.vim @@ -3,25 +3,6 @@ " git@github.com:JamshedVesuna/vim-markdown-preview.git "============================================================ -let g:vmp_script_path = resolve(expand(':p:h') . '/..') - -let g:vmp_osname = 'Unidentified' - -if has('win32') || has('win64') - " Not yet used - let g:vmp_osname = 'win32' -elseif has('unix') - let s:uname = system("uname") - - if has('mac') || has('macunix') || has("gui_macvim") || s:uname == "Darwin\n" - let g:vmp_osname = 'mac' - let g:vmp_search_script = g:vmp_script_path . '/applescript/search-for-vmp.scpt' - let g:vmp_activate_script = g:vmp_script_path . '/applescript/activate-vmp.scpt' - else - let g:vmp_osname = 'unix' - endif -endif - if !exists("g:vim_markdown_preview_browser") if g:vmp_osname == 'mac' let g:vim_markdown_preview_browser = 'Safari' @@ -58,123 +39,17 @@ if !exists("g:vim_markdown_preview_hotkey") let g:vim_markdown_preview_hotkey='' endif -function! Vim_Markdown_Preview() - let b:curr_file = expand('%:p') - - if g:vim_markdown_preview_github == 1 - call system('grip "' . b:curr_file . '" --export /tmp/vim-markdown-preview.html --title vim-markdown-preview.html') - elseif g:vim_markdown_preview_perl == 1 - call system('Markdown.pl "' . b:curr_file . '" > /tmp/vim-markdown-preview.html') - elseif g:vim_markdown_preview_pandoc == 1 - call system('pandoc --standalone "' . b:curr_file . '" > /tmp/vim-markdown-preview.html') - else - call system('markdown "' . b:curr_file . '" > /tmp/vim-markdown-preview.html') - endif - if v:shell_error - echo 'Please install the necessary requirements: https://github.com/JamshedVesuna/vim-markdown-preview#requirements' - endif - - if g:vmp_osname == 'unix' - let chrome_wid = system("xdotool search --name 'vim-markdown-preview.html - " . g:vim_markdown_preview_browser . "'") - if !chrome_wid - if g:vim_markdown_preview_use_xdg_open == 1 - call system('xdg-open /tmp/vim-markdown-preview.html 1>/dev/null 2>/dev/null &') - else - call system('see /tmp/vim-markdown-preview.html 1>/dev/null 2>/dev/null &') - endif - else - let curr_wid = system('xdotool getwindowfocus') - call system('xdotool windowmap ' . chrome_wid) - call system('xdotool windowactivate ' . chrome_wid) - call system("xdotool key 'ctrl+r'") - call system('xdotool windowactivate ' . curr_wid) - endif - endif - - if g:vmp_osname == 'mac' - if g:vim_markdown_preview_browser == "Google Chrome" - let b:vmp_preview_in_browser = system('osascript "' . g:vmp_search_script . '"') - if b:vmp_preview_in_browser == 1 - call system('open -g /tmp/vim-markdown-preview.html') - else - call system('osascript "' . g:vmp_activate_script . '"') - endif - else - call system('open -a "' . g:vim_markdown_preview_browser . '" -g /tmp/vim-markdown-preview.html') - endif - endif - - if g:vim_markdown_preview_temp_file == 1 - sleep 200m - call system('rm /tmp/vim-markdown-preview.html') - endif -endfunction - - -"Renders html locally and displays images -function! Vim_Markdown_Preview_Local() - let b:curr_file = expand('%:p') - - if g:vim_markdown_preview_github == 1 - call system('grip "' . b:curr_file . '" --export vim-markdown-preview.html --title vim-markdown-preview.html') - elseif g:vim_markdown_preview_perl == 1 - call system('Markdown.pl "' . b:curr_file . '" > /tmp/vim-markdown-preview.html') - elseif g:vim_markdown_preview_pandoc == 1 - call system('pandoc --standalone "' . b:curr_file . '" > /tmp/vim-markdown-preview.html') - else - call system('markdown "' . b:curr_file . '" > vim-markdown-preview.html') - endif - if v:shell_error - echo 'Please install the necessary requirements: https://github.com/JamshedVesuna/vim-markdown-preview#requirements' - endif - - if g:vmp_osname == 'unix' - let chrome_wid = system("xdotool search --name vim-markdown-preview.html - " . g:vim_markdown_preview_browser . "'") - if !chrome_wid - if g:vim_markdown_preview_use_xdg_open == 1 - call system('xdg-open vim-markdown-preview.html 1>/dev/null 2>/dev/null &') - else - call system('see vim-markdown-preview.html 1>/dev/null 2>/dev/null &') - endif - else - let curr_wid = system('xdotool getwindowfocus') - call system('xdotool windowmap ' . chrome_wid) - call system('xdotool windowactivate ' . chrome_wid) - call system("xdotool key 'ctrl+r'") - call system('xdotool windowactivate ' . curr_wid) - endif - endif - - if g:vmp_osname == 'mac' - if g:vim_markdown_preview_browser == "Google Chrome" - let b:vmp_preview_in_browser = system('osascript "' . g:vmp_search_script . '"') - if b:vmp_preview_in_browser == 1 - call system('open -g vim-markdown-preview.html') - else - call system('osascript "' . g:vmp_activate_script . '"') - endif - else - call system('open -a "' . g:vim_markdown_preview_browser . '" -g vim-markdown-preview.html') - endif - endif - - if g:vim_markdown_preview_temp_file == 1 - sleep 200m - call system('rm vim-markdown-preview.html') - endif -endfunction - if g:vim_markdown_preview_toggle == 0 - "Maps vim_markdown_preview_hotkey to Vim_Markdown_Preview() - :exec 'autocmd Filetype markdown,md map ' . g:vim_markdown_preview_hotkey . ' :call Vim_Markdown_Preview()' + "Maps vim_markdown_preview_hotkey to vim_markdown_preview#preview() + :exec 'autocmd Filetype markdown,md map ' . g:vim_markdown_preview_hotkey . ' :call vim_markdown_preview#preview()' elseif g:vim_markdown_preview_toggle == 1 - "Display images - Maps vim_markdown_preview_hotkey to Vim_Markdown_Preview_Local() - saves the html file locally + "Display images - Maps vim_markdown_preview_hotkey to vim_markdown_preview#preview_local() - saves the html file locally "and displays images in path - :exec 'autocmd Filetype markdown,md map ' . g:vim_markdown_preview_hotkey . ' :call Vim_Markdown_Preview_Local()' + :exec 'autocmd Filetype markdown,md map ' . g:vim_markdown_preview_hotkey . ' :call vim_markdown_preview#preview_local()' elseif g:vim_markdown_preview_toggle == 2 - "Display images - Automatically call Vim_Markdown_Preview_Local() on buffer write - autocmd BufWritePost *.markdown,*.md :call Vim_Markdown_Preview_Local() + "Display images - Automatically call vim_markdown_preview#preview_local() on buffer write + autocmd BufWritePost *.markdown,*.md :call vim_markdown_preview#preview_local() elseif g:vim_markdown_preview_toggle == 3 - "Automatically call Vim_Markdown_Preview() on buffer write - autocmd BufWritePost *.markdown,*.md :call Vim_Markdown_Preview() + "Automatically call vim_markdown_preview#preview() on buffer write + autocmd BufWritePost *.markdown,*.md :call vim_markdown_preview#preview() endif From 0ca441bf3ee703d0cd54d1b0d2bf364589820fe0 Mon Sep 17 00:00:00 2001 From: fent <933490+fent@users.noreply.github.com> Date: Sun, 22 Apr 2018 23:24:38 -0400 Subject: [PATCH 3/5] no need to specify filetype anymore --- ftplugin/markdown.vim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ftplugin/markdown.vim b/ftplugin/markdown.vim index 1e14d96..c15907f 100644 --- a/ftplugin/markdown.vim +++ b/ftplugin/markdown.vim @@ -41,15 +41,15 @@ endif if g:vim_markdown_preview_toggle == 0 "Maps vim_markdown_preview_hotkey to vim_markdown_preview#preview() - :exec 'autocmd Filetype markdown,md map ' . g:vim_markdown_preview_hotkey . ' :call vim_markdown_preview#preview()' + :exec 'map ' . g:vim_markdown_preview_hotkey . ' :call vim_markdown_preview#preview()' elseif g:vim_markdown_preview_toggle == 1 "Display images - Maps vim_markdown_preview_hotkey to vim_markdown_preview#preview_local() - saves the html file locally "and displays images in path - :exec 'autocmd Filetype markdown,md map ' . g:vim_markdown_preview_hotkey . ' :call vim_markdown_preview#preview_local()' + :exec 'map ' . g:vim_markdown_preview_hotkey . ' :call vim_markdown_preview#preview_local()' elseif g:vim_markdown_preview_toggle == 2 "Display images - Automatically call vim_markdown_preview#preview_local() on buffer write - autocmd BufWritePost *.markdown,*.md :call vim_markdown_preview#preview_local() + autocmd BufWritePost :call vim_markdown_preview#preview_local() elseif g:vim_markdown_preview_toggle == 3 "Automatically call vim_markdown_preview#preview() on buffer write - autocmd BufWritePost *.markdown,*.md :call vim_markdown_preview#preview() + autocmd BufWritePost :call vim_markdown_preview#preview() endif From 884ed04c2ec81861449964d2a818ad1d49073dc3 Mon Sep 17 00:00:00 2001 From: fent <933490+fent@users.noreply.github.com> Date: Sun, 22 Apr 2018 23:27:02 -0400 Subject: [PATCH 4/5] add augroups around autocmds --- ftplugin/markdown.vim | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ftplugin/markdown.vim b/ftplugin/markdown.vim index c15907f..a7aa180 100644 --- a/ftplugin/markdown.vim +++ b/ftplugin/markdown.vim @@ -48,8 +48,14 @@ elseif g:vim_markdown_preview_toggle == 1 :exec 'map ' . g:vim_markdown_preview_hotkey . ' :call vim_markdown_preview#preview_local()' elseif g:vim_markdown_preview_toggle == 2 "Display images - Automatically call vim_markdown_preview#preview_local() on buffer write - autocmd BufWritePost :call vim_markdown_preview#preview_local() + augroup vim_markdown_preview + autocmd! + autocmd BufWritePost :call vim_markdown_preview#preview_local() + augroup END elseif g:vim_markdown_preview_toggle == 3 "Automatically call vim_markdown_preview#preview() on buffer write - autocmd BufWritePost :call vim_markdown_preview#preview() + augroup vim_markdown_preview + autocmd! + autocmd BufWritePost :call vim_markdown_preview#preview() + augroup END endif From 0ec90a808b99f263e10b9efc6d520dbee55586af Mon Sep 17 00:00:00 2001 From: fent <933490+fent@users.noreply.github.com> Date: Tue, 24 Apr 2018 01:37:55 -0400 Subject: [PATCH 5/5] properly wrap preview_toggle option in augroup --- ftplugin/markdown.vim | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/ftplugin/markdown.vim b/ftplugin/markdown.vim index a7aa180..e556db0 100644 --- a/ftplugin/markdown.vim +++ b/ftplugin/markdown.vim @@ -39,23 +39,20 @@ if !exists("g:vim_markdown_preview_hotkey") let g:vim_markdown_preview_hotkey='' endif -if g:vim_markdown_preview_toggle == 0 - "Maps vim_markdown_preview_hotkey to vim_markdown_preview#preview() - :exec 'map ' . g:vim_markdown_preview_hotkey . ' :call vim_markdown_preview#preview()' -elseif g:vim_markdown_preview_toggle == 1 - "Display images - Maps vim_markdown_preview_hotkey to vim_markdown_preview#preview_local() - saves the html file locally - "and displays images in path - :exec 'map ' . g:vim_markdown_preview_hotkey . ' :call vim_markdown_preview#preview_local()' -elseif g:vim_markdown_preview_toggle == 2 - "Display images - Automatically call vim_markdown_preview#preview_local() on buffer write - augroup vim_markdown_preview - autocmd! +augroup vim_markdown_preview + autocmd! + if g:vim_markdown_preview_toggle == 0 + "Maps vim_markdown_preview_hotkey to vim_markdown_preview#preview() + :exec 'map ' . g:vim_markdown_preview_hotkey . ' :call vim_markdown_preview#preview()' + elseif g:vim_markdown_preview_toggle == 1 + "Display images - Maps vim_markdown_preview_hotkey to vim_markdown_preview#preview_local() - saves the html file locally + "and displays images in path + :exec 'map ' . g:vim_markdown_preview_hotkey . ' :call vim_markdown_preview#preview_local()' + elseif g:vim_markdown_preview_toggle == 2 + "Display images - Automatically call vim_markdown_preview#preview_local() on buffer write autocmd BufWritePost :call vim_markdown_preview#preview_local() - augroup END -elseif g:vim_markdown_preview_toggle == 3 - "Automatically call vim_markdown_preview#preview() on buffer write - augroup vim_markdown_preview - autocmd! + elseif g:vim_markdown_preview_toggle == 3 + "Automatically call vim_markdown_preview#preview() on buffer write autocmd BufWritePost :call vim_markdown_preview#preview() - augroup END -endif + endif +augroup END