визуализировать зависимость от глобальных переменных, используя vim, ctags потенциально - PullRequest
0 голосов
/ 17 августа 2011

Я хотел бы выделить переменные в моем коде (Maple-code, но это не имеет большого значения), который является глобальным для подпрограмм.

например, у меня есть

global_var1:=1;
global_var2:=2;

...

some_proc:=proc()
  local local_var1, global_var2;
  local_var1:=1;
  local_var2:=local_var1*global_var1+global_var2;
end proc;

Я хочу выделить global_var1 внутри some_proc() в этом примере.Очевидно, что наименование не так тривиально в целом, как в примере.

Могу ли я использовать ctags для этого?

1 Ответ

0 голосов
/ 18 августа 2011

Это зависит от ctags. В некоторых языках невозможно извлечь локальные переменные (viml), в других языках он не обнаруживает все локальные переменные (C ++). Следовательно, первое, что вам нужно сделать, это посмотреть, что ctags может сделать для вашего языка (Maple).

Другая сложность состоит в том, чтобы ограничить выделение одной конкретной функцией и сохранять синхронизацию каждый раз, когда в отредактированный файл вставляются новые строки. Я не знаю простого способа сделать это - может быть, с синтаксической областью vim, которая начинается с local.*{global-name} и заканчивается на end proc для нейтрализации выделения всех глобальных переменных?

Одной задачей, которая будет намного проще, будет выделение маскирования переменных, то есть выделение global_var2 в той точке функции, где она объявлена ​​локальной. Увы, это не то, что вы ищете.

...