开发者

visualize dependence on global variables using vim, ctags potentially

I'd like to highlight variables in my (Maple-code, but doesn't matter much) code which are global for routines.

e.g. I have

global_var1:=1;
global_var2:=2;

...

some_proc:=proc()
  local local_var1, global_var2;
  local_var1:=1;
  local_var2:=local_var1*global_va开发者_运维百科r1+global_var2;
end proc;

I want to highlight global_var1 inside of some_proc() in this example. Obviously the naming is not so trivial in general as in the example.

Can I use ctags to do this?


It depends on ctags. With some languages it is unable to extract local variables (viml), with other languages, it doesn't detect all local variables (C++). Hence, the first thing you'll have to do is to see what ctags can do for your language (Maple).

The other difficulty is to restrict the highlighting to one specific function, and to stay synchronized every time newlines are inserted to the edited file. I know no easy way to do this -- may be with a vim syntax region that starts at local.*{global-name} and ends at end proc to neutralize the highlighting of all global variables?

One task that'll be much more easier would be to highlight variable masking, i.e. highlight global_var2 at the point in the function where it is declared local. Alas, it's not what you're looking for.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜