2011-02-20 7 views
1

코드 완성 기능을 CodeMirror 기반 XML 편집기에 통합하려고합니다. 기본적으로 xml 파일의 스키마를 구문 분석하고 스키마 및 구조에 따라 코드 완성을 제공합니다. 하지만 내가 할 수없는 일이 있습니다. 예를 들어 커서가 inside 태그와 xml 태그로 이동하면 코드 완성은 이에 따라 동작해야합니다. 그것은 커서가 태그 안에 있다는 것을 알아야합니다. 어떻게 할 수 있습니까?CodeMirror 코드 완성 분석 커서 위치

코드 미러의 XML 구문 분석기가 커서 위치의 의미 적 위치에 대해 약간의 변경을 가할 수 있다고 생각합니다. 그게 가능하니?

커서 위치를 분석하고 그에 따라 행동하는 일반적인 방법이 있습니까?

미리 감사드립니다.

+1

코드 완성을 서면으로 진행 했습니까? 코드 미러 및 XML 스키마를 사용하여 코드 완성 기능을 사용하는 아이디어를 정말 좋아합니다. 나는 아무도 이것을 전에 시도한 것이 아닌지 궁금합니다. 이것에 대한 피드백을 좀 주시겠습니까? – Janning

답변

2

CodeMirror 2를 사용하는 경우 주어진 위치에서 파서 상태를 분석 할 수있는 getTokenAt 메소드가 있습니다. http://codemirror.net/2/demo/complete.html에 로컬 자바 스크립트 변수를 자동 완성하는 데 사용되는 것을 볼 수 있습니다. XML 구문 분석기의 경우 상태의 컨텍스트 속성 인 object의 연결 목록을 검사 할 수 있습니다. 각 태그 속성에는 tagName 속성과 그 위에있는 컨텍스트로 연결되는 이전 속성이 들어 있습니다.