2014年7月23日水曜日

[emacs][haskell] anything.elとauto-install.elのインストールとhaskell関連の設定

emacsにanything.elをインストールしたので、その手順を残しておきます。package.elではanything.el本体とプラグインを一緒にインストールしてくれない、という情報があったので、auto-install.elを用いてインストールしました。

ローカル環境にはauto-install.elが未インストールだったため、auto-install.elのセットアップから。

auto-install.elのインストール

  1. emacs上でM-x package-list-packagesでパッケージ一覧を表示
  2. パッケージリスト中のauto-installの行で[i]でインストール対象に選択し、[x]でインストール実行
  3. .emacsに以下の記述を追加
  4. 
    (require 'auto-install)
    (auto-install-update-emacswiki-package-name t) ; EmacsWikiからパッケージ名を取得
    (add-to-list 'load-path "~/.emacs.d/auto-install")
    
    

anything.elのインストール

  1. emacs上でM-x auto-install-batch anythingを実行
  2. 以下のファイルがDLされ、コンパイルするかどうかを効いてくるため全てに対してC-c C-c(コンパイル)を実行
    • anything-startup.el     
    • anything-ipa.el    
    • ipa.el    
    • anything-gtags.el    
    • anything-menu.el    
    • anything-grep.el    
    • descbinds-anything.el    
    • anything-auto-install.el   
    • anything-show-completion.el
    • anything-complete.el    
    • anything-obsolete.el    
    • anything-migemo.el    
    • anything-config.el    
    • anything-match-plugin.el   
    • anything.el
  3. .emacsに以下の記述を追加
  4. 
    (require 'anything-startup)
    
    

haskell関連の設定

  1. haskell-modeのインストール
    1. M-x package-list-packagesでパッケージ一覧を表示しhaskell-modeを選択([i])し、インストール実行([x])。
    2. .emacsに以下の設定を追加
    3. 
      (require 'haskell-mode)
      (require 'haskell-cabal)
      (add-to-list 'auto-mode-alist '("\\.hs$" . haskell-mode))
      (add-to-list 'auto-mode-alist '("\\.lhs$" . literate-haskell-mode))
      (add-to-list 'auto-mode-alist '("\\.cabal\\'" . haskell-cabal-mode))
      (add-hook 'haskell-mode-hook (lambda () (turn-on-haskell-indent)))
      
      
      "turn-on-haskell-indentation"ではなく"trun-on-haskell-indent"を選択すること。"turn-on-haskell-indentation"だと[RET]にhaskell-newline-and-indentがバインドされ、リターンキー押下でデフォルトインデントしてしまう。newlineにマッピングしなおすと[TAB]によるインデントも効かなくなるため、インデントしない設定にできなかった…。
  2. ghc-modのインストール
    1. cabal install ghc-modでインストール
      1. ホームページからのインストール手順を参照
      2. M-x package-list-packagesでパッケージ一覧を表示しghc-modを選択([i])し、インストール実行([x])?
    2. .emacsに以下の設定を追加
    3. 
      (add-to-list 'load-path "~/Library/Haskell/ghc-7.6.3/lib/ghc-mod-3.1.7/share") 
      (autoload 'ghc-init "ghc" nil t)
      (autoload 'ghc-debug "ghc" nil t)
      (add-hook 'haskell-mode-hook (lambda () (ghc-init)))
      
      
  3. インストール済みパッケージの参照をanything.elで!
    1. こちらを参考に。
  4. auto-complete.elで補完!
    1. こちらを参考に。

参考にしたサイト: