NYAGOS で Lua
前回, ConEmu とともに NYAGOS を導入したけど,今回は NYAGOS のセッティングを中心に。
NYAGOS の特徴のひとつに, Lua のエンジンを内蔵し解釈できる点がある。 というか NYAGOS 自身が機能拡張を Lua で実装していて,ユーザも hackable に NYAGOS をカスタマイズできる。
また nyagos.exe
を -f
オプションを付けて起動すると Lua のソースファイルをスクリプトとして実行できる。
たとえば以下のコード hello.lua
を以下のように記述し
print "Hello World!"
nyagos.exe
で実行すると
C:>nyagos.exe -f hello.lua
Hello World!
となる。
これだけだと大したことはないが, nyagos.exe
でスクリプトを実行した場合は NYAGOS の Lua 拡張が使える。
例えばカレント・フォルダを取得する getwd.lua
を以下のように記述し
nyagos.write(nyagos.getwd().."\n")
nyagos.exe
で実行すると
C:\Users\username>nyagos.exe -f getwd.lua
C:\Users\username
となる。
Lua 拡張についてはドキュメントを参照するとよいだろう。
特筆すべきは alias
機能で,単純なコマンドの置き換えだけでなく
nyagos.alias.cmdname = function(args) ... end
のような形式で新しい内部コマンドを作成することもできる。
ところで nyagos.exe
を普通に起動してプロンプトから ls -oF
コマンドでファイルの一覧を表示させてみると,拡張子 .lua
のファイルは実行可能ファイルになっていることが分かる1。
実際に NYAGOS のプロンプト上で動かしてみよう。
$ hello.lua
Hello World!
おおっ,うまくいった。 これで Lua スクリプトを NYAGOS 上でバッチファイルのように扱うことができる。
さぁて,これでいよいよもって Lua の勉強をしないといけなくなった。 Pascal 系の構文は目が滑るんだよなぁ。
ブックマーク
NYAGOS 作者による解説
- 環境変数PATHが長すぎて、追加したパスが有効にならないぜ! - Qiita
- nyagosスクリプト解説 - svn のサブコマンドを勝手に拡張する - Qiita
- nyagosスクリプト解説 - ezoe.lua「コマンドではない。」 - Qiita
- nyagosスクリプト解説 - 逆クォートによるコマンド出力展開編(backquote.lua) - Qiita
- nyagosスクリプト解説 - CMD.EXEで化けさせず、nyagosの中だけプロンプトをカラー化 - Qiita
- nyagosスクリプト解説 - VisualStudio れんけー - Qiita
- git 付属のPerlやunzipとかを使いたいけどsort,find,lnとかは要らない - Qiita 2
Lua の解説
- Lua の Windows へのインストールと使い方 | プログラマーズ雑記帳
- Luaプログラミング入門 | densan-labs.net
- 高速スクリプト言語 Lua を始めよう — WTOPIA v1.0 documentation
- 良いもの。悪いもの。: Lua基礎文法最速マスター
- 紀子さん@へぼぷろぐらまの日常 | Luaで日付時間操作。
- Luaでファイルの読み書きを行なう - Symfoware
- Lua のコルーチンの使い方〜基本編〜 : torus solutions!
その他
- NYAGOSとconemuでキーボード操作の拡張 - Qiita : NYAGOS+Lua で動作を定義, ConEmu でキーバインドを変更する
- nyagosでbower searchを便利につかいたかった - Qiita
- 【ポエム】 NYAGOSの現在と今後 【2017年版】 - Qiita
- 一見、NYAGOSの不具合に見える事例について(随時追記) - Qiita
- 補完候補の既入力部分の文字列をハイライト - Qiita
- Nyagos リポジトリブランチ名表示 プロンプトの一例 - Qiita
-
拡張子
.lua
とコマンドの関連付けは NYAGOS をインストールしたフォルダにある_nyagos
ファイルに記述されている。 ↩︎ -
最近の Git for Windows は bash 関連のコマンドを
Git\usr\bin
フォルダに集めている。 git コマンドだけが必要ならGit\cmd
フォルダにのみパスを通せばよい。 bash を使う場合はGit\bin
フォルダにあるbash.exe
を起動するのが一番安全なようだ。 ↩︎