Exuberant Ctags with R

前端 未结 6 830
北荒
北荒 2021-02-05 07:54

Is there any documented use of ctags with R? Would this be useful? Would it be difficult to implement?

Specifically, I\'ve just started using Vim. It would be cool to be

6条回答
  •  梦如初夏
    2021-02-05 08:22

    This is a modification of Henrico's answer, and may be implemented by copying and pasting the following code into one's ~/.ctags files. Henrico's code did not work for indented functions, but the following code does.

    --langdef=R
    --langmap=r:.R.r
    --regex-R=/^[ \t]*"?([.A-Za-z][.A-Za-z0-9_]*)"?[ \t]*<-[ \t]function/\1/f,Functions/
    --regex-R=/^"?([.A-Za-z][.A-Za-z0-9_]*)"?[ \t]*<-[ \t][^f][^u][^n][^c][^t][^i][^o][^n]/\1/g,GlobalVars/ 
    --regex-R=/[ \t]"?([.A-Za-z][.A-Za-z0-9_]*)"?[ \t]*<-[ \t][^f][^u][^n][^c][^t][^i][^o][^n]/\1/v,FunctionVariables/
    

    This allows variables to be recognized with ctags as well as functions. If you're using the taglist vim addon, then, it allows you to distinguish between global variables and other variables. Also, if you're using taglist, then you will need to paste the following in your vimrc.

    let tlist_r_settings = 'R;f:Functions;g:GlobalVariables;v:FunctionVariables'
    

提交回复
热议问题