Atom language에 CWL 추가
개요
Atom에서 Common Workflow Language을 작성하기위한 신택스 하이 라이터를 원했지만 찾지 못했기 때문에 먼저 만들기 시작했습니다.
간단한 기능을 만들고 거기에서 할 수 있다면 여러가지 해보고 싶다.
준비
.atom/packages/
에 language-cwl
라는 디렉트를 만들었다.
atom 을 reload 하면(자), 깨어질 것 같다
개발 버전 정보
개발판의 패키지를 넣는 디렉토리도 따로 만들 수 있다.
이것에 대해서는 나중에 작성할 예정입니다.
atom -d
그러면 시작하면 개발판 패키지가 사용됩니다.
language-cwl을 만들 때
우선, 병아리 디렉토리를 만들었다.
.
├── CHANGELOG.md
├── grammars
│ └── cwl.cson
├── LICENSE
├── package.json
└── README.md
package.json
{
"name": "language-cwl",
"version": "0.1.0",
"description": "CWL support in Atom",
"keywords": [
],
"repository": {
"type": "git",
"url": "https://github.com/manabuishii/language-cwl"
},
"bugs": {
"url": "https://github.com/manabuishii/language-cwl/issues"
},
"license": "MIT",
"engines": {
"atom": ">=1.0.0 <2.0.0"
},
"dependencies": {
}
}
grammers/cwl.cson
우선은, 코멘트 아웃에만 대응.
다만, 쿼트 속이라든지는 생각하지 않는다.
'scopeName': 'source.cwl'
'name': 'CWL'
'fileTypes': ['cwl']
'patterns': [
{
# comment
'match': '#.*$'
'name': 'comment.line.number-sign.cwl'
}
]
결과
키워드를 강조하고 싶습니다.
우선, 다음과 같은 것을 생각하고 cwlVersion
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
grammers/cwl.cson
cwl.json을 만들었습니다.
'scopeName': 'source.cwl'
'name': 'CWL'
'fileTypes': ['cwl']
'patterns': [
{
# keyword
'match': '\\b(cwlVersion)\\b'
'name': 'keyword.control.cwl'
},
{
# comment
'match': '#.*$'
'name': 'comment.line.number-sign.cwl'
}
]
결과
type(CommandLineTool) 등을 추가
suppoert.type이 좋은지 여부를 다시 고려해야하지만,
다음을 patterns에 추가
{
# type
'match': '\\b(CommandLineTool|ExpressionTool|Workflow)\\b'
'name': 'support.type.cwl'
}
이렇게하면 다른 색상으로 표시됩니다.
결과
개발판 자신 메모
Atom 재로드는 명령 팔레트에서 Window Reload
범위 확인
커서 위치의 범위 확인
명령으로 Editor: Log cursor scope
맥이라면 기본 키 바인딩이 할당 된 것 같습니다.
리눅스나 윈도우라면 할당되지 않았을지도 모른다.
이하, 실행 화면 Scopes at Cursor
그런데, 현재의 커서 위치의 스코프
Reference
이 문제에 관하여(Atom language에 CWL 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/manabuishiirb/items/6a7db0b999d9345c79fb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
atom -d
우선, 병아리 디렉토리를 만들었다.
.
├── CHANGELOG.md
├── grammars
│ └── cwl.cson
├── LICENSE
├── package.json
└── README.md
package.json
{
"name": "language-cwl",
"version": "0.1.0",
"description": "CWL support in Atom",
"keywords": [
],
"repository": {
"type": "git",
"url": "https://github.com/manabuishii/language-cwl"
},
"bugs": {
"url": "https://github.com/manabuishii/language-cwl/issues"
},
"license": "MIT",
"engines": {
"atom": ">=1.0.0 <2.0.0"
},
"dependencies": {
}
}
grammers/cwl.cson
우선은, 코멘트 아웃에만 대응.
다만, 쿼트 속이라든지는 생각하지 않는다.
'scopeName': 'source.cwl'
'name': 'CWL'
'fileTypes': ['cwl']
'patterns': [
{
# comment
'match': '#.*$'
'name': 'comment.line.number-sign.cwl'
}
]
결과
키워드를 강조하고 싶습니다.
우선, 다음과 같은 것을 생각하고 cwlVersion
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
grammers/cwl.cson
cwl.json을 만들었습니다.
'scopeName': 'source.cwl'
'name': 'CWL'
'fileTypes': ['cwl']
'patterns': [
{
# keyword
'match': '\\b(cwlVersion)\\b'
'name': 'keyword.control.cwl'
},
{
# comment
'match': '#.*$'
'name': 'comment.line.number-sign.cwl'
}
]
결과
type(CommandLineTool) 등을 추가
suppoert.type이 좋은지 여부를 다시 고려해야하지만,
다음을 patterns에 추가
{
# type
'match': '\\b(CommandLineTool|ExpressionTool|Workflow)\\b'
'name': 'support.type.cwl'
}
이렇게하면 다른 색상으로 표시됩니다.
결과
개발판 자신 메모
Atom 재로드는 명령 팔레트에서 Window Reload
범위 확인
커서 위치의 범위 확인
명령으로 Editor: Log cursor scope
맥이라면 기본 키 바인딩이 할당 된 것 같습니다.
리눅스나 윈도우라면 할당되지 않았을지도 모른다.
이하, 실행 화면 Scopes at Cursor
그런데, 현재의 커서 위치의 스코프
Reference
이 문제에 관하여(Atom language에 CWL 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/manabuishiirb/items/6a7db0b999d9345c79fb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
'scopeName': 'source.cwl'
'name': 'CWL'
'fileTypes': ['cwl']
'patterns': [
{
# keyword
'match': '\\b(cwlVersion)\\b'
'name': 'keyword.control.cwl'
},
{
# comment
'match': '#.*$'
'name': 'comment.line.number-sign.cwl'
}
]
{
# type
'match': '\\b(CommandLineTool|ExpressionTool|Workflow)\\b'
'name': 'support.type.cwl'
}
커서 위치의 범위 확인
명령으로
Editor: Log cursor scope
맥이라면 기본 키 바인딩이 할당 된 것 같습니다.
리눅스나 윈도우라면 할당되지 않았을지도 모른다.
이하, 실행 화면
Scopes at Cursor
그런데, 현재의 커서 위치의 스코프Reference
이 문제에 관하여(Atom language에 CWL 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/manabuishiirb/items/6a7db0b999d9345c79fb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)