mirror of
				https://github.com/sharkdp/bat.git
				synced 2025-10-31 07:04:04 +00:00 
			
		
		
		
	Add dash test file
This commit is contained in:
		
							
								
								
									
										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 | ||||
		Reference in New Issue
	
	Block a user