[development] Vim for Drupal request
Victor Kane
victorkane at gmail.com
Sat Aug 1 14:10:10 UTC 2009
OK, great, Sam, got it working after doing the following:
1. Put in the absolute path in the set tags line in .vimrc as you suggested:
set tags ~/.vim/drupal6.tags
2. Copied not just drupal6.tags but the drupal6 directory also to ~/.vim
So:
victorkane at victorkane:~/.vim$ ls -l
total 52
drwxr-xr-x 3 victorkane victorkane 4096 2006-10-24 08:08 after
drwxr-xr-x 2 victorkane victorkane 4096 2006-10-24 21:59 colors
drwxr-xr-x 2 victorkane victorkane 12288 2006-03-17 17:16 colors__
drwxr-xr-x 2 victorkane victorkane 4096 2006-10-24 17:41 doc
*drwxr-xr-x 3 victorkane victorkane 4096 2009-08-01 11:05 drupal6
-rw-r--r-- 1 victorkane victorkane 19644 2009-08-01 08:38 drupal6.tags*
drwxr-xr-x 2 victorkane victorkane 4096 2009-07-04 17:31 plugin
victorkane at victorkane:~/.vim$
Now, when I position my cursor within the phrase "hook_requirements" on the
typical "Implementation of hook_requirements" comment in a file I am working
on, and do "Ctrl-]" I am automagically taken to the function definition. I
get back to where I was with "Ctrl-T".
Once again, thanks a lot for this suggestion, and it opens the doors to
doing even more with vim!
Victor
On Sat, Aug 1, 2009 at 10:44 AM, Sam Tresler <sam at treslerdesigns.com> wrote:
> My mistake Victor, .vimrc needs to take an absolute path change
>
> set tags .vim/drupal6.tags
>
> to
>
> set tags ~/.vim/drupal6.tags
>
> if that doesn't work, try manually loading the tags file in vim with
> :set tags=/home/yourhome/.vim/drupal6.tags and see if it will work
>
> Good catch on the hooks/ dir, I re-wrote that to have the -d flag as I
> wasn't keen on traversing the entire cvs download to get to the file.
>
> I'll add .inc files to the vim doc as well, as I believe they aren't there
> currently.
>
> Let me know if that works for you.
>
> -S
>
> Victor Kane wrote:
>
>> OK, first of all, thanks so much for the fruits of an idle moment! I use
>> vim all the time now, and this is great.
>>
>> Now, a problem and a solution.
>>
>> I executed the below cvs statement on the command line
>> But since it includes "-d drupal6", it doesn't create a hooks directory,
>> but rather a drupal6 directory.
>> Error:
>> $ ctags -R -o drupal6.tags hooks
>> ctags: Warning: cannot open source file "hooks" : No such file or
>> directory
>>
>> So the following does work:
>>
>> $ ctags -R -o drupal6.tags drupal6
>>
>> Then, you probably want to include .inc files in the list, yielding:
>>
>> if has("autocmd")
>> " Drupal *.module and *.install files.
>> augroup module
>> autocmd BufRead,BufNewFile *.module set filetype=php
>> autocmd BufRead,BufNewFile *.install set filetype=php
>> autocmd BufRead,BufNewFile *.inc set filetype=php
>> set tags=.vim/drupal6.tags
>> augroup END
>> endif
>>
>> However, when editing a file, , Ctrl-] gives error:
>>
>> E433: No tags file
>> E426: tag not found: drupal_get_form
>> Am I missing something?
>>
>> Victor Kane
>> http://awebfactory.com.ar
>>
>> On Fri, Jul 31, 2009 at 6:58 PM, Sam Tresler <sam at treslerdesigns.com<mailto:
>> sam at treslerdesigns.com>> wrote:
>>
>> You know... it said that at the top of the api.drupal.org
>> <http://api.drupal.org> page, but I guess it didn't occur to me to
>>
>> actually look... Thanks.
>>
>> Works like a charm. I'd really rather skip the first incarnation I
>> had, and just have the hooks loaded. I'll update the vim docs here
>> shortly, but for the record.
>>
>>
>> $ cvs -z6
>> -d:pserver:anonymous:anonymous at cvs.drupal.org:/cvs/drupal-contrib co
>> -r DRUPAL-6--1 -d drupal6 contributions/docs/developer/hooks
>> $ ctags -R -o drupal6.tags hooks
>> $ mv drupal.tags ~/.vim
>>
>> (make the .vim directory if you need to)
>>
>> Then add this to ~/.vimrc
>>
>> if has("autocmd")
>> " Drupal *.module and *.install files.
>> augroup module
>> autocmd BufRead,BufNewFile *.module set filetype=php
>> autocmd BufRead,BufNewFile *.install set filetype=php
>> set tags=.vim/drupal6.tags
>> augroup END
>> endif
>>
>> And you have code-hinting for drupal core in vim. Just remember to
>> update it as you change versions. But it sounds like in Drupal 7
>> this can scrape directly from .api.php files; I haven't even looked
>> at those yet.
>>
>> Now what was I doing before this diversion....
>>
>> -S
>>
>>
>>
>>
>> Neil Drumm wrote:
>>
>> 6.x and lower:
>>
>> http://cvs.drupal.org/viewvc.py/drupal/contributions/docs/developer/hooks/?pathrev=DRUPAL-6--1
>> 7.x: *.api.php in module directories.
>>
>> -Neil
>>
>> On Fri, Jul 31, 2009 at 2:03 PM, Sam Tresler
>> <sam at treslerdesigns.com <mailto:sam at treslerdesigns.com>
>> <mailto:sam at treslerdesigns.com <mailto:sam at treslerdesigns.com>>>
>> wrote:
>>
>> Thanks Neil,
>> Some further digging and I found out that php code completion
>> in
>> vim can map to a ctags output file, which is pretty easy to
>> generate.
>>
>> ctags -R -o drupal6.tags --langmap=php:.module *
>>
>> then load it in vim
>>
>> :set tags=drupal6.tags
>>
>> and you have code complete for every function in core.
>>
>> However, this unfortunately doesn't get code complete on
>> hooks, as
>> they aren't actually named in core, but constructed from
>> modulename_function().
>>
>> So, I guess my next question is where are the hook function
>> definitions from api.drupal.org <http://api.drupal.org>
>> <http://api.drupal.org> generated?
>>
>>
>> Thanks in advance.
>>
>> -S
>>
>>
>>
>>
>> Neil Drumm wrote:
>>
>> http://api.drupal.org/api/function_dump/6 might have
>> worked at
>> some point. I honestly haven't paid any attention to that
>> page,
>> which might integrate with IDEs; apparently no one else
>> has either.
>>
>> This list is already available in JSON format in the
>> development
>> version of API module. That or another format should be
>> present
>> in the future for an api_filter module to provide an input
>> format filter without running the api module.
>>
>> -Neil
>>
>> On Fri, Jul 31, 2009 at 12:26 PM, Sam Tresler
>> <sam at treslerdesigns.com <mailto:sam at treslerdesigns.com>
>> <mailto:sam at treslerdesigns.com <mailto:sam at treslerdesigns.com>>
>> <mailto:sam at treslerdesigns.com
>> <mailto:sam at treslerdesigns.com> <mailto:sam at treslerdesigns.com
>> <mailto:sam at treslerdesigns.com>>>>
>>
>> wrote:
>>
>> I am working on a drupalcomplete.vim file and would
>> like to
>> generate
>> an list of all of Drupal 6 (and eventually 5,7, etc)
>> functions,
>> objects, and anything else that might warrant code
>> completion.
>>
>> I believe that api.drupal.org <http://api.drupal.org>
>> <http://api.drupal.org>
>> <http://api.drupal.org> scrapes this
>>
>> automatically from core. I can manipulate the data to
>> match the
>> format I need no problem, but I thought I would ask
>> here before I
>> went about finding my own way to scrape the data from
>> a cvs
>> checkout.
>>
>> This was broached before here
>>
>> http://lists.drupal.org/pipermail/development/2009-February/032090.html
>> but appears stalled.
>>
>> yes, I have too much time on my hands currently.
>>
>> Cheers. -Sam
>>
>>
>>
>>
>> -- Neil Drumm
>> http://delocalizedham.com
>>
>>
>>
>>
>> -- Neil Drumm
>> http://delocalizedham.com
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.drupal.org/pipermail/development/attachments/20090801/c1756796/attachment.htm>
More information about the development
mailing list