Download List

Descripción del Proyecto

インタラクティブシェル。OSX, cygwin, Linux, FreeBSDで動きます。 ガベージコレクションがついていて、簡易なオブジェクト指向ができます。perlやrubyのようなテキスト処理を行なう内部コマンドを装備しています。全ての内部コマンドにはサンプル付きのヘルプがついてきます。補完は自身によって記述されていて、IDEのようにxyzshの文法に基づいて補完されます。migemoによる日本語ファイル名の補完もあります。

An interactive shell script language on OSX, cygwin, Linux, FreeBSD. This features simple object oriented scripting with garbage collection, text processing like perl or ruby and containes manual for all inner commands with their samples. Offcourse you can type commands with completion which is based on xyzsh grammer like IDE and is defined by itself.

サンプル(script samples)

> ls -F
docs/ main.c samples/ sub.c
    
> ls | each ( | chomp | -d && | print )
docs
samples

> ls -F | grep -v /
main.c sub.c

> ls | each ( ! | chomp | -d && | print )
main.c sub.c

> ls | each ( | printf "-+- %s -+-"\n ) | join " "
-+- docs -+- -+- main -+- -+- samples -+- -+- sub.c -+-

> ls | each ( | scan . | join " " )
d o c s
m a i n . c
s a m p l e s
s u b . c

> cat data
Gorou Yamanaka
Rei Tanaka
Yumiko Shiratori

> cat data | each ( | =~ Yamanaka && | print )
Gorou Yamanaka

> cat data | lines 0 1
Gorou Yamanaka
Rei Tanaka
    
> cat data | each ( | split | lines 1 0 | join )
Yamanaka Gorou
Tanaka Rei
Shiratori Yumiko
    
> vim student.xyzsh
class Student ( 
    | var first_name second_name age country
    
    def show (
        var first_name second_name age country | printf "name: %s %s¥nage: %s¥ncountry: %s¥n"
    )
)
    
object student
student::run ( print "Yamanaka Gorou 23 Japan" | split | Student )
    
> load student.xyzsh
> student::show
name: Yamanaka Gorou
age: 23
country: Japan

> print 1 | var -local i; ls | scan . | while(| eval "|$i print |>") (|> join ""; ++ i )
A
UT
HOR
SCHA
NGELO
GLICEN
SEMakef
ileMakef
ile.inREA
DMEREADME.
jaUSAGEUSAG
E.jacompleti
on.xyzshconfi
g.hconfig.h.in
config.logconfi
g.statusconfigur
econfigure.inhelp
.xyzshinstall.shli
bxyzsh.1.7.0.dylibl
ibxyzsh.1.dyliblibxy
zsh.dylibmanread_hist
ory.xyzshsrcxyzshxyzsh
.dSYMxyzsh.xyzsh

> ls | lines 0 1 | scan . | each ( | chomp | x 5 | pomch )
AAAAA
UUUUU
TTTTT
HHHHH
OOOOO
RRRRR
SSSSS
CCCCC
HHHHH
AAAAA
NNNNN
GGGGG
EEEEE
LLLLL
OOOOO
GGGGG

System Requirements

System requirement is not defined

Publicado: 2013-07-16 22:04
xyzsh 1.4.4 (1 files Ocultar)

Release Notes

様々な修正。詳しくは以下。

1. CTRL-Wを後方単語削除にバインドしました。

2. el, rlオブジェクトにkeybindメソッドを追加。

3. "install_all_external_program_to_root_object"関数を追加。USAGE.jaを見てください。全ての外部プログラムをrootオブジェクトに追加することができるようになっています。

4. sysオブジェクトの外部プログラムとxyzsh内部関数が衝突した場合xyzsh内部関数を優先するように変更。

5. XYZSH_BLINK_MATCHING_PAREN_MILLI_SECを追加。括弧のチェック時、指定ミリ秒だけ止まります。

6. パイプの中にあるオブジェクトの数の制限が無くなりました。

7. pやselectorを使用中にたまに落ちることがあったバグを修正。

9. selectorがコントロールキャラクターを含む行を表示できなかったバグを修正。

10. シングルクォートとダブルクォートの補完がおかしいバグを修正。

11. editlineのカスタマイズを最小限にとどめました。

12. ウィンドウシステム上のアプリケーションに組み込めるようになりました。

13. バックスラッシュに改行が続いた場合の動きをPOSIXに合わせました。

14. バッククォートのコマンド展開を入れました。ネストは不可。

15. co内部コマンドの廃止。

16. "alias"内部コマンドを追加。USAGE.jaかヘルプを見てください。

17. ルートオブジェクトに"xyzsh"オブジェクトを追加。全ての内部コマンドが入っています。

18. "typeof" 内部コマンドが追加されています。

Changelog


1. CTRL-Wを後方単語削除にバインドしました。

2. el, rlオブジェクトにkeybindメソッドを追加。

3. "install_all_external_program_to_root_object"関数を追加。USAGE.jaを見てください。全ての外部プログラムをrootオブジェクトに追加することができるようになっています。

4. sysオブジェクトの外部プログラムとxyzsh内部関数が衝突した場合xyzsh内部関数を優先するように変更。

5. XYZSH_BLINK_MATCHING_PAREN_MILLI_SECを追加。括弧のチェック時、指定ミリ秒だけ止まります。

6. パイプの中にあるオブジェクトの数の制限が無くなりました。

7. pやselectorを使用中にたまに落ちることがあったバグを修正。

9. selectorがコントロールキャラクターを含む行を表示できなかったバグを修正。

10. シングルクォートとダブルクォートの補完がおかしいバグを修正。

11. editlineのカスタマイズを最小限にとどめました。

12. ウィンドウシステム上のアプリケーションに組み込めるようになりました。

13. バックスラッシュに改行が続いた場合の動きをPOSIXに合わせました。

14. バッククォートのコマンド展開を入れました。ネストは不可。

15. co内部コマンドの廃止。

16. "alias"内部コマンドを追加。USAGE.jaかヘルプを見てください。

17. ルートオブジェクトに"xyzsh"オブジェクトを追加。全ての内部コマンドが入っています。

18. "typeof" 内部コマンドが追加されています。