読者です 読者をやめる 読者になる 読者になる

Markdown のテーブルをいい感じに編集する Atom パッケージを作った

プログラミング JavaScript

相変わらず既存のものが……だったので作りました. 以前 SyaroNote で Ace 向けに作ったものをベースに色々改良しています.

atom.io

動作はこんな感じです.

f:id:susisu:20170303181404g:plain

他にも行の挿入や, 左・右・中央揃えの切り替えなどが簡単にできます. Markdown のテーブルの編集にお困りの方はお試しください.

あと, WindowsLinux でのキーバインドなどがまだ適当だったりするので, 何か機能についてのご意見などあればお気軽に @susisu2413 までどうぞ.

Markdown に関する愚痴

Markdown は簡単に使えますが, 一方で仕様がはっきりしていないので, 実装によってかなり解釈が違って, 色々試しているときにかなり疲弊しました.

例えばこれは Atom 標準の Markdown のプレビューなのですが, バッククォート ` 内にテーブルの区切りの縦線 | を書いた時にかなり意味不明な挙動をします.

今回のパッケージの実装は Pandoc の挙動に合わせたつもりですが, これが正しいとも言えないのでなんとも……

追記

機能追加, パフォーマンス向上などをして v0.2.0 としてリリースしました. 微妙に tab で移動するときの動作が変わっていますのでご注意ください.

あとキーバインドを重複を避けて決めるのが面倒になったので, むしろいくつか削除しました. 各自適当に設定してください. 参考までに以下は私の使っている設定です.

'atom-text-editor:not(.mini):not(.autocomplete-active).markdown-table-editor-active':
  'shift-cmd-left' : 'markdown-table-editor:align-left'
  'shift-cmd-right': 'markdown-table-editor:align-right'
  'shift-cmd-up'   : 'markdown-table-editor:align-center'
  'shift-cmd-down' : 'markdown-table-editor:align-default'
  'cmd-left'       : 'markdown-table-editor:move-left'
  'cmd-right'      : 'markdown-table-editor:move-right'
  'cmd-up'         : 'markdown-table-editor:move-up'
  'cmd-down'       : 'markdown-table-editor:move-down'
  'cmd-k cmd-i'    : 'markdown-table-editor:insert-row'
  'cmd-k alt-cmd-i': 'markdown-table-editor:delete-row'
  'cmd-k cmd-j'    : 'markdown-table-editor:insert-column'
  'cmd-k alt-cmd-j': 'markdown-table-editor:delete-column'