Strange i could not found my function definition...?
Ahh.. I see, the function declaration is in a file with *.inc
extention, PHP is what i am using and working with
frontaccounting (to be short, will called as FA) .
So i search my FA a .vimprj/ inside the working directory.
Aha! No .vimprj/ that is why no tags file created. So i create
the .vimprj/ on the root directory of FA, remember the
"/" trailing of .vimprj to remind you that its a directory.
So i type,
:Project
And new separated window created inside my GVim.
I hit my keyboard with \C (create new project) and
supplied 3 inputs, the root of my FA project directory,
the CD=. and the filters "*.php *.inc *.html *.php*".
After a few seconds the project tree created. Lets get
to work.
Bla bla bla, what! I hit my keyboard with g] which means
"go to declaration", in this case is the declaration of
a function that where my current cursor pointing at,
nothing happened. So tried to
:IndexerDebugLog
Nahh... the debug message throws something like
... C++-Kind=... Well its a PHP scope why c++ being
detected by my ctags? Ok, i realized that my .vimprj/
still has nothing inside so i add a file called mysettings.vim
And copy paste of my other PHP project mysettings.vim,
let g:indexer_disableCtagsWarning = 1
let g:indexer_ctagsCommandLineOptions = " --exclude='*.sql' --exclude='*.js'
--exclude='*.css' --PHP-kinds=+cf --fields=+iaS --extra=+q
--regex-PHP='/(abstract class |class ) ([^ ]*)/\\1/c/'
--regex-PHP='/interface ([^ ]*)/\\1/c/'
--regex-PHP='/(public |static |abstract |protected |private )+function.*([^ ()]*)/\\2/f/'
--regex-PHP='/define[(].([a-zA-Z0-9_]*)/\\1/f/' "
Save the file, done! I restarted GVim, and hit g] at my function name.
Arrghhh.. nothing happened, again??? And i hit
:IndexerDebugInfo
Still it showed me C++-kind, let me think.. After several googling
and "man ctags" i ended up with
let g:indexer_disableCtagsWarning = 1
let g:indexer_ctagsCommandLineOptions = " --langdef=PHP --langmap=PHP:.inc
--exclude='*.sql' --exclude='*.js' --exclude='*.css'
--PHP-kinds=+cf --fields=+iaS --extra=+q
--regex-PHP='/(abstract class |class ) ([^ ]*)/\\1/c/'
--regex-PHP='/interface ([^ ]*)/\\1/c/'
--regex-PHP='/(public |static |abstract |protected |private )+function.*([^ ()]*)/\\2/f/'
--regex-PHP='/define[(].([a-zA-Z0-9_]*)/\\1/f/' -h '.inc' "
I've added with langmap, langdef and -h option. Save and restart my
GVim, hurray.. it works my function declaration inside *.inc is now
there in the ~/.vimprojects_tag/frontaccounting. And if i g] it jumps
to the source file where function declaration is in.
Happy Vim-ing..
Ahh.. I see, the function declaration is in a file with *.inc
extention, PHP is what i am using and working with
frontaccounting (to be short, will called as FA) .
So i search my FA a .vimprj/ inside the working directory.
Aha! No .vimprj/ that is why no tags file created. So i create
the .vimprj/ on the root directory of FA, remember the
"/" trailing of .vimprj to remind you that its a directory.
So i type,
:Project
And new separated window created inside my GVim.
I hit my keyboard with \C (create new project) and
supplied 3 inputs, the root of my FA project directory,
the CD=. and the filters "*.php *.inc *.html *.php*".
After a few seconds the project tree created. Lets get
to work.
Bla bla bla, what! I hit my keyboard with g] which means
"go to declaration", in this case is the declaration of
a function that where my current cursor pointing at,
nothing happened. So tried to
:IndexerDebugLog
Nahh... the debug message throws something like
... C++-Kind=... Well its a PHP scope why c++ being
detected by my ctags? Ok, i realized that my .vimprj/
still has nothing inside so i add a file called mysettings.vim
And copy paste of my other PHP project mysettings.vim,
let g:indexer_disableCtagsWarning = 1
let g:indexer_ctagsCommandLineOptions = " --exclude='*.sql' --exclude='*.js'
--exclude='*.css' --PHP-kinds=+cf --fields=+iaS --extra=+q
--regex-PHP='/(abstract class |class ) ([^ ]*)/\\1/c/'
--regex-PHP='/interface ([^ ]*)/\\1/c/'
--regex-PHP='/(public |static |abstract |protected |private )+function.*([^ ()]*)/\\2/f/'
--regex-PHP='/define[(].([a-zA-Z0-9_]*)/\\1/f/' "
Save the file, done! I restarted GVim, and hit g] at my function name.
Arrghhh.. nothing happened, again??? And i hit
:IndexerDebugInfo
Still it showed me C++-kind, let me think.. After several googling
and "man ctags" i ended up with
let g:indexer_disableCtagsWarning = 1
let g:indexer_ctagsCommandLineOptions = " --langdef=PHP --langmap=PHP:.inc
--exclude='*.sql' --exclude='*.js' --exclude='*.css'
--PHP-kinds=+cf --fields=+iaS --extra=+q
--regex-PHP='/(abstract class |class ) ([^ ]*)/\\1/c/'
--regex-PHP='/interface ([^ ]*)/\\1/c/'
--regex-PHP='/(public |static |abstract |protected |private )+function.*([^ ()]*)/\\2/f/'
--regex-PHP='/define[(].([a-zA-Z0-9_]*)/\\1/f/' -h '.inc' "
I've added with langmap, langdef and -h option. Save and restart my
GVim, hurray.. it works my function declaration inside *.inc is now
there in the ~/.vimprojects_tag/frontaccounting. And if i g] it jumps
to the source file where function declaration is in.
Happy Vim-ing..
Comments