2011-08-17 2 views
0

루틴의 전역 변수 인 내 (메이플 코드이지만별로 중요하지 않은) 코드를 강조하고 싶습니다.vim, ctags를 사용하여 전역 변수에 대한 의존성을 시각화합니다.

나는

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; 

내가이 예에서 some_proc()의 내부 global_var1을 강조 할 수 있습니다. 분명히 명명법은 예제처럼 일반적으로 그렇게 사소하지는 않습니다.

이렇게하려면 태그를 사용할 수 있습니까?

답변

0

이것은 ctags에 따라 다릅니다. 일부 언어에서는 로컬 변수 (viml)를 추출 할 수없고 다른 언어와 함께 모든 로컬 변수 (C++)를 감지하지 못합니다. 그러므로 가장 먼저해야 할 일은 ctags가 사용자의 언어 (메이플)에 대해 할 수있는 것을 확인하는 것입니다.

또 다른 어려움은 한 강조 표시를 특정 기능으로 제한하고 편집 된 파일에 줄 바꿈이 삽입 될 때마다 동기화 상태를 유지하는 것입니다. 쉬운 방법이 없다 - 모든 전역 변수의 강조 표시를 무효화하기 위해 local.*{global-name}에서 시작하고 end proc에서 끝나는 vim 구문 영역이있을 수 있습니까?

더 쉽게 할 수있는 작업 중 하나는 변수 마스킹을 강조 표시하는 것입니다. 즉, 변수가 로컬로 선언 된 지점에서 global_var2을 강조 표시합니다. 아아, 그것은 당신이 찾고있는 것이 아닙니다.

관련 문제