Hi Very good initiative!
> ## Project Information > > Vim can introduce a way to provide following information: > [...] > - buffer-local options > [...] > ### Locating project root > > The project root of current file is the nearest parent directory with > a folder named `.vimprj` (can be changed by set rootmarker=xxx) in > it. > > A buffer-specific variable `v:project` is used to store the project > root directory of current buffer, it is initialized when you open a > file as: > > ```VimL > let v:projectroot = fnamemodify(find(&rootmarker, '.;'), ':h') > ``` I've experimented on the subject: https://github.com/luchermitte/lh-vim-lib/blob/master/doc/Project.md What will be interesting is different than "buffer-local", it's "project-local". An option (/variable) changed in one buffer belonging to a project needs to be propagated to (or better shared with!) all buffers belonging to the same project. This way, instead of a v:projectroot, it would be a p:projectroot, a p:where_the_build_directory_is, a p:where_ctags_plugin_will_build_tags_files, a p:naming_policy, and so on. Regarding the remark about editor-config: there is no neat way to specify values for vim variables or options if need be. With the main editorconfig plugin for vim, we cannot be sure a variable will be set before another one which could be tedious to introduce dependencies. -- Luc Hermitte -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
