smart-compile.el ちょっとカスタマイズ

site-lisp/smart-compile.el の内容をちょっとカスタマイズ。Visual Studio Code で Code Runner 拡張機能を使うと,ワンクリックでコンパイル・実行するので,そちらに合わせる形で,Emacs でも実行まで行えるように。

Tools > Compile… メニューでコンパイル後,実行するように Windows では && %n, macOS では && ./%n を追加する。

;; ("\\.c\\'" . "gcc -O2 %f -lm -o %n")
;; ("\\.[Cc]+[Pp]*\\'" . "g++ -O2 %f -lm -o %n") 
;; ("\\.[Ff]\\'" . "gfortran %f -o %n") 
;; ("\\.f90\\'" . "gfortran %f -o %n") 
("\\.c\\'" . "gcc -O2 %f -lm -o %n && %n")
("\\.[Cc]+[Pp]*\\'" . "g++ -O2 %f -lm -o %n && %n")
("\\.[Ff]\\'" . "gfortran %f -o %n && %n")
("\\.f90\\'" . "gfortran %f -o %n && %n")

また,LaTeX 文書の場合も,Tools > Compile… メニューでタイプセット,pdf 作成まで行えるように。

("\\.tex\\'" . "platex %f && dvipdfmx %n")

ところで,Emacs の Tools メニューから Compile… を選んでコンパイルすると,ソースコードを編集中のウインドーが上下に2分割されて,下部が *compilation* ウインドーになる。このウインドーの行数を変えるには,site-lisp/site-start.el または ~/.emacs 等に以下を追記。(下の例では,height を 10に。実質表示されるのは8行。)

 (setq compilation-window-height 10)