From ff004fbc8ae97d4d7f2fae13541b1494e8cfacbf Mon Sep 17 00:00:00 2001 From: 0phoff <0phoff@users.noreply.github.com> Date: Sun, 15 Jan 2017 13:00:53 +0100 Subject: [PATCH 1/7] Denite support added --- plugin/webdevicons.vim | 27 ++++++++++++++----- .../denite/filter/converter_devicons.py | 16 +++++++++++ 2 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 rplugin/python3/denite/filter/converter_devicons.py diff --git a/plugin/webdevicons.vim b/plugin/webdevicons.vim index dbf94ef..d94e9a0 100644 --- a/plugin/webdevicons.vim +++ b/plugin/webdevicons.vim @@ -38,6 +38,10 @@ if !exists('g:webdevicons_enable_unite') let g:webdevicons_enable_unite = 1 endif +if !exists('g:webdevicons_enable_denite') + let g:webdevicons_enable_denite = 1 +endif + if !exists('g:webdevicons_enable_vimfiler') let g:webdevicons_enable_vimfiler = 1 endif @@ -430,7 +434,7 @@ endfunction function! s:initializeUnite() if exists('g:loaded_unite') && g:webdevicons_enable_unite let s:filters = { - \ 'name' : 'devicons_converter', + \ 'name' : 'devicons_unite_converter', \} function! s:filters.filter(candidates, context) @@ -461,7 +465,17 @@ function! s:initializeUnite() call unite#define_filter(s:filters) unlet s:filters - call unite#custom#source('file,file_rec,buffer,file_rec/async,file_rec/neovim,file_rec/neovim2,file_rec/git', 'converters', 'devicons_converter') + call unite#custom#source('file,file_rec,buffer,file_rec/async,file_rec/neovim,file_rec/neovim2,file_rec/git', 'converters', 'devicons_unite_converter') + endif +endfunction + +" for denite plugin {{{3 +"======================================================================== + +" scope: local +function! s:initializeDenite() + if exists('g:loaded_denite') && g:webdevicons_enable_denite + call denite#custom#source('file_rec,file_old,directory_rec,buffer', 'converters', ['converter_devicons']) endif endfunction @@ -510,6 +524,9 @@ function! s:initializeCtrlP() endif endfunction +" local initialization {{{2 +"======================================================================== + " scope: local function! s:initialize() call s:setDictionaries() @@ -517,14 +534,12 @@ function! s:initialize() call s:setCursorHold() call s:initializeFlagship() call s:initializeUnite() + call s:initializeDenite() call s:initializeVimfiler() call s:initializeCtrlP() endfunction -" local initialization {{{2 -"======================================================================== - -call s:initialize() +autocmd! VimEnter * call s:initialize() " public functions {{{2 "======================================================================== diff --git a/rplugin/python3/denite/filter/converter_devicons.py b/rplugin/python3/denite/filter/converter_devicons.py new file mode 100644 index 0000000..f0ba1f9 --- /dev/null +++ b/rplugin/python3/denite/filter/converter_devicons.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# vim:se fenc=utf8 noet: +from .base import Base +from os.path import isdir + +class Filter(Base): + + def __init__(self, vim): + super().__init__(vim) + self.name = 'converter_devicons' + self.description = 'add devicons in front of candidates' + +def filter(self, context): + for candidate in context['candidates']: + candidate['word'] = ' '+self.vim.funcs.WebDevIconsGetFileTypeSymbol(candidate['word'], isdir(candidate['word']))+' '+candidate['word'] + return context['candidates'] From b1f94cb2ff21a4611cfe7aae786dfd0c1f766241 Mon Sep 17 00:00:00 2001 From: 0phoff <0phoff@users.noreply.github.com> Date: Sun, 15 Jan 2017 13:07:00 +0100 Subject: [PATCH 2/7] fixed indentation bug --- rplugin/python3/denite/filter/converter_devicons.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rplugin/python3/denite/filter/converter_devicons.py b/rplugin/python3/denite/filter/converter_devicons.py index f0ba1f9..1701126 100644 --- a/rplugin/python3/denite/filter/converter_devicons.py +++ b/rplugin/python3/denite/filter/converter_devicons.py @@ -10,7 +10,7 @@ def __init__(self, vim): self.name = 'converter_devicons' self.description = 'add devicons in front of candidates' -def filter(self, context): - for candidate in context['candidates']: - candidate['word'] = ' '+self.vim.funcs.WebDevIconsGetFileTypeSymbol(candidate['word'], isdir(candidate['word']))+' '+candidate['word'] - return context['candidates'] + def filter(self, context): + for candidate in context['candidates']: + candidate['word'] = ' '+self.vim.funcs.WebDevIconsGetFileTypeSymbol(candidate['word'], isdir(candidate['word']))+' '+candidate['word'] + return context['candidates'] From 8142841439d9482078c513d461e9ba0b58995192 Mon Sep 17 00:00:00 2001 From: 0phoff <0phoff@users.noreply.github.com> Date: Sun, 15 Jan 2017 13:13:20 +0100 Subject: [PATCH 3/7] fixed naming --- plugin/webdevicons.vim | 5 ++++- .../{converter_devicons.py => devicons_denite_converter.py} | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) rename rplugin/python3/denite/filter/{converter_devicons.py => devicons_denite_converter.py} (91%) diff --git a/plugin/webdevicons.vim b/plugin/webdevicons.vim index d94e9a0..42a3b9d 100644 --- a/plugin/webdevicons.vim +++ b/plugin/webdevicons.vim @@ -475,7 +475,10 @@ endfunction " scope: local function! s:initializeDenite() if exists('g:loaded_denite') && g:webdevicons_enable_denite - call denite#custom#source('file_rec,file_old,directory_rec,buffer', 'converters', ['converter_devicons']) + call denite#custom#source('file_rec', 'converters', ['devicons_denite_converter']) + call denite#custom#source('file_old', 'converters', ['devicons_denite_converter']) + call denite#custom#source('buffer', 'converters', ['devicons_denite_converter']) + call denite#custom#source('directory_rec', 'converters', ['devicons_denite_converter']) endif endfunction diff --git a/rplugin/python3/denite/filter/converter_devicons.py b/rplugin/python3/denite/filter/devicons_denite_converter.py similarity index 91% rename from rplugin/python3/denite/filter/converter_devicons.py rename to rplugin/python3/denite/filter/devicons_denite_converter.py index 1701126..9521d34 100644 --- a/rplugin/python3/denite/filter/converter_devicons.py +++ b/rplugin/python3/denite/filter/devicons_denite_converter.py @@ -7,7 +7,7 @@ class Filter(Base): def __init__(self, vim): super().__init__(vim) - self.name = 'converter_devicons' + self.name = 'devicons_denite_converter' self.description = 'add devicons in front of candidates' def filter(self, context): From 1d09aefb8286595b9351a59a75eb5d0e41ad19d1 Mon Sep 17 00:00:00 2001 From: 0phoff <0phoff@users.noreply.github.com> Date: Sun, 15 Jan 2017 13:20:31 +0100 Subject: [PATCH 4/7] changed to abbr abbr is what is displayed to the denite buffer. It's intended use is to change how the source is displayed without changing the source candidates themselves. --- rplugin/python3/denite/filter/devicons_denite_converter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rplugin/python3/denite/filter/devicons_denite_converter.py b/rplugin/python3/denite/filter/devicons_denite_converter.py index 9521d34..ac79193 100644 --- a/rplugin/python3/denite/filter/devicons_denite_converter.py +++ b/rplugin/python3/denite/filter/devicons_denite_converter.py @@ -12,5 +12,5 @@ def __init__(self, vim): def filter(self, context): for candidate in context['candidates']: - candidate['word'] = ' '+self.vim.funcs.WebDevIconsGetFileTypeSymbol(candidate['word'], isdir(candidate['word']))+' '+candidate['word'] + candidate['abbr'] = ' '+self.vim.funcs.WebDevIconsGetFileTypeSymbol(candidate['word'], isdir(candidate['word']))+' '+candidate['word'] return context['candidates'] From 33f51747454c614c1f9361b8368523be0824f774 Mon Sep 17 00:00:00 2001 From: 0phoff <0phoff@users.noreply.github.com> Date: Sun, 15 Jan 2017 13:22:50 +0100 Subject: [PATCH 5/7] changed init to oneliner --- plugin/webdevicons.vim | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/plugin/webdevicons.vim b/plugin/webdevicons.vim index 42a3b9d..1f660bc 100644 --- a/plugin/webdevicons.vim +++ b/plugin/webdevicons.vim @@ -475,10 +475,7 @@ endfunction " scope: local function! s:initializeDenite() if exists('g:loaded_denite') && g:webdevicons_enable_denite - call denite#custom#source('file_rec', 'converters', ['devicons_denite_converter']) - call denite#custom#source('file_old', 'converters', ['devicons_denite_converter']) - call denite#custom#source('buffer', 'converters', ['devicons_denite_converter']) - call denite#custom#source('directory_rec', 'converters', ['devicons_denite_converter']) + call denite#custom#source('file_rec,file_old,buffer,directory_rec', 'converters', ['devicons_denite_converter']) endif endfunction From cc3bdc0a9b53a3d519cea6d5773133a97e85f935 Mon Sep 17 00:00:00 2001 From: 0phoff <0phoff@users.noreply.github.com> Date: Sun, 15 Jan 2017 18:07:56 +0100 Subject: [PATCH 6/7] dont autocmd! -> changed to augroup --- plugin/webdevicons.vim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugin/webdevicons.vim b/plugin/webdevicons.vim index 1f660bc..79dc02b 100644 --- a/plugin/webdevicons.vim +++ b/plugin/webdevicons.vim @@ -539,7 +539,9 @@ function! s:initialize() call s:initializeCtrlP() endfunction -autocmd! VimEnter * call s:initialize() +augroup devicons_init + autocmd VimEnter * call s:initialize() +augroup END " public functions {{{2 "======================================================================== From c82ea4142d96a3fc0ecd993d2bf0247de859ce94 Mon Sep 17 00:00:00 2001 From: 0phoff <0phoff@users.noreply.github.com> Date: Mon, 16 Jan 2017 12:24:45 +0100 Subject: [PATCH 7/7] Read through help vimenter. now the order of loading the plugins shouldnt really matter --- plugin/webdevicons.vim | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugin/webdevicons.vim b/plugin/webdevicons.vim index 79dc02b..82d4717 100644 --- a/plugin/webdevicons.vim +++ b/plugin/webdevicons.vim @@ -539,9 +539,11 @@ function! s:initialize() call s:initializeCtrlP() endfunction -augroup devicons_init - autocmd VimEnter * call s:initialize() -augroup END +if v:vim_did_enter + call s:initialize() +else + au VimEnter * call s:initialize() +endif " public functions {{{2 "========================================================================