.nanorc
아래 텍스트 와 같이 구문 강조를 구성할 수 있는지 누군가 말해 줄 수 있는지 궁금합니다 .
Dim s$ = "foo ' bar" ' bar "foo"
... 문자열은 "foo 'bar"
모두 한 색상으로 강조 표시되고, 뒤따르는 주석은 ' bar "foo"
다른 색상으로 강조 표시됩니다.
내가 이렇게 하면:
# Comments.
color yellow "'.*"
# Strings
color brightmagenta ""(\\.|[^"])*""
그러면 나는 이것을 얻습니다:
다른 순서로 하면:
# Strings
color brightmagenta ""(\\.|[^"])*""
# Comments.
color yellow "'.*"
그러면 나는 이것을 얻습니다:
답변1
댓글에 다음과 같은 내용이 있는 경우아니요가 포함되어 있습니다 '
. 즉마지막 '
그 줄이 주석의 시작 부분인 경우 가장 잘 작동하는 것 같습니다.뒤로줄 끝부터 비탐욕 검색이 수행됩니다.
문자열 용어를 사용하지만 다른 주석 용어를 사용하는 방법을 시도해 보세요.
# Strings
color brightmagenta ""(\\.|[^"])*""
# Comments.
color green "[^']*$"
이것은 작동합니다.와는 별개로안타깝게도 주석 표시( '
)에는 색상이 지정되어 있지 않습니다.
다음과 같이 추가하십시오 '
.
# Strings
color brightmagenta ""(\\.|[^"])*""
# Comments.
color green "'[^']*$"
마침내 원하는 결과를 얻었습니다.
참고: 탐욕스럽지 않은 대안[^']*
응 '.*?
, 나야첫 번째아래를 참조하여 사용해 보았으나 실패했습니다...
게으른(탐욕적이지 않음) *?
오류가 발생합니다.
.*?
나의 첫 번째 생각은 사용하는 것이 었습니다.회의주석 표시( '
)도 다음과 같이 색상이 지정됩니다.
# Comments.
color green "'.*?$"
논리적으로, 끝부터 시작하는 탐욕스럽지 않은 검색은 귀하의 댓글에도 적용됩니다.
그러나 nano에서는 오류가 발생합니다.
Bad regex "'.*?$": repetition-operator operand invalid
그것가능한오류입니다. 참조하세요.Mac OS에서 Brew #41의 nano 2.3.6을 사용할 때 php.nanorc, sh.nanorc 및 zsh.nanorc의 정규식 오류수정되었다고 합니다:
답변: POSIX 정규 표현식은 지원되지 않습니까? 게으름(또는 단순한 게으름) 때문입니다. 문제가 있는 줄에서 ?를 제거하면 오류가 제거되지만 다른 사람의 평가가 바뀌므로 여기서는 그렇게 하고 싶지 않을 것입니다.
참고: OS X에서 nano를 실행할 때 이 오류가 발생했습니다. 이것이 관련이 있는지 확실하지 않습니다.