파이썬의 TextMate 2에서 텍스트 접이식리스트 / 튜플 / 사전 접는하지

CrazyChucky :

나는 시간 뒤에 작은 그냥주의의 TextMate 2 들려요가 존재 년 동안 1.5.10을 사용하고 있어요.

나는 그것을 밖으로 시도하고, 어떤 방법으로 파이썬의 코드 폴딩이 개선된다. (축소 방법 / 클래스 정의 후 공백의 그것은 더 이상 먹는다 라인). 그러나, 그것은 더 이상 여러 줄에 분할리스트, 터플, 그리고 사전을 접을 수 없습니다. 다음 코드는, 예를 들어, 1.5.10에 있지만 2.0.6 폴딩 화살표를 가지고

foo = [
    1,
    2,
    3,
]

파이썬 번들의 기본 접기 설정은 다음과 같습니다

{   foldingStartMarker = '^\s*"""(?=.)(?!.*""")';
    foldingStopMarker = '^\s*"""\s*$';
}

그리고 패턴을 접는 기본 읽

{ foldingIndentedBlockStart = '^\s*(class|def|for|while|if|elif|else|with|try|finally|except)\b.*:\s*(#.*)?$'; }

나는 완전히 확실 나는 정의를 접는 찾을 수 있습니다, 특히 유일한 문서 때문에이 두 가지 작업을 함께가, TextMate를 1.5이며, 오래된 표시되는 방법을 모르겠어요. 지금까지 아무 소용이 그들과 함께 바이올린을 시도했습니다. 사람이 어떤 아이디어가 있습니까?

CrazyChucky :

좋아, 그것은 밝혀 내가 정규식 모드로 충분히 내 머리를 가지고하면 어려운 일이 아니었다. foldingIndentBlockStart들여 쓰기를 기반으로 모든 대부분의 파이썬 폴딩, 책임이 있습니다. foldingStartMarker그리고 foldingStopMarker번들의 기본 패턴은 트리플 인용 문서화 문자열을 배하지만, 다른 모든 폴딩을 처리합니다. *

I 패턴의 쌍 (경우에, 긴 시퀀스의 그것의 부분을 그리고 이후 쉼표)) (개구} {폐쇄를 확인하고, []는 동일한 라인에 대한 의견을 지원하는 썼다. 그래서 같이 | 내가 가진 기존에 나의 새로운 패턴을 추가

{   foldingStartMarker = '^\s*"""(?=.)(?!.*""")|(\{|\(|\[)\s*(#.*)?$';
    foldingStopMarker = '^\s*"""\s*$|^\s*(\}|\)|\]),?\s*(#.*)?$';
}

나는 어떤 코너의 경우 누락 될 수 있지만 지금까지이 일 것으로 보인다.


* 참고 :이 경우 문서화 문자열의 기본 공급 패턴에만 작동 하지 않는 오프닝 트리플 따옴표와 문자열의 시작 사이에 줄 바꿈을 넣어. TextMate에 당신이 시작 패턴을 종료 할 때 좋아하는 것 모두 같은 줄 일치하지 않는 나는 현재이 문제를 해결하는 방법을 볼 수 없습니다.

추천

출처http://43.154.161.224:23101/article/api/json?id=17404&siteId=1