Skip to main content

Vim function GetProjectForFile()

Posted in

function! GetProjectForFile(filePath)
    if a:filePath == ""
        return ""
    endif

    " read projects file
    for sLine in readfile(g:projectFile)
        " if line is not empty
        if l:sLine !~ '^\s*$' && l:sLine !~ '^\s*\#.*$'
            let l:projectPath = l:sLine
 
            if stridx(a:filePath, l:projectPath) == 0
                return l:projectPath
            endif
        endif
    endfor
 
    return ""
endfunction

This function has been written in order to be able to find out which project the file belongs to. The project top directories are listed in ~/.vim_projects file. The projects file looks like this:

[Proj 1]
/home/user/workspace/Project1
 
[Proj 2]
/home/user/workspace/GIT/Project2

Post new comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
au_io_isual: