From 2506bf2d0ba73203481629731e8beda9b17ec825 Mon Sep 17 00:00:00 2001 From: scott Date: Tue, 22 Jul 2014 20:41:02 +0800 Subject: [PATCH 1/8] add function vimentry#edit to fast edit project file *.exvim, add project_cwd , enable_restore_bufs to *.exvim --- autoload/vimentry.vim | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/autoload/vimentry.vim b/autoload/vimentry.vim index 9e87d8f..5b8002d 100644 --- a/autoload/vimentry.vim +++ b/autoload/vimentry.vim @@ -11,6 +11,7 @@ function vimentry#write_default_template() silent 1,$d _ let filename = expand('%') + let _cwd = ex#path_fmt( fnamemodify( filename, ':p:h' ), 'unix' ) let projectName = fnamemodify( filename, ":t:r" ) " the parameter will parse as let g:ex_{var} = val @@ -26,12 +27,13 @@ function vimentry#write_default_template() \ "-- Project Settings:", \ "version = " . s:version, \ "project_name = '" . projectName . "'", + \ "project_cwd = '" . _cwd . "'", \ "", \ "-- File And Folder Filters:", \ "folder_filter_mode = include -- { include, exclude }", \ "folder_filter_root_only = true -- { true, false }", \ "folder_filter += ", - \ "file_filter += ", + \ "file_filter += __EMPTY__,c,cpp,h,sh,mak", \ "file_ignore_pattern += ", \ "", \ "-- Building:", @@ -41,6 +43,7 @@ function vimentry#write_default_template() \ "-- ex-project Options:", \ "enable_project_browser = true -- { true, false }", \ "project_browser = ex -- { ex, nerdtree }", + \ "enable_restore_bufs = true -- { true, false }", \ "", \ "-- ex-gsearch Options:", \ "enable_gsearch = true -- { true, false }", @@ -220,4 +223,20 @@ endfunction "}}}1 +function vimentry#edit() " <<< + let project_name = vimentry#get('project_name') + let project_cwd = vimentry#get('project_cwd') + if project_name == '' + call ex#error("Can't find vimentry setting 'project_name'.") + return + endif + if findfile( project_name.'.exvim', escape(project_cwd,' \') ) != "" + let vimentry_file = project_name . '.exvim' + echon 'edit vimentry file: ' . vimentry_file . "\r" + call ex#window#goto_edit_window() + silent exec 'e ' . project_cwd . '/' . vimentry_file + else + call ex#warning("can't find current vimentry file") + endif +endfunction " >>> " vim:ts=4:sw=4:sts=4 et fdm=marker: From 3a3e0619e1fa610767b83a3b9cedfa45aca02f53 Mon Sep 17 00:00:00 2001 From: scott Date: Tue, 22 Jul 2014 23:08:08 +0800 Subject: [PATCH 2/8] change ex#path_fmt -> ex#path#translate --- autoload/vimentry.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoload/vimentry.vim b/autoload/vimentry.vim index 3bc2f36..5b8fa82 100644 --- a/autoload/vimentry.vim +++ b/autoload/vimentry.vim @@ -48,7 +48,7 @@ function vimentry#write_default_template() silent 1,$d _ let filename = expand('%') - let _cwd = ex#path_fmt( fnamemodify( filename, ':p:h' ), 'unix' ) + let _cwd = ex#path#translate( fnamemodify( filename, ':p:h' ), 'unix' ) let projectName = fnamemodify( filename, ":t:r" ) " the parameter will parse as let g:ex_{var} = val From 2a69be8232ce402280bda45c0903a1485a0404a4 Mon Sep 17 00:00:00 2001 From: scott Date: Tue, 3 Mar 2015 15:54:29 +0800 Subject: [PATCH 3/8] merger from github master --- autoload/vimentry.vim | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/autoload/vimentry.vim b/autoload/vimentry.vim index 533982a..675bc68 100644 --- a/autoload/vimentry.vim +++ b/autoload/vimentry.vim @@ -1,6 +1,6 @@ " variables {{{1 let s:varnames = [] -let s:version = 9 +let s:version = 10 " }}} " functions {{{1 @@ -28,18 +28,23 @@ function s:write_default( name, default, comment ) let valList = valList . ',' . item endif endfor - return a:name . " += " . valList . comment + let line = a:name . " += " . valList . comment + return substitute (line, '\s\+$', '', 'e') " strip whitespace endif " if a:default[0] == "'" && a:default[strlen(a:default)-1] == "'" if strlen(val) == 2 - return a:name . " = " . val . comment + let line = a:name . " = " . val . comment + return substitute (line, '\s\+$', '', 'e') " strip whitespace endif - return a:name . " = '" . val . "'" . comment + + let line = a:name . " = '" . val . "'" . comment + return substitute (line, '\s\+$', '', 'e') " strip whitespace endif - return a:name . " = " . val . comment + let line = a:name . " = " . val . comment + return substitute (line, '\s\+$', '', 'e') " strip whitespace endfunction " vimentry#write_default_template {{{2 @@ -48,7 +53,6 @@ function vimentry#write_default_template() silent 1,$d _ let filename = expand('%') - let _cwd = ex#path#translate( fnamemodify( filename, ':p:h' ), 'unix' ) let projectName = fnamemodify( filename, ":t:r" ) " the parameter will parse as let g:ex_{var} = val @@ -67,13 +71,7 @@ function vimentry#write_default_template() \ "project_cwd = '" . _cwd . "'", \ "", \ "-- File And Folder Filters:", - \ "folder_filter_mode = include -- { include, exclude }", - \ "folder_filter_root_only = true -- { true, false }", - \ "folder_filter += ", - \ "file_filter += __EMPTY__,c,cpp,h,sh,mak", - \ "file_ignore_pattern += ", \ s:write_default( "folder_filter_mode", "include", "{ include, exclude }" ), - \ s:write_default( "folder_filter_root_only", "true", "{ true, false }" ), \ s:write_default( "folder_filter", [], "" ), \ s:write_default( "file_filter", [], "" ), \ s:write_default( "file_ignore_pattern", [], "" ), @@ -83,9 +81,6 @@ function vimentry#write_default_template() \ s:write_default( "build_opt", "''", "" ), \ "", \ "-- ex-project Options:", - \ "enable_project_browser = true -- { true, false }", - \ "project_browser = ex -- { ex, nerdtree }", - \ "enable_restore_bufs = true -- { true, false }", \ s:write_default( "enable_project_browser", "true", "{ true, false }" ), \ s:write_default( "project_browser", "ex", "{ ex, nerdtree }" ), \ "", From 2ca3400a9d76f4567a83ed4e70b39cfecfc76b0c Mon Sep 17 00:00:00 2001 From: scott Date: Fri, 12 Oct 2018 18:12:47 +0800 Subject: [PATCH 4/8] add gsearch_engine ag --- autoload/vimentry.vim | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/autoload/vimentry.vim b/autoload/vimentry.vim index 675bc68..4bfe94c 100644 --- a/autoload/vimentry.vim +++ b/autoload/vimentry.vim @@ -53,6 +53,7 @@ function vimentry#write_default_template() silent 1,$d _ let filename = expand('%') + let _cwd = ex#path#translate( fnamemodify( filename, ':p:h' ), 'unix' ) let projectName = fnamemodify( filename, ":t:r" ) " the parameter will parse as let g:ex_{var} = val @@ -73,11 +74,11 @@ function vimentry#write_default_template() \ "-- File And Folder Filters:", \ s:write_default( "folder_filter_mode", "include", "{ include, exclude }" ), \ s:write_default( "folder_filter", [], "" ), - \ s:write_default( "file_filter", [], "" ), + \ s:write_default( "file_filter", "__EMPTY__,c,cpp,h,sh,mak,java,xml", "" ), \ s:write_default( "file_ignore_pattern", [], "" ), \ "", \ "-- Building:", - \ s:write_default( "builder", "gulp", "{ gulp, grunt, gcc, xcode, vs, unity3d, ... }" ), + \ s:write_default( "builder", "gcc", "{ gulp, grunt, gcc, xcode, vs, unity3d, ... }" ), \ s:write_default( "build_opt", "''", "" ), \ "", \ "-- ex-project Options:", @@ -86,7 +87,7 @@ function vimentry#write_default_template() \ "", \ "-- ex-gsearch Options:", \ s:write_default( "enable_gsearch", "true", "{ true, false }" ), - \ s:write_default( "gsearch_engine", "idutils", "{ idutils, grep }" ), + \ s:write_default( "gsearch_engine", "idutils", "{ idutils, grep, ag }" ), \ "", \ "-- ex-tags Options:", \ s:write_default( "enable_tags", "true", "{ true, false }" ), From 1558e3877a907d8c0bcf51a8d720d2adf1e0a475 Mon Sep 17 00:00:00 2001 From: cpiger Date: Mon, 15 Oct 2018 15:39:19 +0800 Subject: [PATCH 5/8] _cwd --- autoload/vimentry.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoload/vimentry.vim b/autoload/vimentry.vim index 721d510..2c2d3a8 100644 --- a/autoload/vimentry.vim +++ b/autoload/vimentry.vim @@ -53,7 +53,7 @@ function vimentry#write_default_template() silent 1,$d _ let filename = expand('%') - + let _cwd = ex#path#translate( fnamemodify( filename, ':p:h' ), 'unix' ) let projectName = fnamemodify( filename, ":t:r" ) " the parameter will parse as let g:ex_{var} = val From 390af0b2e17cc0f92bcaf78b0baaa74d5a7b62a6 Mon Sep 17 00:00:00 2001 From: cpiger Date: Thu, 31 Jan 2019 18:46:26 +0800 Subject: [PATCH 6/8] add cscope_engine gtags support --- autoload/vimentry.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/autoload/vimentry.vim b/autoload/vimentry.vim index 2c2d3a8..9280ad6 100644 --- a/autoload/vimentry.vim +++ b/autoload/vimentry.vim @@ -101,7 +101,8 @@ function vimentry#write_default_template() \ s:write_default( "custom_tags_file" , "", "" ), \ "", \ "-- ex-cscope Options:", - \ s:write_default( "enable_cscope", "false", "{ true, false }" ), + \ s:write_default( "enable_cscope", "true", "{ true, false }" ), + \ s:write_default( "cscope_engine", "gtags", "{ gtags, cscope }" ), \ "", \ "-- ex-macrohl Options:", \ s:write_default( "enable_macrohl", "false", "{ true, false }" ), From e5d4ff4f9a9911b5717af7fe307b7a338ef62ccf Mon Sep 17 00:00:00 2001 From: cpiger Date: Thu, 11 Apr 2019 09:20:50 +0800 Subject: [PATCH 7/8] g:ex_project_browser g:ex_gsearch_engine g:ex_cscope_engine --- autoload/vimentry.vim | 8 ++++---- plugin/vimentry.vim | 12 ++++++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/autoload/vimentry.vim b/autoload/vimentry.vim index 9280ad6..fcbdc0c 100644 --- a/autoload/vimentry.vim +++ b/autoload/vimentry.vim @@ -87,11 +87,11 @@ function vimentry#write_default_template() \ "", \ "-- ex-project Options:", \ s:write_default( "enable_project_browser", "true", "{ true, false }" ), - \ s:write_default( "project_browser", "ex", "{ ex, nerdtree }" ), + \ s:write_default( "project_browser", g:ex_project_browser, "{ ex, nerdtree }" ), \ "", \ "-- ex-gsearch Options:", \ s:write_default( "enable_gsearch", "true", "{ true, false }" ), - \ s:write_default( "gsearch_engine", "idutils", "{ idutils, grep, ag }" ), + \ s:write_default( "gsearch_engine", g:ex_gsearch_engine, "{ idutils, grep, ag }" ), \ "", \ "-- ex-tags Options:", \ s:write_default( "enable_tags", "true", "{ true, false }" ), @@ -102,10 +102,10 @@ function vimentry#write_default_template() \ "", \ "-- ex-cscope Options:", \ s:write_default( "enable_cscope", "true", "{ true, false }" ), - \ s:write_default( "cscope_engine", "gtags", "{ gtags, cscope }" ), + \ s:write_default( "cscope_engine", g:ex_cscope_engine, "{ gtags, cscope }" ), \ "", \ "-- ex-macrohl Options:", - \ s:write_default( "enable_macrohl", "false", "{ true, false }" ), + \ s:write_default( "enable_macrohl", "true", "{ true, false }" ), \ "", \ "-- restore buffers:", \ s:write_default( "enable_restore_bufs", "false", "{ true, false }" ), diff --git a/plugin/vimentry.vim b/plugin/vimentry.vim index d8f3eca..a6922c8 100644 --- a/plugin/vimentry.vim +++ b/plugin/vimentry.vim @@ -4,6 +4,18 @@ function! s:on_vim_enter() let g:ex_vim_entered = 1 endfunction +if !exists(g:ex_project_browser) + let g:ex_project_browser = 'nerdtree' "nerdtree ex +endif + +if !exists(g:ex_gsearch_engine) + let g:ex_gsearch_engine = 'ag' "idutils ag grep +endif + +if !exists(g:ex_cscope_engine) + let g:ex_cscope_engine = 'gtags' "gtags cscope +endif + " autocmd {{{ augroup ex_vimentry au! From 402e2aa021732b2b3f16cc6ae5ca7217e1bd269d Mon Sep 17 00:00:00 2001 From: cpiger Date: Fri, 31 May 2019 15:48:09 +0800 Subject: [PATCH 8/8] comment --- plugin/vimentry.vim | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/plugin/vimentry.vim b/plugin/vimentry.vim index a6922c8..be622a4 100644 --- a/plugin/vimentry.vim +++ b/plugin/vimentry.vim @@ -4,17 +4,17 @@ function! s:on_vim_enter() let g:ex_vim_entered = 1 endfunction -if !exists(g:ex_project_browser) - let g:ex_project_browser = 'nerdtree' "nerdtree ex -endif +" if !exists(g:ex_project_browser) + " let g:ex_project_browser = 'nerdtree' "nerdtree ex +" endif -if !exists(g:ex_gsearch_engine) - let g:ex_gsearch_engine = 'ag' "idutils ag grep -endif +" if !exists(g:ex_gsearch_engine) + " let g:ex_gsearch_engine = 'ag' "idutils ag grep +" endif -if !exists(g:ex_cscope_engine) - let g:ex_cscope_engine = 'gtags' "gtags cscope -endif +" if !exists(g:ex_cscope_engine) + " let g:ex_cscope_engine = 'gtags' "gtags cscope +" endif " autocmd {{{ augroup ex_vimentry