Hello, "Tim Roberts" wrote : > I write php using an MVC framework, and I'd love to be able to > conditionally generate some of my new file content. > > The main ones would be > vim app/controllers/projects_controller.php > > Should produce: > > <?php > class ProjectsController extends AppController { > > }
With mu-template, you'll need a template-file named ~/.vim/after/template/php.vim that contains -------------- >% ----------- VimL:" hint: php class file for Tim Roberts' project VimL: let s:value_start = '¡' VimL: let s:value_end = s:value_start VimL: let s:marker_open = '<+' VimL: let s:marker_close = '+>' VimL: let s:filename = s:path_from_root(expand('%:p')) VimL: let s:parts=split(s:filename,'/') VimL: let s:class=matchstr(s:parts[-1], '.*\ze\.') VimL: let s:class=lh#dev#naming#to_upper_camel_case(s:class) VimL: let s:base=join(s:parts[0:-2],'_') VimL: let s:base=lh#dev#naming#to_upper_camel_case(s:base) <?php class ¡s:class¡ extends ¡s:base¡ { <++> } -------------- >% ----------- The file is best saved in utf-8 encoding. mu-template [http://code.google.com/p/lh-vim/wiki/muTemplate] has several dependencies listed on the wiki (lh-vim-lib, and lh-brackets) (If you use vim-addon-manager, it will be managed for you automatically). The template-file itself has two dependencies. * First it requires b:sources_root to be set before you open the file. AFAIK, only my version local_vimrc can ensures this: http://code.google.com/p/lh-vim/source/browse/misc/trunk/plugin/local_vimrc.vim * Then it requires lh-dev function: to_upper_camel_case() Its definition is really simple (if you prefer not to install this undocumented plugin): http://code.google.com/p/lh-vim/source/browse/dev/trunk/autoload/lh/dev/naming.vim#56 HTH, -- Luc Hermitte http://lh-vim.googlecode.com/ http://hermitte.free.fr/vim/ -- You received this message from the "vim_use" 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