mirror of
https://github.com/sharkdp/bat
synced 2024-11-12 13:10:42 +00:00
Merge pull request #1654 from mohamed-abdelnour/support-dash-syntax
Add support for dash shebang
This commit is contained in:
commit
bef0bf1654
@ -11,6 +11,7 @@
|
||||
|
||||
## Syntaxes
|
||||
|
||||
- Added support for `dash` syntax, see #1654 (@mohamed-abdelnour)
|
||||
- Added support for `XAML` syntax, see #1590 and #1655 (@mohamed-abdelnour)
|
||||
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git syntaxes/01_Packages/ShellScript/Bash.sublime-syntax syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
|
||||
index e973e319..a703cef8 100644
|
||||
index e973e319..07c170a7 100644
|
||||
--- syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
|
||||
+++ syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
|
||||
@@ -30,8 +30,8 @@ file_extensions:
|
||||
@@ -30,12 +30,12 @@ file_extensions:
|
||||
- .zshenv
|
||||
- .zshrc
|
||||
- PKGBUILD # https://jlk.fjfi.cvut.cz/arch/manpages/man/PKGBUILD.5
|
||||
@ -13,3 +13,8 @@ index e973e319..a703cef8 100644
|
||||
|
||||
first_line_match: |
|
||||
(?x)
|
||||
- ^\#! .* \b(bash|zsh|sh|tcsh|ash)\b
|
||||
+ ^\#! .* \b(bash|zsh|sh|tcsh|ash|dash)\b
|
||||
| ^\# \s* -\*- [^*]* mode: \s* shell-script [^*]* -\*-
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
425
tests/syntax-tests/highlighted/dash/shfm
Normal file
425
tests/syntax-tests/highlighted/dash/shfm
Normal file
@ -0,0 +1,425 @@
|
||||
[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m!/usr/bin/env dash[0m
|
||||
|
||||
[38;2;166;226;46mesc[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m vt100 (IL is vt102) (DECTCEM is vt520)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mCUD[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%sB[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m cursor down[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mCUP[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%s;%sH[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m3[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m cursor home[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mCUU[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%sA[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m cursor up[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mDECAWM[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[?7%s[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m line wrap[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mDECRC[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s8[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m cursor restore[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mDECSC[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s7[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m cursor save[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mDECSTBM[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%s;%sr[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m3[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m scroll region[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mDECTCEM[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[?25%s[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m cursor visible[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mED[0m[38;2;249;38;114m[[0m[38;2;255;255;255m0[0m[38;2;249;38;114m-[0m[38;2;255;255;255m2[0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%sJ[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255m1[0m[38;2;249;38;114m#[0m[38;2;230;219;116mED[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m clear screen[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mEL[0m[38;2;249;38;114m[[0m[38;2;255;255;255m0[0m[38;2;249;38;114m-[0m[38;2;255;255;255m2[0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%sK[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255m1[0m[38;2;249;38;114m#[0m[38;2;230;219;116mEL[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m clear line[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mIL[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%sL[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m insert line[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mSGR[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%s;%sm[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m3[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m colors[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m xterm (since 1988, supported widely)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mscreen_alt[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[?1049%s[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m alternate buffer[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mterm_setup[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m[38;2;255;255;255mstty[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31mg[0m[38;2;230;219;116m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31micanon[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31mecho[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m screen_alt h[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECAWM l[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECTCEM l[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m ED2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECSTBM 1 [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mLINES [0m[38;2;249;38;114m-[0m[38;2;230;219;116m [0m[38;2;190;132;255m2[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mterm_reset[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECAWM h [0m[38;2;249;38;114m>&[0m[38;2;190;132;255m2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECTCEM h [0m[38;2;249;38;114m>&[0m[38;2;190;132;255m2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m ED2 [0m[38;2;249;38;114m>&[0m[38;2;190;132;255m2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECSTBM [0m[38;2;249;38;114m>&[0m[38;2;190;132;255m2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m screen_alt l [0m[38;2;249;38;114m>&[0m[38;2;190;132;255m2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mstty[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m needed for cd-on-exit[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s\n[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mPWD[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m>&[0m[38;2;190;132;255m1[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mterm_resize[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m false-positive, behavior intentional, globbing is disabled.[0m
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m shellcheck disable=2046[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31mf[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m+[0m[3;38;2;253;151;31mf[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m([0m[38;2;255;255;255mstty[0m[38;2;255;255;255m size[0m[38;2;255;255;255m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mLINES[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mCOLUMNS[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m space for status_line[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mbottom[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mLINES [0m[38;2;249;38;114m-[0m[38;2;230;219;116m [0m[38;2;190;132;255m2[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mterm_scroll_down[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m(([0m[38;2;255;255;255my [0m[38;2;249;38;114m-[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m))[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m[[0m[38;2;255;255;255m0[0m[38;2;249;38;114m-[0m[38;2;255;255;255m9[0m[38;2;249;38;114m][0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;249;38;114mreturn[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my2 [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m [0m[38;2;249;38;114m<[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m?[0m[38;2;230;219;116m y2 [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m [0m[38;2;249;38;114m:[0m[38;2;230;219;116m bottom[0m[38;2;230;219;116m))[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mline_print[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m-[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m\n[0m[38;2;255;255;255m'[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mline_print[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstatus_line[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mterm_scroll_up[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m-[0m[38;2;249;38;114m*[0m[38;2;249;38;114m|[0m[38;2;255;255;255m0[0m[38;2;249;38;114m|[0m[38;2;255;255;255m1[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;249;38;114mreturn[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m-[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mline_print[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255my2[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m1[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m IL[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m CUU[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my2 [0m[38;2;249;38;114m>[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m [0m[38;2;249;38;114m?[0m[38;2;230;219;116m y2 [0m[38;2;249;38;114m-[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m [0m[38;2;249;38;114m:[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mline_print[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstatus_line[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mcmd_run[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mstty[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECTCEM h[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECSTBM[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m ED2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;102;217;239m:[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECSTBM 1 [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mLINES [0m[38;2;249;38;114m-[0m[38;2;230;219;116m [0m[38;2;190;132;255m2[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECTCEM l[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31micanon[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31mecho[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mhist[0m[38;2;249;38;114m=[0m[38;2;230;219;116m2[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mfile_escape[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mtmp[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;255;255;255msafe[0m[38;2;249;38;114m=[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m loop over string char by char[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mwhile[0m[38;2;255;255;255m [0m[38;2;255;255;255mc[0m[38;2;255;255;255m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m{[0m[38;2;255;255;255mtmp[0m[38;2;249;38;114m%[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mtmp[0m[38;2;249;38;114m#[0m[38;2;249;38;114m?[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m[38;2;255;255;255m}[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;249;38;114mdo[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mc[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;255;255;255m'[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;249;38;114mreturn[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m[[0m[38;2;249;38;114m[[0m[38;2;255;255;255m:[0m[38;2;255;255;255mcntrl[0m[38;2;255;255;255m:[0m[38;2;249;38;114m][0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255msafe[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255msafe[0m[38;2;190;132;255m\?[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255msafe[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255msafe[0m[38;2;255;255;255m$[0m[38;2;255;255;255mc[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mtmp[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mtmp[0m[38;2;249;38;114m#[0m[38;2;249;38;114m?[0m[38;2;230;219;116m}[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mdone[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mhist_search[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mhist[0m[38;2;249;38;114m=[0m[38;2;230;219;116m0[0m[38;2;255;255;255m [0m[38;2;255;255;255mj[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mfor[0m[38;2;255;255;255m file do[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m{[0m[38;2;255;255;255mPWD[0m[38;2;249;38;114m%%[0m[38;2;255;255;255m/[0m[38;2;255;255;255m}[0m[38;2;255;255;255m/[0m[38;2;255;255;255m$[0m[38;2;255;255;255mfile[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mold_pwd[0m[38;2;255;255;255m"[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255mj[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mj [0m[38;2;249;38;114m>[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m?[0m[38;2;230;219;116m mid [0m[38;2;249;38;114m:[0m[38;2;230;219;116m j[0m[38;2;230;219;116m))[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255mfile[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mj[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mj [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mdone[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mlist_print[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m ED2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m CUP[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mi[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mend[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mbottom [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mmid[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mbottom [0m[38;2;249;38;114m/[0m[38;2;230;219;116m [0m[38;2;190;132;255m4[0m[38;2;230;219;116m [0m[38;2;249;38;114m<[0m[38;2;230;219;116m [0m[38;2;190;132;255m5[0m[38;2;230;219;116m [0m[38;2;249;38;114m?[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m [0m[38;2;249;38;114m:[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m/[0m[38;2;230;219;116m [0m[38;2;190;132;255m4[0m[38;2;230;219;116m))[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m1[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239m[[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31me[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;102;217;239m][0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m empty[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mhist[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m2[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m redraw after cmd run[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mshift[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m>[0m[38;2;230;219;116m y2 [0m[38;2;249;38;114m?[0m[38;2;230;219;116m y [0m[38;2;249;38;114m-[0m[38;2;230;219;116m y2 [0m[38;2;249;38;114m:[0m[38;2;230;219;116m [0m[38;2;190;132;255m0[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m1[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m redraw after go-to-parent[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mhist_search[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mshift[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m>=[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m?[0m[38;2;230;219;116m y [0m[38;2;249;38;114m-[0m[38;2;230;219;116m mid [0m[38;2;249;38;114m:[0m[38;2;230;219;116m [0m[38;2;190;132;255m0[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m everything else[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mshift[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m>=[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m?[0m[38;2;230;219;116m y [0m[38;2;249;38;114m-[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m:[0m[38;2;230;219;116m [0m[38;2;190;132;255m0[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mfor[0m[38;2;255;255;255m file do[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mi[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255my2[0m[38;2;255;255;255m"[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 0 7[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m(([0m[38;2;255;255;255mi [0m[38;2;249;38;114m-[0m[38;2;255;255;255m end[0m[38;2;255;255;255m))[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m-[0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mline_format[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mfile[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m CUD[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mi[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mi [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mdone[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m CUP [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m>[0m[38;2;230;219;116m y2 [0m[38;2;249;38;114m?[0m[38;2;230;219;116m y2 [0m[38;2;249;38;114m:[0m[38;2;230;219;116m y[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mredraw[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mlist_print[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstatus_line[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mstatus_line[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECSC[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m CUP [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mLINES[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mUSER[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mroot[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 31 7[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 34 7[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%*s\r%s [0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mCOLUMNS[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116m([0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;230;219;116m/[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;230;219;116m)[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mltype[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;255;255;255m'[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m%[0m[38;2;255;255;255ms[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mPWD[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m%[0m[38;2;255;255;255ms[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mltype[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 0 0[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECRC[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mprompt[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECSC[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m CUP [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mLINES[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m%[0m[38;2;255;255;255ms[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECTCEM h[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m EL0[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mr[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[38;2;255;255;255m icanon echo[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mread[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31mr[0m[38;2;255;255;255m ans[0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;102;217;239m:[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31micanon[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31mecho[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECRC[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECTCEM l[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstatus_line[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116m([0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;230;219;116m/[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;230;219;116m) [0m[38;2;255;255;255m$[0m[38;2;255;255;255mPWD[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mline_print[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255moffset[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255moffset[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;255;255;255m"[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 0 7[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mshift[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255moffset[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255moffset[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;255;255;255m"[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mline_format[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mline_format[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mfile_escape[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239m[[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31md[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;102;217;239m][0m[38;2;255;255;255m [0m[38;2;249;38;114m&&[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 1 31[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m%[0m[38;2;255;255;255ms[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255msafe[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239m[[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31md[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;102;217;239m][0m[38;2;255;255;255m [0m[38;2;249;38;114m&&[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m /[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 0 0[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m EL0[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m\r[0m[38;2;255;255;255m'[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mmain[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31me[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m-h[0m[38;2;249;38;114m|[0m[38;2;255;255;255m--help[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mshfm -[hv] <starting dir>\n[0m[38;2;255;255;255m'[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mexit[0m[38;2;255;255;255m 0[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m-v[0m[38;2;249;38;114m|[0m[38;2;255;255;255m--version[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mshfm 0.4.2\n[0m[38;2;255;255;255m'[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mexit[0m[38;2;255;255;255m 0[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mcd[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255m1[0m[38;2;249;38;114m:-[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mPWD[0m[38;2;255;255;255m"[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc_c[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m[38;2;102;217;239mprintf[0m[38;2;230;219;116m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m\033[0m[38;2;255;255;255m'[0m[38;2;230;219;116m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mbs_char[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m[38;2;102;217;239mprintf[0m[38;2;230;219;116m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m\177[0m[38;2;255;255;255m'[0m[38;2;230;219;116m)[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mterm_resize[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mterm_setup[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mtrap[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mterm_reset[0m[38;2;255;255;255m'[0m[38;2;255;255;255m EXIT INT[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mtrap[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mterm_resize; term_setup; y=1 y2=1; redraw "$@"[0m[38;2;255;255;255m'[0m[38;2;255;255;255m WINCH[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mwhile[0m[38;2;255;255;255m [0m[38;2;255;255;255mkey[0m[38;2;255;255;255m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m([0m[38;2;255;255;255mdd[0m[38;2;255;255;255m ibs=1 count=1 [0m[38;2;190;132;255m2[0m[38;2;249;38;114m>[0m[38;2;255;255;255m/dev/null[0m[38;2;255;255;255m)[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;249;38;114mdo[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mkey[0m[38;2;255;255;255m$[0m[38;2;255;255;255m{[0m[38;2;255;255;255mesc[0m[38;2;249;38;114m:=[0m[38;2;255;255;255m0[0m[38;2;255;255;255m}[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mk[0m[38;2;249;38;114m?[0m[38;2;249;38;114m|[0m[38;2;255;255;255mA2[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mterm_scroll_up[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mj[0m[38;2;249;38;114m?[0m[38;2;249;38;114m|[0m[38;2;255;255;255mB2[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mterm_scroll_down[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255ml[0m[38;2;249;38;114m?[0m[38;2;249;38;114m|[0m[38;2;255;255;255mC2[0m[38;2;249;38;114m|[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc[0m[38;2;255;255;255m"[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m ARROW RIGHT[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mif[0m[38;2;255;255;255m [0m[38;2;102;217;239m[[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31md[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mcur[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;102;217;239m][0m[38;2;255;255;255m [0m[38;2;249;38;114m&&[0m[38;2;255;255;255m [0m[38;2;102;217;239mcd[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mcur[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m>[0m[38;2;255;255;255m/dev/null [0m[38;2;190;132;255m2[0m[38;2;249;38;114m>&[0m[38;2;190;132;255m1[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mltype[0m[38;2;249;38;114m=[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114melif[0m[38;2;255;255;255m [0m[38;2;102;217;239m[[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31me[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mcur[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;102;217;239m][0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mcmd_run[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mSHFM_OPENER[0m[38;2;249;38;114m:=[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mEDITOR[0m[38;2;249;38;114m:=[0m[38;2;230;219;116mvi[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mcur[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mfi[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mh[0m[38;2;249;38;114m?[0m[38;2;249;38;114m|[0m[38;2;255;255;255mD2[0m[38;2;249;38;114m|[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mbs_char[0m[38;2;255;255;255m"[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m ARROW LEFT[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mold_pwd[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255mPWD[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mltype[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;255;255;255m'[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mcd[0m[38;2;255;255;255m ..[0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;249;38;114mcontinue[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mltype[0m[38;2;249;38;114m=[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mhist[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mg[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m1[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;249;38;114mcontinue[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mG[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;230;219;116m [0m[38;2;249;38;114m<[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m?[0m[38;2;230;219;116m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;230;219;116m [0m[38;2;249;38;114m:[0m[38;2;230;219;116m bottom[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m.[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m{[0m[38;2;255;255;255mhidden[0m[38;2;249;38;114m:=[0m[38;2;255;255;255m1[0m[38;2;255;255;255m}[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m1[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mhidden[0m[38;2;249;38;114m=[0m[38;2;230;219;116m0[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m .[0m[38;2;249;38;114m*[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m0[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mhidden[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m:[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mprompt[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mcd: [0m[38;2;255;255;255m"[0m[38;2;255;255;255m r[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m false positive, behavior intentional[0m
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m shellcheck disable=2088[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mans[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m~[0m[38;2;255;255;255m'[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mans[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255mHOME[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m~/[0m[38;2;255;255;255m'[0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mans[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255mHOME[0m[38;2;230;219;116m/[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mans[0m[38;2;249;38;114m#[0m[38;2;255;255;255m"[0m[38;2;230;219;116m~/[0m[38;2;255;255;255m"[0m[38;2;230;219;116m}[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mcd[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mans[0m[38;2;249;38;114m:=[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m0[0m[38;2;255;255;255m"[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m>[0m[38;2;255;255;255m/dev/null [0m[38;2;190;132;255m2[0m[38;2;249;38;114m>&[0m[38;2;190;132;255m1[0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;249;38;114mcontinue[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m/[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mprompt[0m[38;2;255;255;255m / r[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m word splitting and globbing intentional[0m
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m shellcheck disable=2086[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mans[0m[38;2;249;38;114m*[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mans[0m[38;2;230;219;116m*1[0m[38;2;255;255;255m"[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mno results[0m[38;2;255;255;255m'[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mltype[0m[38;2;249;38;114m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116msearch [0m[38;2;255;255;255m$[0m[38;2;255;255;255mPWD[0m[38;2;230;219;116m/[0m[38;2;255;255;255m$[0m[38;2;255;255;255mans[0m[38;2;230;219;116m*[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstatus_line[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m-[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mcd[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mOLDPWD[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m>[0m[38;2;255;255;255m/dev/null [0m[38;2;190;132;255m2[0m[38;2;249;38;114m>&[0m[38;2;190;132;255m1[0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;249;38;114mcontinue[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;190;132;255m\~[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mcd[0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;249;38;114mcontinue[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;190;132;255m\![0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mexport[0m[38;2;255;255;255m [0m[38;2;255;255;255mSHFM_LEVEL[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mSHFM_LEVEL[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mSHFM_LEVEL [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mcmd_run[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mSHELL[0m[38;2;249;38;114m:=[0m[38;2;230;219;116m/bin/sh[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;190;132;255m\?[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mj - down[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mk - up[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116ml - open file or directory[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mh - go up level[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mg - go to top[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mG - go to bottom[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mq - quit[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m: - cd to <input>[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m/ - search current directory <input>*[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m- - go to last directory[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m~ - go home[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m! - spawn shell[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m. - toggle hidden files[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m? - show keybinds[0m[38;2;255;255;255m'[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mltype[0m[38;2;249;38;114m=[0m[38;2;230;219;116mkeybinds[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstatus_line[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mq[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mexit[0m[38;2;255;255;255m 0[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m handle keys which emit escape sequences[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m[1[0m[38;2;255;255;255m'[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;249;38;114m=[0m[38;2;230;219;116m2[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;249;38;114m=[0m[38;2;230;219;116m0[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mdone[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;255;255;255mmain[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m>[0m[38;2;255;255;255m/dev/tty[0m
|
23
tests/syntax-tests/source/dash/LICENSE.md
Normal file
23
tests/syntax-tests/source/dash/LICENSE.md
Normal file
@ -0,0 +1,23 @@
|
||||
The `shfm` file is a modified version of the file from https://github.com/dylanaraps/shfm, added under the following license:
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2020 Dylan Araps
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
425
tests/syntax-tests/source/dash/shfm
Normal file
425
tests/syntax-tests/source/dash/shfm
Normal file
@ -0,0 +1,425 @@
|
||||
#!/usr/bin/env dash
|
||||
|
||||
esc() {
|
||||
case $1 in
|
||||
# vt100 (IL is vt102) (DECTCEM is vt520)
|
||||
CUD) printf '%s[%sB' "$esc_c" "$2" ;; # cursor down
|
||||
CUP) printf '%s[%s;%sH' "$esc_c" "$2" "$3" ;; # cursor home
|
||||
CUU) printf '%s[%sA' "$esc_c" "$2" ;; # cursor up
|
||||
DECAWM) printf '%s[?7%s' "$esc_c" "$2" ;; # line wrap
|
||||
DECRC) printf '%s8' "$esc_c" ;; # cursor restore
|
||||
DECSC) printf '%s7' "$esc_c" ;; # cursor save
|
||||
DECSTBM) printf '%s[%s;%sr' "$esc_c" "$2" "$3" ;; # scroll region
|
||||
DECTCEM) printf '%s[?25%s' "$esc_c" "$2" ;; # cursor visible
|
||||
ED[0-2]) printf '%s[%sJ' "$esc_c" "${1#ED}" ;; # clear screen
|
||||
EL[0-2]) printf '%s[%sK' "$esc_c" "${1#EL}" ;; # clear line
|
||||
IL) printf '%s[%sL' "$esc_c" "$2" ;; # insert line
|
||||
SGR) printf '%s[%s;%sm' "$esc_c" "$2" "$3" ;; # colors
|
||||
|
||||
# xterm (since 1988, supported widely)
|
||||
screen_alt) printf '%s[?1049%s' "$esc_c" "$2" ;; # alternate buffer
|
||||
esac
|
||||
}
|
||||
|
||||
term_setup() {
|
||||
stty=$(stty -g)
|
||||
stty -icanon -echo
|
||||
esc screen_alt h
|
||||
esc DECAWM l
|
||||
esc DECTCEM l
|
||||
esc ED2
|
||||
esc DECSTBM 1 "$((LINES - 2))"
|
||||
}
|
||||
|
||||
term_reset() {
|
||||
esc DECAWM h >&2
|
||||
esc DECTCEM h >&2
|
||||
esc ED2 >&2
|
||||
esc DECSTBM >&2
|
||||
esc screen_alt l >&2
|
||||
stty "$stty"
|
||||
|
||||
# needed for cd-on-exit
|
||||
printf '%s\n' "$PWD" >&1
|
||||
}
|
||||
|
||||
term_resize() {
|
||||
# false-positive, behavior intentional, globbing is disabled.
|
||||
# shellcheck disable=2046
|
||||
{
|
||||
set -f
|
||||
set +f -- $(stty size)
|
||||
}
|
||||
|
||||
LINES=$1 COLUMNS=$2
|
||||
|
||||
# space for status_line
|
||||
bottom=$((LINES - 2))
|
||||
}
|
||||
|
||||
term_scroll_down() {
|
||||
case $((y - $#)) in
|
||||
[0-9]*) return
|
||||
esac
|
||||
|
||||
y=$((y + 1))
|
||||
y2=$((y2 + 1 < bottom ? y2 + 1 : bottom))
|
||||
|
||||
line_print "$((y - 1))" "$@"
|
||||
printf '\n'
|
||||
line_print "$y" "$@"
|
||||
status_line "$#"
|
||||
}
|
||||
|
||||
term_scroll_up() {
|
||||
case $y in
|
||||
-*|0|1) return
|
||||
esac
|
||||
|
||||
y=$((y - 1))
|
||||
|
||||
line_print "$((y + 1))" "$@"
|
||||
|
||||
case $y2 in
|
||||
1) esc IL ;;
|
||||
*) esc CUU; y2=$((y2 > 1 ? y2 - 1 : 1))
|
||||
esac
|
||||
|
||||
line_print "$y" "$@"
|
||||
status_line "$#"
|
||||
}
|
||||
|
||||
cmd_run() {
|
||||
stty "$stty"
|
||||
esc DECTCEM h
|
||||
esc DECSTBM
|
||||
esc ED2
|
||||
"$@" ||:
|
||||
esc DECSTBM 1 "$((LINES - 2))"
|
||||
esc DECTCEM l
|
||||
stty -icanon -echo
|
||||
hist=2
|
||||
}
|
||||
|
||||
file_escape() {
|
||||
tmp=$1 safe=
|
||||
|
||||
# loop over string char by char
|
||||
while c=${tmp%"${tmp#?}"}; do
|
||||
case $c in
|
||||
'') return ;;
|
||||
[[:cntrl:]]) safe=$safe\? ;;
|
||||
*) safe=$safe$c ;;
|
||||
esac
|
||||
|
||||
tmp=${tmp#?}
|
||||
done
|
||||
}
|
||||
|
||||
hist_search() {
|
||||
hist=0 j=1
|
||||
|
||||
for file do
|
||||
case ${PWD%%/}/$file in
|
||||
"$old_pwd") y=$j y2=$((j > bottom ? mid : j)) cur=$file
|
||||
esac
|
||||
|
||||
j=$((j + 1))
|
||||
done
|
||||
}
|
||||
|
||||
list_print() {
|
||||
esc ED2
|
||||
esc CUP
|
||||
|
||||
i=1
|
||||
end=$((bottom + 1))
|
||||
mid=$((bottom / 4 < 5 ? 1 : bottom / 4))
|
||||
|
||||
case $# in
|
||||
1) [ -e "$1" ] || set -- empty
|
||||
esac
|
||||
|
||||
case $hist in
|
||||
2) # redraw after cmd run
|
||||
shift "$((y > y2 ? y - y2 : 0))"
|
||||
;;
|
||||
|
||||
1) # redraw after go-to-parent
|
||||
hist_search "$@"
|
||||
shift "$((y >= bottom ? y - mid : 0))"
|
||||
;;
|
||||
|
||||
*) # everything else
|
||||
shift "$((y >= bottom ? y - bottom : 0))"
|
||||
;;
|
||||
esac
|
||||
|
||||
for file do
|
||||
case $i in
|
||||
"$y2") esc SGR 0 7
|
||||
esac
|
||||
|
||||
case $((i - end)) in
|
||||
-*)
|
||||
line_format "$file"
|
||||
esc CUD
|
||||
;;
|
||||
esac
|
||||
|
||||
i=$((i + 1))
|
||||
done
|
||||
|
||||
esc CUP "$((y > y2 ? y2 : y))"
|
||||
}
|
||||
|
||||
redraw() {
|
||||
list_print "$@"
|
||||
status_line "$#"
|
||||
}
|
||||
|
||||
status_line() {
|
||||
esc DECSC
|
||||
esc CUP "$LINES"
|
||||
|
||||
case $USER in
|
||||
root) esc SGR 31 7 ;;
|
||||
*) esc SGR 34 7 ;;
|
||||
esac
|
||||
|
||||
printf '%*s\r%s ' "$COLUMNS" "" "($y/$1)"
|
||||
|
||||
case $ltype in
|
||||
'') printf %s "$PWD" ;;
|
||||
*) printf %s "$ltype"
|
||||
esac
|
||||
|
||||
esc SGR 0 0
|
||||
esc DECRC
|
||||
}
|
||||
|
||||
prompt() {
|
||||
esc DECSC
|
||||
esc CUP "$LINES"
|
||||
printf %s "$1"
|
||||
esc DECTCEM h
|
||||
esc EL0
|
||||
|
||||
case $2 in
|
||||
r)
|
||||
stty icanon echo
|
||||
read -r ans ||:
|
||||
stty -icanon -echo
|
||||
;;
|
||||
esac
|
||||
|
||||
esc DECRC
|
||||
esc DECTCEM l
|
||||
status_line "($y/$#) $PWD"
|
||||
}
|
||||
|
||||
line_print() {
|
||||
offset=$1
|
||||
|
||||
case $offset in
|
||||
"$y") esc SGR 0 7
|
||||
esac
|
||||
|
||||
shift "$offset"
|
||||
|
||||
case $offset in
|
||||
"$y") cur=$1
|
||||
esac
|
||||
|
||||
line_format "$1"
|
||||
}
|
||||
|
||||
line_format() {
|
||||
file_escape "$1"
|
||||
[ -d "$1" ] && esc SGR 1 31
|
||||
printf %s "$safe"
|
||||
[ -d "$1" ] && printf /
|
||||
esc SGR 0 0
|
||||
esc EL0
|
||||
printf '\r'
|
||||
}
|
||||
|
||||
main() {
|
||||
set -e
|
||||
|
||||
case $1 in
|
||||
-h|--help)
|
||||
printf 'shfm -[hv] <starting dir>\n'
|
||||
exit 0
|
||||
;;
|
||||
|
||||
-v|--version)
|
||||
printf 'shfm 0.4.2\n'
|
||||
exit 0
|
||||
;;
|
||||
|
||||
*)
|
||||
cd -- "${1:-"$PWD"}"
|
||||
;;
|
||||
esac
|
||||
|
||||
esc_c=$(printf '\033')
|
||||
bs_char=$(printf '\177')
|
||||
|
||||
set -- *
|
||||
cur=$1
|
||||
|
||||
term_resize
|
||||
term_setup
|
||||
|
||||
trap 'term_reset' EXIT INT
|
||||
trap 'term_resize; term_setup; y=1 y2=1; redraw "$@"' WINCH
|
||||
|
||||
y=1 y2=1
|
||||
redraw "$@"
|
||||
|
||||
while key=$(dd ibs=1 count=1 2>/dev/null); do
|
||||
case $key${esc:=0} in
|
||||
k?|A2)
|
||||
term_scroll_up "$@"
|
||||
;;
|
||||
|
||||
j?|B2)
|
||||
term_scroll_down "$@"
|
||||
;;
|
||||
|
||||
l?|C2|"$esc") # ARROW RIGHT
|
||||
if [ -d "$cur" ] && cd -- "$cur" >/dev/null 2>&1; then
|
||||
set -- *
|
||||
y=1 y2=1 cur=$1 ltype=
|
||||
redraw "$@"
|
||||
|
||||
elif [ -e "$cur" ]; then
|
||||
cmd_run "${SHFM_OPENER:="${EDITOR:=vi}"}" "$cur"
|
||||
redraw "$@"
|
||||
fi
|
||||
;;
|
||||
|
||||
h?|D2|"$bs_char"?) # ARROW LEFT
|
||||
old_pwd=$PWD
|
||||
|
||||
case $ltype in
|
||||
'') cd .. || continue ;;
|
||||
*) ltype= ;;
|
||||
esac
|
||||
|
||||
set -- *
|
||||
y=1 y2=1 cur=$1 hist=1
|
||||
redraw "$@"
|
||||
;;
|
||||
|
||||
g?)
|
||||
case $y in
|
||||
1) continue
|
||||
esac
|
||||
|
||||
y=1 y2=1 cur=$1
|
||||
redraw "$@"
|
||||
;;
|
||||
|
||||
G?)
|
||||
y=$#
|
||||
y2=$(($# < bottom ? $# : bottom))
|
||||
redraw "$@"
|
||||
;;
|
||||
|
||||
.?)
|
||||
case ${hidden:=1} in
|
||||
1) hidden=0; set -- .* ;;
|
||||
0) hidden=1; set -- *
|
||||
esac
|
||||
|
||||
y=1 y2=1 cur=$1
|
||||
redraw "$@"
|
||||
;;
|
||||
|
||||
:?)
|
||||
prompt "cd: " r
|
||||
|
||||
# false positive, behavior intentional
|
||||
# shellcheck disable=2088
|
||||
case $ans in
|
||||
'~') ans=$HOME ;;
|
||||
'~/'*) ans=$HOME/${ans#"~/"}
|
||||
esac
|
||||
|
||||
cd -- "${ans:="$0"}" >/dev/null 2>&1|| continue
|
||||
set -- *
|
||||
y=1 y2=1 cur=$1
|
||||
redraw "$@"
|
||||
;;
|
||||
|
||||
/?)
|
||||
prompt / r
|
||||
|
||||
# word splitting and globbing intentional
|
||||
# shellcheck disable=2086
|
||||
set -- $ans*
|
||||
|
||||
case $1$# in
|
||||
"$ans*1") set -- 'no results'
|
||||
esac
|
||||
|
||||
y=1 y2=1 cur=$1 ltype="search $PWD/$ans*"
|
||||
redraw "$@"
|
||||
status_line "$#"
|
||||
;;
|
||||
|
||||
-?)
|
||||
cd -- "$OLDPWD" >/dev/null 2>&1|| continue
|
||||
set -- *
|
||||
y=1 y2=1 cur=$1
|
||||
redraw "$@"
|
||||
;;
|
||||
|
||||
\~?)
|
||||
cd || continue
|
||||
set -- *
|
||||
y=1 y2=1 cur=$1
|
||||
redraw "$@"
|
||||
;;
|
||||
|
||||
\!?)
|
||||
export SHFM_LEVEL
|
||||
SHFM_LEVEL=$((SHFM_LEVEL + 1))
|
||||
cmd_run "${SHELL:=/bin/sh}"
|
||||
redraw "$@"
|
||||
;;
|
||||
|
||||
\??)
|
||||
set -- 'j - down' \
|
||||
'k - up' \
|
||||
'l - open file or directory' \
|
||||
'h - go up level' \
|
||||
'g - go to top' \
|
||||
'G - go to bottom' \
|
||||
'q - quit' \
|
||||
': - cd to <input>' \
|
||||
'/ - search current directory <input>*' \
|
||||
'- - go to last directory' \
|
||||
'~ - go home' \
|
||||
'! - spawn shell' \
|
||||
'. - toggle hidden files' \
|
||||
'? - show keybinds'
|
||||
|
||||
y=1 y2=1 cur=$1 ltype=keybinds
|
||||
redraw "$@"
|
||||
status_line "$#"
|
||||
;;
|
||||
|
||||
q?) exit 0 ;;
|
||||
|
||||
# handle keys which emit escape sequences
|
||||
"$esc_c"*) esc=1 ;;
|
||||
'[1') esc=2 ;;
|
||||
*) esc=0 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
main "$@" >/dev/tty
|
Loading…
Reference in New Issue
Block a user