JavaScript
JSON
spec

行に対するアノテーションを扱うデータフォーマットが欲しい

More than 3 years have passed since last update.

どういうことかというと、行に対して1対1でアノテーションや情報を表示するためのデータフォーマットが欲しい。

annotation

Doccoとかみたいなソースとアノテーションを横に並べるようなUIとかを作りたい時に、それの元データをどう持つかと色々考えてた。

コードカバレッジが近そうと思って色々調べたけど、コードカバレッジにはカウントだけを扱っていてアノテーションを持たないフォーマットが殆どだった。

gcov/lcov

JavaScriptのコードカバレッジツールであるistanbulは式レベルのコードカバレッジを出すので行レベルじゃないcoverage.jsonという形式をもってた。

Source Mapは原理的に可能な気がするけど、実装したい事に対してあまりにも複雑な仕様となってる感じがする(元々の用途が違う)

Codecov独自のフォーマットであるCodecov JSONが目的と同じものを持ってる。

{

"coverage": {
"path/to/file.py": [null, 1, 0, null, true, 0, 0, 1, 1],
"path/to/other.py": [null, 0, 1, 1, "1/3", null]
},
"messages": {
"path/to/other.py": {
"1": "custom message for line 1"
}
}
}

けど、このサービスに依存したいわけでもないので、こういうフォーマットの仕様が欲しいと思ったけど見つからない。

フォーマットがあればそれに対応したツールとか作って回しやすいので欲しいという話。

{

"coverage": {
"path/to/file.py": [
"message",
null,
"1"
]
}
}

{

"coverage": {
"path/to/file.py": {
"1": "message",
"2-5": "messages"
}
}
}

みたいな感じでJSONとかで、シンプルなフォーマットがあればよかった気がする。

ほんとにないのかなー