標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

nyagos

NYAGOS 4.2.5βが、いかにしてバッチファイルでの環境変数の変更取り込みを可能としたか

通常、環境変数は親プロセスから子プロセスへの一方通行で継承されるものであり、逆はありえない。 CMD.EXE で「環境変数設定バッチ」というものが成り立つのは、バッチファイルを子プロセスではなく、バッチファイルを呼び出しているCMD.EXEプロセス自身で…

【ポエム】NYAGOS 2017年ふりかえり

Nihongo Yet Another GOing Shell についての駄文です。関心ある方に読んでいただければと 参考:2017年冒頭に言ってたこと Luaデータ共有との戦い > 完全に改善した!(← うさんくさい) < 4.0 全コマンド(=goroutine~スレッド)で 1-Lua インスタンスを…

まともな foreach が使えるようになります

次のバージョンから、環境変数の置換構文を組み合わせれば、下記のようなことができます。 $ foreach i *.go ; echo move %i% %i:go=goo% ; end move bindata.go bindata.goo move builtinfunc.go builtinfunc.goo move complete_lua.go complete_lua.goo mo…

NYAGOS、かんたん設定

NYAGOS、かんたん設定 Windows向け拡張コマンドラインシェル:NYAGOS (Nihongo Yet Another GOing Shell) の個人設定はホームディレクトリに .nyagos というテキストファイル(Luaスクリプト)を作成して行います。 Windows の場合ホームディレクトリは一般に …

NYAGOSの小TIPS集

NYAGOS 4.2.0 以降が対象です。 ファイルはゴミ箱へ trash ファイル名 でファイルがいきなり削除ではなく、ゴミ箱に入ります。実体は Lua スクリプトで、COM経由でゴミ箱へファイルを移動しています。(nyagos.d/trash.lua) UTF8 変換に type 文 内蔵 type …

Visual Studio を NYAGOS から使う時

普通は Visual Studio のパスを通すため、下記のように .nyagos 上で Visual Studio コマンドプロンプトのバッチを source する。 nyagos.exec{'source',[[C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat]],'x86'} これやると NYAGO…

readline ライブラリ

nyagos 以外からでも簡単に使えるよう、いろいろがんばった package main import ( "context" "fmt" "github.com/zetamatta/nyagos/readline" ) func main() { editor := readline.Editor{ Default: "InitialValue", Cursor: 3, } text, err := editor.ReadL…

import を全て絶対パスにした

こんな感じに - "../completion" - "../shell" + "github.com/zetamatta/nyagos/completion" + "github.com/zetamatta/nyagos/shell" これにより: ソースを GOPATH 内に置けなかった go get github.com/zetamatta/nyagos で全ソースをダウンロードできなか…

cd ショートカット.lnk

NYAGOS は cd ショートカット.lnk という書き方をサポートしている。 これは Go言語で実装した内蔵コマンドの cd で直接サポートしているわけではなくて、 nyagos.d\cdlnk.luaという Lua スクリプトで cd のエイリアスを書き、 その中で nyagos.create_objec…

Visual Studio 2017 の環境の source の仕方

Developper Command Prompt for VS2017 のプロパティーを見るとリンク先は次のとおりとなっています。 %comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" ちなみに作業フォルダーは "C:\Program Fi…

次は nyagos 4.2 になりそう

先日考えた Lua インスタンスをクローンする方式は、 集中してやったら、案外あっさり出来た。 foo = { { { "bar" } } } nyagos.alias.foo = function(this) print("foo=",foo[1][1][1]) end こういうコードは、従来の 4.1 では foo=nil となってしまってい…

わたしにいい考えがある

Lua に clone 機能があればと書いていたが、実際に clone を自前で書いてしまった方が早いのでは? local 変数はクロージャーの上位値の clone ができない それは仕方がないと考える clone した後、clone先からclone元へのフィードバックができない 従来の s…

shareテーブルの改善

NYAGOS は各処理で別々の Lua インスタンスを作成して利用しており、~\.nyagos で定義したグローバル変数は nyagosテーブル 、shareテーブルに代入されたもの以外は各処理から参照することができません。したがって、データ共有にはユーザ向けテーブルである…