Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Emacs でも CWL を編集したい!

CWL を編集する際に、キーワードの色分けなどがないとしょんぼりしますよね。

この問題を何とかするため、Emacs で CWL を編集する cwl-mode を作成して公開しました


package.el 用に MELPA リポジトリを追加

cwl-mode は MELPA のリポジトリに収録されています。
package.el を使ってインストールできるように、以下のコードを init.el に追加します。

(require 'package)
(add-to-list 'package-archives
 '("melpa" . "https://melpa.org/packages/") t)

cwl-mode のインストール

M-x package-install cwl-mode でインストールできます。

(オプション) Flycheck のインストール

Flycheck をインストールすることで、CWL の文法チェックを自動で行うことができます。
Flycheck も MELPA に収録されているため、M-x package-install flycheck でインストールできます。


Flycheck の CWL チェッカーでは、schema-salad-toolSALAD 形式で記述された CWL の文法定義ファイルを利用して文法チェックを行います。

schema-salad-toolPyPI に収録されているため、以下のコマンドでインストールできます。

$ pip install schema_salad

文法定義ファイルは CWL の Github リポジトリから持ってくる方法もありますが、今回は CWL のリファレンス実装である cwltool に付属しているものを利用します。

cwltool も PyPI に収録されているため、以下のコマンドでインストールできます。

$ pip install cwltool

CWL チェッカーの設定

以下のように flycheck-cwl-schema-path に、CWL の文法定義ファイルの CommonWorkflowLanguage.yml を指定します。

(setq flycheck-cwl-schema-path "/Users/tom-tan/.pyenv/versions/3.6.2/lib/python3.6/site-packages/cwltool/schemas/v1.0/CommonWorkflowLanguage.yml")


.cwl の拡張子のファイルを開くと、自動で色分けしてくれるのがわかると思います。
また Flycheck をインストールした場合には、オンザフライに文法チェックをしてくれます。
これで CWL を書き放題ですね!

See also: Let's write CWL with Emacs! (英語版)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
Help us understand the problem. What are the problem?