Releases: nyaosorg/nyagos
Releases · nyaosorg/nyagos
4.4.16_0
- 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 offindstr.exe
whengrep.exe
does not exist. It was the undocumented feature.
New features
Readline
- 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
→
orCtrl-F
accepts the current prediction - Enabled by default. You can disable it with the launch option
--no-predict
or by settingnyagos.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 ofnyagos.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
andthis.text
are automatically updated when methods are invoked.
- key-sequences like
- Add the completion for
make
: Enable byrequire "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.
- Replaces
- 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 の別名にする動作を削除
新機能
一行入力
- 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
の中で使える機能を拡充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
- (#442) Move back
aliasandset.lua
tonyagos.d/
and enable to use the Lua codes likeset "ENV=VALUE"
andalias "NAME=DEFINE"
. In 4.4.15_0, it was put onnyagos.d/catalog/
andrequire "aliasandset"
was neccessary to use (Thx @naoyaikeda) - Fix: the day of the week part of
%DATE%
was incorrect (%DATE%
was expected like2024/04/19 金
in Japan, but2024/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
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 ofuse "mmmm.lua"
- Add
nyagos.d/catalog
topackage.path
of the lua language standard.
- Use
- Remove
nyagos.d/catalog/ezoe.lua
- Remove aliases:
chompf
,wordpad
,abspath
- Remove lua functions:
addpath
- Move
nyagos.d/aliasandset.lua
tonyagos/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)- #436 Support completion for options of curl. ( Thanks to @tsuyoshicho )
Fixed bugs
- SKK
- Fix the problem that
UTta
andUTTa
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.
- Fix the problem that
- 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 bescoop.cmd
.
- Fix: the subcommand completion for scoop did not work because the filename of executable was
- 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.path
にnyagos.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"
)関連- #436 curl のオプション補完をサポート ( Thanks to @tsuyoshicho )
不具合修正
- 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 で混入した模様。#383 と4.4.6_0 も参照のこと)
4.4.14_0
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 likenyagos.option.glob_slash=true
, or executing commandset -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
, andnyagos.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
andnyagos.prompt
return the prompt-string instead of output it to the terminal directly. This modifying is to use the new fieldPromptWriter
of the go-readline-ny.Editor instead ofPrompt
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_prompt
やnyagos.prompt
は直接ターミナルへプロンプトを出力するのではなく、プロンプト文字列を戻り値として返すようにした。(go-readline-ny.Editor の deprecated フィールドの Prompt ではなく、PromptWriter を使用するための修正)
4.4.13_3
- (#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
4.4.13_1
- (#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
- 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
- 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.
- Change the background-color of the Ideographic Space (U+3000) red
- 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 で透過 )
- 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.
- Fix:
- (#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 にオプション用のカラーがついていなかった
- 全角空白の背景色を赤へ変更
- 端末の背景透過が効くように、背景を黒(ESC[40m)からデフォルト色(ESC[49m)にした(go-readline-ny v0.7.0)
(Thx: windows terminal + nyagos で透過 )
- WezTerm ではサロゲートペア表示を有効にした
- Linux版のみの不具合修正
- set -o noclobber 設定時のリダイレクト出力がゼロバイトになってしまう不具合を修正
- ヒストリがファイルに保存されず、次回起動の際に復元されない不具合を修正
- start コマンドのパラメータは %PATH% 上の任意のファイル・ディレクトリに補完する
- cmd.exe と同様に
rmdir /s
は readonly のフォルダーも削除できるようにした rmdir FOLDER /s
とオプションをフォルダーの後に書けるようにした- (#418) コマンドラインが ^ で終わっていた場合、Enter入力後も行入力を継続するようにした