タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

Luaとnyaosに関するzetamattaのブックマーク (11)

  • nocd5@blog 【libnyaos.a】LuaとNYAOSと私【実験】

    NYAOSから、外部のLua拡張DLLを参照するようなLuaスクリプトを使う場合に multiple Lua VMs detectedとか言われる件。 ※luamigemoに限った話じゃないけど、例としてluamigemoで書きます。 今までNYAOSもluamigemoもlua5x.dllをダイナミックリンクにして回避してたけど、 NYAOSがLuaをスタティックリンクしてる場合はLuaの関数をexportして、 luamigemoもそっち参照すれば良いんじゃね?ってことで実験してみました。 結果から言うと動いてます ざっくりこんな手順 NYAOSをLuaスタティックリンクでビルド。この時、LUA_LIBをdefine リンクライブラリを作る pexports nyaos.exe > nyaos.def dlltool -D nyaos.exe -d nyaos.def -l libny

    zetamatta
    zetamatta 2013/01/04
    NYAOS内のLuaコードを外部ライブラリから利用する方法
  • NYAOSの更新をするコマンドを修正しました - メモ:wantora

    NYAOSの更新作業を補助するLuaスクリプトです。以前に作ったもの*1が動かなくなっていたので修正しました。 つかいかた 実行には wgetコマンド と unzipコマンド が必要です。パスの通った場所に置いてください。 _nyaなどでsourceを使って下記のソースを読み込む。 update_nyaos コマンドを実行する。すると自動で新しいバージョンを探して、ある場合はインストールできます。 ソースコード -- nya_update.lua -- MIT License (http://d.hatena.ne.jp/wantora/20101212/1292141801) local function wget(url, output) local command = 'wget --no-check-certificate --user-agent="" -O "'..output

    NYAOSの更新をするコマンドを修正しました - メモ:wantora
    zetamatta
    zetamatta 2012/01/06
    あ、すみません。画面の構成変えたせいですね m(_ _)m
  • NYAOSのプロンプトをBash風にするLUAスクリプト

    下のコードを、%USERPROFILE%\_nya に書き足すと、 「ユーザー名@マシン名:ホームディレクトリからの相対ディレクトリ$」が緑で表示される Bash風のプロンプトになります。 lua_e " function nyaos.prompt(p) local b = '$e[32;40;1m' local e = '$$ $e[37;1m' local user = os.getenv('USERNAME') local machine = os.getenv('USERDOMAIN') local home = os.getenv('USERPROFILE') local pwd = string.gsub(nyaos.eval('pwd'), home, '~') return true, b .. user .. '@' .. machine .. ':' .. pwd ..

    zetamatta
    zetamatta 2011/11/27
    素晴しい!
  • nocd5@blog NYAOS + Lua + Migemo(2)

    先日書いたスクリプトですが、 nyaos.evalが調子悪かったので、 nyaos.default_completeから ファイルリストを取得するようにしました。 これでnyaos.command2でコマンド登録できます。 あと、末尾の(バック)スラッシュを取り除く処理や 一文字目が小文字の時のみignorecaseになるようにしたり、 毎回migemo辞書を開くとメモリの消費量が大きくなるので (別にリークしている訳ではなくて、deleteされるタイミング) グローバル変数にしたりです。 また、nyaos.completeでのmigemo検索の結果での補間ですが 途中まで入力済みのコマンドを置き換えることはできないようなので断念です… ってことで、以下スクリプト。使用しているライブラリに違いは無いので スクリプトだけ直接載せちゃいます。 lua_e " mcx = nil -- 毎回mi

    zetamatta
    zetamatta 2010/12/23
    曰く『また、nyaos.completeでのmigemo検索の結果での補間ですが途中まで入力済みのコマンドを置き換えることはできないようなので断念です…』― あー、そういうことをするなら、keyhook でやった方がいいかも
  • nocd5@blog NYAOS + Lua + Migemo

    mattn,さんのところでLuaからMigemoを使うライブラリを見つけたので NYAOS→Lua→MigemoってしてMigemoでchdirできるスクリプトを書いてみました。 多分ライセンスは大丈夫だと思うので以下に ビルドしたDLLと一緒に置いておきます。 問題があれば早急に削除しますので、 お手数ですがご連絡お願いいたします。 オリジナルファイル名 migemo_chdir.7z.001 オリジナルファイル名 migemo_chdir.7z.002 インストール 解凍して出来たDLLと、KaoriyaさんとこからC/Migemoのmigemo.dllをパスの通ったところに置き、 migemoの辞書を適切なところに置きます。 migemo_chdir.nyaの local mcx = luamigemo.open('E:/bin/dict/migemo-dict') のところを1.で

    zetamatta
    zetamatta 2010/12/21
    曰く『mattn,さんのところでLuaからMigemoを使うライブラリを見つけたので、NYAOS→Lua→MigemoってしてMigemoでchdirできるスクリプトを書いてみました』―すげぇや!
  • https://w3-info.net/cmd-nyaos.html

    zetamatta
    zetamatta 2010/12/18
    Lua Binaries と NYAOS を使って、大量のファイルをクリップボード経由でコマンドに渡すの術。でも、これ NYAOS いるのかな?
  • NYAOSでshebang - メモ:wantora

    NYAOS 3.1.1_0がリリースされたようです。 今回はnyaos.filter3という機能が追加されました。その例として書かれているshebangを実現するスクリプトを改良してみました。変更点は下記の通り。 shebangの引数に対応 拡張子を省略可能 msysのシェルスクリプトに対応 NYAOSは色々いじれるようになってきて楽しいですね。かゆい所に手が届くようになってきた。 -- MIT License (http://d.hatena.ne.jp/wantora/20101212/1292141801) -- MSYSのパスはインストールした場所に変更してください。 -- MSYSを使っていない場合はdirmapを空にすれば無効になります。 local dirmap = { ['/bin/'] = 'C:/msys/1.0/bin/', ['/usr/bin/'] = 'C:/m

    NYAOSでshebang - メモ:wantora
    zetamatta
    zetamatta 2010/10/27
    NYAOS 3.1.1 で実装した nyaos.filter3 を使って、さっそくshebang スクリプトを改良してくれる人が現れました。
  • NYAOS 3000でいろんなコマンドのサブコマンドを補完する - メモ:wantora

    NYAOSでhgやgemなどのサブコマンドを補完するスクリプト、の修正版 - メモ:wantoraに修正版があります。 NYAOS-3000 2.98_0が公開された。今回の更新には個人的に嬉しい機能がある。 一つはバッチファイルの拡張子を省略出来るようになったこと、もう一つはnyaos.completeに第三引数が追加され、コマンドラインの文字列が取得できるようになったこと。 特にnyaos.completeの第三引数追加はnyaos.keyhookを併用する必要がなくなった。 NYAOS 3000でMercurialのサブコマンドを補完する - メモ:wantoraのサブコマンド補完はMercurialだけだが、今回のスクリプトは変数completesにテーブルを返す関数をコマンド名のキーに追加すれば、様々なコマンドに対応できる。 -- MIT License (http://d.ha

    NYAOS 3000でいろんなコマンドのサブコマンドを補完する - メモ:wantora
    zetamatta
    zetamatta 2010/06/12
    2.98_0 の追加機能が好評でよかった!
  • NYAOS 3000でMercurialのサブコマンドを補完する - メモ:wantora

    6/12: 2010-06-12 - メモ:wantoraに最新版があります。 nyaos.completeを使ってMercurialのサブコマンドを補完するスクリプトを作ってみた。 nyaos.completeでは補完対象の文字列は取得できるが、補完対象の文字列の前にある文字列が取得できないので、nyaos.keyhookを併用してそれを実現している。 -- MIT License (http://d.hatena.ne.jp/wantora/20101212/1292141801) local command_text = nil local hgcomplete = nil local function get_hgcomplete() local hgcmds = {} for line in nyaos.eval('hg help'):gmatch('[^\n]+') do lo

    NYAOS 3000でMercurialのサブコマンドを補完する - メモ:wantora
    zetamatta
    zetamatta 2010/06/06
    曰く『nyaos.complete では補完対象の文字列は取得できるが、補完対象の文字列の前にある文字列が取得できないので、nyaos.keyhookを併用してそれを実現している』 ― なんという使いこなしっぷり!
  • 続・NYAOS 3000 で bat ファイルとかを拡張子なしで実行する - 永遠に未完成

    id:zetamatta さんがfilter2を速攻で実装してくれた。id:zetamatta++ で、前回のコードに微妙にバグがあったのとNYAOS 3000更新に伴い書き直してみた。 まず、前回の奴は無駄に suffix の拡張子まで展開していたんだけど、この展開は alias や suffix 自体の展開前にやらないと意味がない。一方、PATHEXT の展開は alias の後にやらないとダメ。なので、両者を別々に書くことに。 修正 function nyaos.filter(cmdline) cmdline = cmdline:gsub('^%S+', function(cmd) if cmd:match('%.') then return false end local path='.;' .. os.getenv('PATH') local cmdl=cmd:lower() l

    続・NYAOS 3000 で bat ファイルとかを拡張子なしで実行する - 永遠に未完成
    zetamatta
    zetamatta 2010/05/22
    ここまでやってもらえると、作りがいがあるというものです、はい。
  • NYAOS 3000 で bat ファイルとかを拡張子なしで実行する - 永遠に未完成

    NYAOS 3000 は bat ファイルを実行するのに拡張子が省略できない。なので scala.bat とか git.cmd とか ant.bat とか rake.bat とか非常にめんどい。中には bzr みたいに Windows インストーラで入れると bzr.exe なのに Python base のインストーラで入れると bzr.bat になるようなのもあってものすごくめんどい。 なんとかならないかと思っていたけどふとコマンドラインフィルタでなんとかできそうだと思ったのでやってみた。 function nyaos.filter(cmdline) cmdline = cmdline:gsub('^[%w-_]+', function(cmd) if cmd:match('%.') then return false end local path='.;' .. os.getenv(

    NYAOS 3000 で bat ファイルとかを拡張子なしで実行する - 永遠に未完成
    zetamatta
    zetamatta 2010/05/21
    うぉ、すんませんです。
  • 1