Skip to content

4.4.16_0

Latest
Compare
Choose a tag to compare
@hymkor hymkor released this 13 Oct 11:10
· 1 commit to master since this release
  • 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 )