macOS で Atom を使おうとしたら Script パッケージのアップデートが。
適用したらエラーで動かなくなった、なんじゃそりゃ。
バグ報告は上がっているようなので修正を待つとするか。
いや、ぶっちゃけ気に入らない所も多かったし別の手段も考えよう。
せっかくなので自作、も考えたけどアウトプットパネルはどうしよう?
Gedit みたいに標準では付いていないみたいだし、うーん。
もっとシンプルなパッケージを探して参考にしようかなと。
オススメのatomパッケージ7選 – Qiita
atom-runner というのを試しに入れてみた。
これは別 Pane を使って出力するようだ、なるほど。
そのおかげかパッケージもシンプルで素敵。
てゆーか、コイツは shebang どおりにスクリプトを実行してくれるヤン!
対応言語なんて shebang を書くなら設定不要、拡張子無しもイケる。
何だよ自分で作らなくてもいいジャン、こいつを今度から使うことにする。
ただデフォルトの状態だと何か表示が変、無駄な余白がある。
下側ピッチリに表示させたいんだけど。
Atom-Runner, Moving output pane to right side – support – Atom Discussion
こんなのを見つけた。
試してみると -4 に指定すれば下に出るようになるな。
#pane = panes[panes.length - 1][dirfunc](view)
pane = panes[panes.length - 4][dirfunc](view)
それとカレントディレクトリが全部ルート (/) になるんだが。
ファイルの場所を指定するには、新しいペインを表示する前に記憶すりゃいいかも。
run: (selection) ->
# add
path = atom.workspace.getActivePaneItem()?.buffer?.file?.path
@cwd = p.dirname(path)
##################################
try
'''dir = atom.project.getPaths()[0] || '.'
try
if not fs.statSync(dir).isDirectory()
throw new Error("Bad dir")
catch
dir = p.dirname(dir)
@child = spawn(cmd, args, cwd: dir)'''
@child = spawn(cmd, args, {cwd: @cwd})
それと esc を押したら Pane も削除してほしいな。
https://flight-manual.atom.io/api/v1.41.0/Pane/
Pane.destroy() でペインは削除できるようだ。
stopAndClose: ->
{pane, view} = @runnerView()
pane?.removeItem(view)
pane?.destroy() # add
@stop(view)
よし後は run:file を F5 に割り付けして。

理想どおりになったけどかなり改造してしまった。
Atom を使う人はプログラマーだからこんな改造はみんなできるよね。