" Author: Eric Van Dewoestine " " Description: {{{ " " License: " " Copyright (C) 2005 - 2014 Eric Van Dewoestine " " This program is free software: you can redistribute it and/or modify " it under the terms of the GNU General Public License as published by " the Free Software Foundation, either version 3 of the License, or " (at your option) any later version. " " This program is distributed in the hope that it will be useful, " but WITHOUT ANY WARRANTY; without even the implied warranty of " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the " GNU General Public License for more details. " " You should have received a copy of the GNU General Public License " along with this program. If not, see . " " }}} " Global Variables {{{ let g:EclimProjectTreeTitle = 'ProjectTree_' call eclim#AddVimSetting( \ 'Core/Projects', 'g:EclimProjectTreeAutoOpen', 0, \ "Determines if the project tree should be auto opened when starting\n" . \ "vim or a new tab in a project context.", \ '\(0\|1\)') if exists('g:vimplugin_running') let g:EclimProjectTreeAutoOpen = 0 endif call eclim#AddVimSetting( \ 'Core/Projects', 'g:EclimProjectTabTreeAutoOpen', 1, \ "Sets whether to auto open the project tree when using :ProjectTab\n" . \ "to open a new tab.", \ '\(0\|1\)') call eclim#AddVimSetting( \ 'Core/Projects', 'g:EclimProjectTreeExpandPathOnOpen', 0, \ "Whether or not to open the path to the current file when the project\n" . \ "tree is first opend.", \ '\(0\|1\)') call eclim#AddVimSetting( \ 'Core/Projects', 'g:EclimProjectTreeSharedInstance', 1, \ 'Sets whether to used a shared instance of the project tree per project.', \ '\(0\|1\)') call eclim#AddVimSetting( \ 'Core/Projects', 'g:EclimProjectTreePathEcho', 1, \ "Should the path of the file under the cursor be echoed as you navigate\n" . \ "the project tree.", \ '\(0\|1\)') if g:EclimProjectTreeAutoOpen && !exists('g:EclimProjectTreeAutoOpenProjects') let g:EclimProjectTreeAutoOpenProjects = ['CURRENT'] endif call eclim#AddVimSetting( \ 'Core/Projects', 'g:EclimProjectRefreshFiles', 1, \ 'Sets whether or not to notify eclipse of every file save in a project.', \ '\(0\|1\)') call eclim#AddVimSetting( \ 'Core/Projects', 'g:EclimProjectProblemsUpdateOnSave', 1, \ 'Should the open :ProjectProblems window be updated when saving source files.', \ '\(0\|1\)') call eclim#AddVimSetting( \ 'Core/Projects', 'g:EclimProjectProblemsUpdateOnBuild', 1, \ 'Should the open :ProjectProblems window be updated when running :ProjectBuild.', \ '\(0\|1\)') call eclim#AddVimSetting( \ 'Core/Projects', 'g:EclimProjectProblemsQuickFixOpen', 'botright copen', \ 'Sets the vim command used to open the :ProjectProblems quickfix window.') " }}} " Auto Commands {{{ " w/ external vim refresh is optional, w/ embedded gvim it is mandatory " disabling at all though is discouraged. if g:EclimProjectRefreshFiles || exists('g:vimplugin_running') augroup eclim_refresh_files autocmd! autocmd BufWritePre * call eclim#project#util#RefreshFileBootstrap() augroup END endif if g:EclimKeepLocalHistory augroup eclim_history_add autocmd! autocmd BufWritePre * call eclim#common#history#AddHistory() augroup END endif if g:EclimProjectTreeAutoOpen augroup project_tree_autoopen autocmd! autocmd VimEnter * \ if eclim#project#util#GetCurrentProjectRoot() != '' | \ call eclim#project#tree#ProjectTree(copy(g:EclimProjectTreeAutoOpenProjects)) | \ exec g:EclimProjectTreeContentWincmd | \ endif augroup END autocmd BufWinEnter * \ if tabpagenr() > 1 && \ !exists('t:project_tree_auto_opened') && \ !exists('g:SessionLoad') && \ eclim#project#util#GetCurrentProjectRoot() != '' | \ let t:project_tree_auto_opened = 1 | \ call eclim#project#tree#ProjectTree(copy(g:EclimProjectTreeAutoOpenProjects)) | \ exec g:EclimProjectTreeContentWincmd | \ endif endif autocmd SessionLoadPost * call eclim#project#tree#Restore() " }}} " Command Declarations {{{ if !exists(":ProjectCreate") command -nargs=+ \ -complete=customlist,eclim#project#util#CommandCompleteProjectCreate \ ProjectCreate :call eclim#project#util#ProjectCreate('') command -nargs=1 -complete=dir \ ProjectImport :call eclim#project#util#ProjectImport('') command -nargs=1 \ -complete=customlist,eclim#project#util#CommandCompleteProject \ ProjectDelete :call eclim#project#util#ProjectDelete('') command -nargs=+ \ -complete=customlist,eclim#project#util#CommandCompleteProject \ ProjectRename :call eclim#project#util#ProjectRename('') command -nargs=+ \ -complete=customlist,eclim#project#util#CommandCompleteProjectMove \ ProjectMove :call eclim#project#util#ProjectMove('') command -nargs=* \ -complete=customlist,eclim#project#util#CommandCompleteProject \ ProjectRefresh :call eclim#project#util#ProjectRefresh('') command -nargs=? \ -complete=customlist,eclim#project#util#CommandCompleteProject \ ProjectBuild :call eclim#project#util#ProjectBuild('') command ProjectRefreshAll :call eclim#project#util#ProjectRefreshAll() command ProjectCacheClear :call eclim#project#util#ClearProjectsCache() command -nargs=? -complete=customlist,eclim#client#nailgun#CommandCompleteWorkspaces \ ProjectList :call eclim#project#util#ProjectList('') command -nargs=? \ -complete=customlist,eclim#project#util#CommandCompleteProject \ ProjectSettings :call eclim#project#util#ProjectSettings('') command -nargs=? \ -complete=customlist,eclim#project#util#CommandCompleteProject \ ProjectInfo :call eclim#project#util#ProjectInfo('') command -nargs=? \ -complete=customlist,eclim#project#util#CommandCompleteProject \ ProjectOpen :call eclim#project#util#ProjectOpen('') command -nargs=? \ -complete=customlist,eclim#project#util#CommandCompleteProject \ ProjectClose :call eclim#project#util#ProjectClose('') command -nargs=? \ -complete=customlist,eclim#project#util#CommandCompleteProject \ ProjectNatures :call eclim#project#util#ProjectNatures('') command -nargs=+ \ -complete=customlist,eclim#project#util#CommandCompleteProjectNatureAdd \ ProjectNatureAdd \ :call eclim#project#util#ProjectNatureModify('add', '') command -nargs=+ \ -complete=customlist,eclim#project#util#CommandCompleteProjectNatureRemove \ ProjectNatureRemove \ :call eclim#project#util#ProjectNatureModify('remove', '') endif if !exists(":ProjectProblems") command -nargs=? -bang \ -complete=customlist,eclim#project#util#CommandCompleteProject \ ProjectProblems :call eclim#project#problems#Problems('', 1, '') endif if !exists(":ProjectTree") command -nargs=* \ -complete=customlist,eclim#project#util#CommandCompleteProjectOrDirectory \ ProjectTree :call eclim#project#tree#ProjectTree() command -nargs=0 ProjectTreeToggle :call eclim#project#tree#ProjectTreeToggle() command -nargs=0 ProjectsTree \ :call eclim#project#tree#ProjectTree(eclim#project#util#GetProjectNames()) command -nargs=1 \ -complete=customlist,eclim#project#util#CommandCompleteProjectOrDirectory \ ProjectTab :call eclim#project#util#ProjectTab('') endif if !exists(":ProjectCD") command ProjectCD :call eclim#project#util#ProjectCD(0) command ProjectLCD :call eclim#project#util#ProjectCD(1) endif if !exists(":ProjectGrep") command -nargs=+ \ -complete=customlist,eclim#project#util#CommandCompleteProjectRelative \ ProjectGrep :call eclim#project#util#ProjectGrep('vimgrep', ) command -nargs=+ \ -complete=customlist,eclim#project#util#CommandCompleteProjectRelative \ ProjectGrepAdd :call eclim#project#util#ProjectGrep('vimgrepadd', ) command -nargs=+ \ -complete=customlist,eclim#project#util#CommandCompleteProjectRelative \ ProjectLGrep :call eclim#project#util#ProjectGrep('lvimgrep', ) command -nargs=+ \ -complete=customlist,eclim#project#util#CommandCompleteProjectRelative \ ProjectLGrepAdd :call eclim#project#util#ProjectGrep('lvimgrepadd', ) endif if !exists(":Todo") command -nargs=0 Todo :call eclim#project#util#Todo() endif if !exists(":ProjectTodo") command -nargs=0 ProjectTodo :call eclim#project#util#ProjectTodo() endif " }}} " Menu Items {{{ "if has('gui') " amenu &Plugin.&eclim.Projects.List :ProjectList "endif " }}} " vim:ft=vim:fdm=marker