Skip to content

Releases: nyaosorg/nyagos

4.4.16_0

13 Oct 11:10
Compare
Choose a tag to compare
  • This version was released on Oct. 13, 2024 as a pre-release.
  • The pre-release flag was cleared on Oct. 28, 2024 with no modifying on the content.
  • The dicscussion for this release is #443

Changes on 4.4.16_0

Removed features and Deprecations

  • Remove nyagos.d/catalog/neco.lua
  • Remove Lua function: nyagos.msgbox
  • Remove the feature to define grep as an alias of findstr.exe when grep.exe does not exist. It was the undocumented feature.

New features

Readline

image

  • PowerShell 7-style input prediction
    • When one or more characters are typed, the most recent entry in the history that starts with the typed characters is displayed inline (in blue italics).
    • Pressing or Ctrl-F accepts the current prediction
    • Enabled by default. You can disable it with the launch option --no-predict or by setting nyagos.option.prediction=false
  • Ctrl-P/N: save the modified entry when switching history, and restore when switching again, until Enter is pressed

Lua extensions

  • Implement nyagos.getkeys() which returns the input key as a sequence like "\027[A" instead of nyagos.getkey() which returns unicode.
  • Enhance functions available in nyagos.key[KEY] = function(this)...end
    • key-sequences like "\007" and "\027[A" are avaliable as KEY.
    • Implement this:eval(KEYSEQUNCE) that calls the function assigned to KEYSEQUNCE.
    • Implement this:repaint() that updates the screen
    • this.pos and this.text are automatically updated when methods are invoked.
  • Add the completion for make: Enable by require "makefile-complete"
  • Add subcommand name completion for the jj command: Enable by requiring "complete-jj".
  • Add citation feature for the gmnlisp command: Enable by require "gmnlisp"
    • Replaces @(Lisp command) with the result processed by gmnlisp.
    • If the command starts with (, it is executed using gmnlisp.exe.
  • Add UNIX-style single quotation feature: Enable by requiring "sq2dq".
    • Replaces '..".."..' with "..".."..".
    • Leaves "..'..'.." unchanged (single quotes within double quotes are not converted).

Documents

  • Fix the broken links caused by renaming readme.md to README.md ( Thx @HAYASHI-Masayuki )

4.4.16_0 での変更点

  • 本バージョンは 2024年10月13日にプレリリースとして公開しました。
  • プレリリースフラグは 2024年10月28日に解除しました。内容に特に変更はありません。
  • このリリースについての議論は #443 へどうぞ

廃止・非推奨

  • nyagos.d/catalog/neco.lua を削除
  • Lua関数: nyagos.msgbox を削除
  • grep.exe が存在しない時、勝手に findstr.exe を grep の別名にする動作を削除

新機能

一行入力

image

  • PowerShell 7 風の入力予測機能の実装
    • 一文字以上入力すると、その内容で始まる履歴の最新エントリをインラインで表示(青の斜体)
    • もしくは Ctrl-F で今の予測表示内容を採用する
    • デフォルトでオン。起動オプション --no-predict もしくは nyagos.option.prediction=false でオフ
  • Ctrl-P/N: 履歴を切り替えるときに変更したエントリを保存し、(Enterが入力されるまでは)再度切り替えたときに復元するようにした

Lua 拡張

  • キー入力の最初のコードの Unicode しか返さなくなっていた nyagos.getkey のかわりに、入力キーを"\027[A" といったキーシーケンスで返す nyagos.getkeys() を実装した
  • nyagos.key[KEY]=function(this)...end の中で使える機能を拡充
    • KEY として従来の"BACKSPACE", "UP" などの名前の他、"\007", "\027[A" などのキーシーケンスも使えるようにした
    • this:eval("キーシーケンス")キーシーケンスに設定された機能を呼び出せるようにした
    • 更新内容を画面に反映するメソッドthis:repaint()を追加
    • 更新系のメソッドを呼び出した際にthis.posthis.text を自動的に更新するようにした
  • make コマンドのエントリ補完を追加: require "makefile-complete" にて有効化
  • jj コマンドのサブコマンド名補完を追加: require "complete-jj" にて有効化
  • gmnlisp コマンドの引用機能を追加: require "gmnlisp" にて有効化
    • @(Lispコマンド) を gmnlisp で処理した結果に置換
    • コマンド先頭が ( で始まっていた場合、gmnlisp.exe で実行
  • UNIX風シングルクォーテーション機能を追加: require "sq2dq" にて有効化
    • '..".."..'"..\"..\".." へ置換
    • "..'..'.." はそのまま (二重引用符内の一重引用符は変換しない)

ドキュメント

  • readme.md → README.md でのファイル名変更でドキュメント間のリンクが切れてしまっていた点の修正 ( Thx @HAYASHI-Masayuki )

4.4.15_1

02 May 14:07
Compare
Choose a tag to compare
  • (#442) Move back aliasandset.lua to nyagos.d/ and enable to use the Lua codes like set "ENV=VALUE" and alias "NAME=DEFINE". In 4.4.15_0, it was put on nyagos.d/catalog/ and require "aliasandset" was neccessary to use (Thx @naoyaikeda)
  • Fix: the day of the week part of %DATE% was incorrect (%DATE% was expected like 2024/04/19 金 in Japan, but 2024/04/19 1919)
  • Fix the runtime error when this:replacefrom(0,...) is called in the key-handling lua-function. Instead, it returns {nil,error-message}
-- On 4.4.15, typing C-I causes crash of nyagos.
nyagos.key["C-I"] = function(this)
    assert(this:replacefrom(0,"XXXXX"))
end

  • (#442) 4.4.15_0 で nyagos.d/catalog 以下へ移動させて自動ロード対象外とした nyagos.d/aliasandset.lua を元の場所へ戻し、Luaコード: set "ENV=VALUE" , alias "NAME=DEFINE" を再び、そのまま使えるようにした (Thx @naoyaikeda )
  • Windows の日付の設定に曜日が含まれているとき %DATE% の結果がおかしくなる不具合を修正 (2024/04/19 金 と出て欲しいのに 2024/04/19 1919 と出てしまう)
  • 一行入力のキーハンドル関数の中で this:replacefrom(0,...) を呼び出すと、ランタイムエラー: runtime error: slice bounds out of range [-1:] でクラッシュする不具合を修正。かわりに {nil,エラーメッセージ} を返すようにした。
-- On 4.4.15, typing C-I causes crash of nyagos.
nyagos.key["C-I"] = function(this)
    assert(this:replacefrom(0,"XXXXX"))
end

4.4.15_0

07 Apr 11:59
Compare
Choose a tag to compare

The binaries of this version are built with Go 1.20.14
They support Windows 7, 8.1, 10, 11, WindowsServer 2008 or later, and Linux.

Deprecations

  • The configuration file _nyagos, which is not a Lua syntax, is deprecated and no longer attached. When _nyagos is used, execute it, but print warning.
  • The Lua function: use is now deprecated.
    • Use require "mmmm" instead of use "mmmm.lua"
    • Add nyagos.d/catalog to package.path of the lua language standard.
  • Remove nyagos.d/catalog/ezoe.lua
  • Remove aliases: chompf, wordpad, abspath
  • Remove lua functions: addpath
  • Move nyagos.d/aliasandset.lua to nyagos/catalog/. that defines tool lua functions: set("ENV=VALUE"), alias("NAME=DEFINE")

New features

  • When %NO_COLOR% is defined, disable the color of the prompt, the command-line, and ls command
  • Sub commands completion (When require "subcomplete" is enabled)

Fixed bugs

  • SKK
    • Fix the problem that UTta and UTTa were converted 打っtあ and ▽う*t*t instead of 打った
    • Fix: manually input inverted triangles were recognized as conversion markers
    • Add the following the romaji-kana conversions:
      • z,, z-, z., z/, z[, z],
        z1, z2, z3, z4, z5,
        z6, z7, z8, z9, z0,
        z^, z\\, z@, z;, z: ,
        z!, z", z#, z$, z%,
        z&, z', z(, z), z=,
        z~, z|, z` , z+±, z*×,
        z<, z>, z?÷, z_,
      • byaびゃ or ビャ ... byoびょ or ビョ
      • pyaぴゃ or ピャ ... pyoぴょ or ピョ
      • thaてぁ or テァ ... thoてょ or テョ
    • Implement q that convert mutually between Hiragana and Katakana during conversion.
  • Sub commands completion (When require "subcomplete" is enabled)
    • Fix: the subcommand completion for scoop did not work because the filename of executable was scoop.exe that should be scoop.cmd.
  • Fix the problem that prompt is not displayed on Linux
    ( The .nyagos sample should have defined nyagos.env.PROMPT, but nyagos.env.prompt was defined )
  • Fix: the loop to input commands for foreach could not be stopped with Ctrl-C
    ( This problem was included in the commit 8bf0a2a of version 4.4.6_2. See also issue #383 and 4.4.6_0 )

当バージョンのバイナリは Go 1.20.14 でビルドしました。
サポート対象は Windows 7, 8.1, 10, 11, WindowsServer 2008以降, Linux となります。

廃止・非推奨

  • Lua 文法ではない設定ファイル _nyagos は非推奨とし添付をやめた。使用されている場合は実行するが、警告を表示するようにした
  • use は非推奨とした
    • use "mmmm.lua" のかわりに require "mmmm" を使用してください
    • これに伴い、Luaの標準検索パス: package.pathnyagos.d/catalog を追加しました
  • nyagos.d/catalog/ezoe.lua を削除
  • エイリアス: chompf, wordpad, abspath を削除
  • ツール Lua 関数: set("ENV=VALUE"), alias("NAME=DEFINE") を定義する nyagos.d/aliasandset.lua を nyagos.d/catalog/ 以下へ移動
  • Lua関数: addpath を削除

新機能

  • %NO_COLOR% が定義されていたら、プロンプト・コマンドライン・ls の着色を無効化
  • サブコマンド補完(require "subcomplete")関連

不具合修正

  • SKK関連
    • UTta,UTTa打ったではなく打っtあ,▽う*t*t になってしまう不具合を修正
    • 手入力した逆三角形が変換マーカーと認識される問題を修正した
    • 次のローマ字かな変換を追加
      • z,, z-, z., z/, z[, z],
        z1, z2, z3, z4, z5,
        z6, z7, z8, z9, z0,
        z^, z\\, z@, z;, z:,
        z!, z", z#, z$, z%,
        z&, z', z(, z), z=,
        z~, z|, z` , z+±, z*×,
        z<, z>, z?÷, z_,
      • byaびゃ or ビャ ... byoびょ or ビョ
      • pyaぴゃ or ピャ ... pyoぴょ or ピョ
      • thaてぁ or テァ ... thoてょ or テョ
    • 変換中の q で、入力済みの平仮名・片仮名を相互変換する機能を実装
  • サブコマンド補完(require "subcomplete")関連
    • scoop.cmd であるべき scoop の実行ファイル名が scoop.exe になっていてサブコマンド名補完できない問題を修正した
  • Linux でプロンプトが表示されない問題を修正
    (デフォルトの .nyagos で nyagos.env.prompt を設定していたが、Linux では環境変数の英大文字・小文字を区別するので、nyagos.env.PROMPT でなければいけなかった)
  • foreach で繰り返すコマンド入力のループ を Ctrl-C で中断できない不具合を修正
    (本問題は 4.4.6_2 のコミット 8bf0a2a で混入した模様。#3834.4.6_0 も参照のこと)

4.4.14_0

06 Oct 00:21
Compare
Choose a tag to compare

The binaries of this version are built with Go 1.20.9.
They support Windows 7, 8.1, 10, 11, WindowsServer 2008 or later, and Linux.

New features

  • nyagos.d/suffix.lua: Enabled automatic expansion of wildcards used in parameters of commands listed in %NYAGOSEXPANDWILDCARD% (for example: nyagos.env.NYAGOSEXPANDWILDCARD="gorename;gofmt" )
  • #432 Add new option: glob_slash to enable with the option of executable --glob-slash, calling lua function like nyagos.option.glob_slash=true, or executing command set -o glob_slash. When it is set, / is used on wildcard expansion.
  • Support Japanese input method editor: SKK (Simple Kana Kanji conversion program) - How To Setup
  • Add the lua-function: nyagos.atou_if_needed that converts the string that is not valid utf8 one to utf8-string as the current codepage string.

Fixed bugs

  • #433 To avoid garbled characters, backquote uses nyagos.atou_if_needed to prevent UTF8 from being further converted to UTF8. ( Thanks to @kgasawa )
  • Fix: On linux version, backquotation failed with error and did not work. ( because the lua function atou always returned "not supported", it is changed to returning the same value with given )
  • #432 When set -o glob, * and ? double-quoted were expanded as wildcards (They should not be) ( Thanks to @juggler999 )
  • Fix the problem that more, nyagos.getkey, and nyagos.getviewwidth might not work on Windows 7, 8.1 and Windows Server 2008 at v4.4.13_3.
  • #434 Fix: nyagos.which('cp') does not work as expect on Linux (Thanks to @ousttrue)
  • Fix: the background color of U+3000 was not changed to red

Breaking changes

  • nyagos.default_prompt and nyagos.prompt return the prompt-string instead of output it to the terminal directly. This modifying is to use the new field PromptWriter of the go-readline-ny.Editor instead of Prompt that is deprecated.

当バージョンのバイナリは Go 1.20.9 でビルド。
サポート対象は Windows 7, 8.1, 10, 11, WindowsServer 2008以降, Linux となります。

新機能

  • nyagos.d/suffix.lua: 環境変数 NYAGOSEXPANDWILDCARD にリストされているコマンドのパラメータはワイルドカードを自動展開するようにした(例:nyagos.env.NYAGOSEXPANDWILDCARD="gorename;gofmt"
  • #432 新オプション glob_slash を追加。設定されている時(起動オプション:--glob-slash, lua関数: nyagos.option.glob_slash=true、コマンドライン:set -o glob_slash)、ワイルドカード展開で / を使う
  • SKK (Simple Kana Kanji conversion program) サポート - 設定方法
  • 適切なUTF8文字列でない時は ANSI文字列とみなして UTF8変換を試みる関数 nyagos.atou_if_needed を追加

不具合修正

  • #432 set -o glob 時、二重引用符内の*,? がワイルドカードとして展開されていた(本来されるべきではない) ( Thanks to @juggler999 )
  • Linux版で逆クォートがエラーになって機能しない不具合を修正 (Lua関数 atou が常に "not supopported" を返していたので、引数と同じ値を戻すようにした)
  • #433 文字化けを避けるために、逆クォートでは nyagos.atou_if_needed を使って、UTF8 を更に UTF8 化させないようにした ( Thanks to @kgasawa )
  • v4.4.13_3 で、more, nyagos.getkey, nyagos.getviewwidth が Windows 7, 8.1 や WindowsServer 2008 で動かない問題を修正
  • #434 Lua で nyagos.which('cp') が機能しない問題を修正 (Thanks to @ousttrue )
  • 全角空白(U+3000)の背景色が赤くなっていなかった不具合を修正

破壊的変更

  • nyagos.default_promptnyagos.prompt は直接ターミナルへプロンプトを出力するのではなく、プロンプト文字列を戻り値として返すようにした。(go-readline-ny.Editor の deprecated フィールドの Prompt ではなく、PromptWriter を使用するための修正)

nyagos-20231006

4.4.13_3

30 Apr 03:15
Compare
Choose a tag to compare
  • (#431) Fixed a bug that failed to convert lines exceeding 4096 bytes when changing from non-UTF8 to UTF8 such as environment variables changed by batch file execution or output of more/type. (Thx. @8exBCYJi5ATL)
  • Fix: more sometimes printed no lines when the size of the line was too large.
    ( Due to a different issue than #431 )

If you can use the scoop installer, while this is prerelease, this version can be installed with:

scoop install https://raw.githubusercontent.com/nyaosorg/nyagos/master/nyagos.json

  • (#431) バッチファイル実行で変更した環境変数や、more/typeの出力など非UTF8からUTF8へ変更する時、4096バイトを越えるような行の変換で失敗する不具合を修正 (Thx. @8exBCYJi5ATL)
  • (#431 とは別件で) 行のサイズが大きすぎると、more が行を出力しないことがある不具合を修正

scoopインストーラーが使えるならば、プレリリースの間、本バージョンは次のとおりにインストールできます:

scoop install https://raw.githubusercontent.com/nyaosorg/nyagos/master/nyagos.json

4.4.13_2

25 Apr 01:25
Compare
Choose a tag to compare
  • (#428) Fix: rmdir /s fails to remove symbolic links and junctions (reparse point)
  • Do not toggle the quotation area color on \" now
    • 4.4.13_1: image
    • 4.4.13_2: image
  • (#429) Fix cd c: fails when the current directory is C:

  • (#428) rmdir /s でシンボリックリンクやジャンクションの削除に失敗する問題を修正
  • \" で引用領域の色を反転させないようにした
    • 4.4.13_1: image
    • 4.4.13_2: image
  • (#429) カレントディレクトリが C: の時、cd c: が失敗する不具合を修正

4.4.13_1

15 Oct 00:02
Compare
Choose a tag to compare
  • (#425) nyagos.d/suffix.lua appends the extensions into %NYAGOSPATHEXT% instead of %PATHEXT% and the command-name completion now looks both %PATHEXT% and %NYAGOSPATHEXT% (Thx. @tsuyoshicho)
  • (#426) Fix: When command-line was filtered by nyagos.argsfilter, empty parameters were removed. (Thx. @juggler999)
  • (#426) Fix: Wnen wildcard expansion for external commands is enabled, empty parameters were removed. (Thx. @juggler999)
  • (#427) Fix: '""' was replaced to '(DIGIT)' with BEEP (Thx. @hogewest)

  • (#425) nyagos.d/suffix.lua で設定した拡張子を環境変数 PATHEXT ではなく、NYAGOSPATHEXT に登録するようにした。コマンド名補完は PATHEXT に加え、NYAGOSPATHEXT も参照するようにした (Thx. @tsuyoshicho)
  • (#426) nyagos.argsfilter でコマンドラインが変換された時、空パラメータ("") が消えてしまう問題を修正 (Thx. @juggler999)
  • (#426) 外部コマンドに対するワイルドカード展開が有効になっている時、空パラメータ("")が消えてしまう問題を修正 (Thx. @juggler999)
  • (#427) '""' が BEEP音プラス '(数字)' に置換されてしまう不具合を修正 (Thx.@hogewest)

4.4.13_0

24 Sep 02:42
Compare
Choose a tag to compare
  • Fix: Unhandled exception in gopkg.in/yaml.v3 ( https://github.com/nyaosorg/nyagos/security/dependabot/1 )
  • (#420) Add: support for building on macOS (Thanks to @zztkm)
  • (#421) Fix: environemt variables which batchfiles remove were not erased.(Thanks to @tsuyoshicho)
  • (#422) Fix: when %PROMPT% contained $h, the edit start position shifted to the right.(Thanks to @Matsuyanagi)
  • Fix: when terminal's background-color was white, characters in the readline was invisible. (Use not white but terminal's default color for foreground color)
  • Improved the problem that timeout does not work well in command name completion.
  • Move sub-packages into internal folder
  • Use Generics-type for the dictionary that key's cases are ignored.
  • Fixed Makefile error on non-Windows
  • (#424) fuzzy finder extension integration(catalog) (Thx @tsuyoshicho)

  • セキュリティー警告対応のため、gopkg.in/yaml.v3 に依存するモジュールを直接利用しないようにした( https://github.com/nyaosorg/nyagos/security/dependabot/1 )
  • (#420) macOS でのビルドをサポート (Thanks to @zztkm)
  • (#421) バッチファイルが環境変数を削除した時、それが反映されていない問題を修正(Thanks to @tsuyoshicho)
  • (#422) プロンプトに$hを使った時、編集開始位置が右にずれる不具合を修正(Thanks to @Matsuyanagi)
  • 端末の背景色が白の時、入力文字が全く見えない不具合を修正(端末デフォルト文字色を使用)
  • コマンド名補完において、タイムアウトが効きづらい問題を改善
  • サブパッケージを internal フォルダー以下へ移動
  • キーの英大文字・小文字を区別しない辞書に Generics を使用するようにした。
  • Windows以外で Makefile がエラーになる問題を修正
  • (#424) fuzzy finder 拡張機能の統合 (Thx @tsuyoshicho)

4.4.12_0

29 Apr 02:30
Compare
Choose a tag to compare
  • Modified colored commandline
    • Change the color of the option-string dark-yellow and fix the range
    • Fix coloring: -0 .. -9 were not colored for options.
      image
    • Change the background-color of the Ideographic Space (U+3000) red
      image
    • To enable transparency of terminal, use default-bgcolor(ESC[49m) instead of black(ESC[40m) (go-readline-ny v0.7.0)
      (Thx: windows terminal + nyagos で透過 )
      image
    • WezTerm: enable surrogate-pair
  • Fix for Linux version only
    • Fix: set -o noclobber, redirect output was always zero bytes.
    • Fix: histories were not saved to the file.
  • (#416) Complete for start to any files and directories on %PATH%
  • rmdir /s can remove readonly-folder like cmd.exe
  • Support rmdir FOLDER /s (/s option can be put after folder list)
  • (#418) When the command-line ends with ^ , continue line-input after enter-key is input.

  • カラー化コマンドラインの修正
    • オプション文字列の色を黄土色へ変更し、範囲を修正
    • -0...-9 にオプション用のカラーがついていなかった
      image
    • 全角空白の背景色を赤へ変更
      image
    • 端末の背景透過が効くように、背景を黒(ESC[40m)からデフォルト色(ESC[49m)にした(go-readline-ny v0.7.0)
      (Thx: windows terminal + nyagos で透過 )
      image
    • WezTerm ではサロゲートペア表示を有効にした
  • Linux版のみの不具合修正
    • set -o noclobber 設定時のリダイレクト出力がゼロバイトになってしまう不具合を修正
    • ヒストリがファイルに保存されず、次回起動の際に復元されない不具合を修正
  • start コマンドのパラメータは %PATH% 上の任意のファイル・ディレクトリに補完する
  • cmd.exe と同様に rmdir /s は readonly のフォルダーも削除できるようにした
  • rmdir FOLDER /s とオプションをフォルダーの後に書けるようにした
  • (#418) コマンドラインが ^ で終わっていた場合、Enter入力後も行入力を継続するようにした

4.4.11_0

10 Dec 13:12
Compare
Choose a tag to compare

Color command-line !

image