thinca / vim-quickrun

Run commands quickly.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

g:quickrun_config.some.execの%sに接頭語Runが付いて実行される

aiya000 opened this issue · comments

以下の手順を踏むと、異常な結果が出ます 🤔

1

~/vimrcを以下の内容で作成

set nocompatible
set rtp+=~/Repository/vim-quickrun

let g:quickrun_config = {
\    'haskell': {
\        'exec': 'runghc %s',
\    },
\    'eta': {
\        'exec': 'eta %s',
\    },
\}

2

Main.hsを以下の内容で作成

main :: IO ()
main = print 10

3

以下のコマンドを実行

$ vim Main.hs -u ~vimrc +'QuickRun eta'

異常な結果

[1 of 1] Compiling Main             ( /home/aiya000/Repository/workspace/Haskell/01_eta/Main.hs, /home/aiya000/Repository/workspace/Haskell/01_eta/Main.jar ) [flags changed]
Linking Run/home/aiya000/Repository/workspace/Haskell/01_eta/Main.jar ...
Run/home/aiya000/Repository/workspace/Haskell/01_eta/Main.jar: openFile: does not exist (No such file or directory)

(実際これは/home/aiya000/Repository/workspace/Haskell/01_etaにMain.hsを作成し、実行した結果)

:QuickRun eta相当のことをコマンドラインで実行すると、正常に実行が終わります。

$ eta Main.hs

(ここでなぜかMain.jarを生成する)

etaコマンドは、ソースをRun{ソースのファイル名から.hsを取り除いた名前}.jarにコンパイルするコマンドです。

(今回はRunMain.jarを生成するはず)

なぜか正常な結果

上記のetaコードはそのままHaskellとして実行できるので、:QuickRun haskellrunghc %s)を実行すると

$ vim Main.hs -u ~/vimrc +'QuickRun haskell'

正常な結果が得られます。

10

(runghcは、Haskellのコードをスクリプトとしてそのまま実行するコマンド)



明らかにetaがおかしいですが、eta単体で実行しても正常に動作するので、よくわかりません 🤔

タスケテ...

と書いて、QuickRun無しに再現できたのでごめんなさい……。