mirror of
				https://github.com/sammy-ette/Hilbish
				synced 2025-08-10 02:52:03 +00:00 
			
		
		
		
	fix: multiline cursor redraw
This commit is contained in:
		
							parent
							
								
									b4a5746093
								
							
						
					
					
						commit
						1339dc4a2f
					
				| @ -45,6 +45,7 @@ func (rl *Instance) echo() { | |||||||
| 		print(seqClearScreenBelow) | 		print(seqClearScreenBelow) | ||||||
| 
 | 
 | ||||||
| 		// Print the prompt | 		// Print the prompt | ||||||
|  | 		rl.promptInPlace("") | ||||||
| 		print(string(rl.realPrompt)) | 		print(string(rl.realPrompt)) | ||||||
| 
 | 
 | ||||||
| 		// Assemble the line, taking virtual completions into account | 		// Assemble the line, taking virtual completions into account | ||||||
|  | |||||||
| @ -73,8 +73,7 @@ func (rl *Instance) RefreshPromptLog(log string) (err error) { | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // RefreshPromptInPlace - Refreshes the prompt in the very same place he is. | func (rl *Instance) promptInPlace(prompt string) { | ||||||
| func (rl *Instance) RefreshPromptInPlace(prompt string) (err error) { |  | ||||||
| 	// We adjust cursor movement, depending on which mode we're currently in. | 	// We adjust cursor movement, depending on which mode we're currently in. | ||||||
| 	// Prompt data intependent | 	// Prompt data intependent | ||||||
| 	if !rl.modeTabCompletion { | 	if !rl.modeTabCompletion { | ||||||
| @ -91,15 +90,11 @@ func (rl *Instance) RefreshPromptInPlace(prompt string) (err error) { | |||||||
| 		rl.SetPrompt(prompt) | 		rl.SetPrompt(prompt) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if rl.Multiline { |  | ||||||
| 		rl.tcUsedY += 1 |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	// Clear the input line and everything below | 	// Clear the input line and everything below | ||||||
| 	print(seqClearLine) | 	print(seqClearLine) | ||||||
| 	moveCursorUp(rl.infoY + rl.tcUsedY) | 	moveCursorUp(rl.infoY + rl.tcUsedY) | ||||||
| 	moveCursorBackwards(GetTermWidth()) | 	moveCursorBackwards(GetTermWidth()) | ||||||
| 	print("\r\n" + seqClearScreenBelow) | 	print("\r" + seqClearScreenBelow) | ||||||
| 
 | 
 | ||||||
| 	// Add a new line if needed | 	// Add a new line if needed | ||||||
| 	if rl.Multiline { | 	if rl.Multiline { | ||||||
| @ -108,8 +103,11 @@ func (rl *Instance) RefreshPromptInPlace(prompt string) (err error) { | |||||||
| 	} else { | 	} else { | ||||||
| 		fmt.Print(rl.mainPrompt) | 		fmt.Print(rl.mainPrompt) | ||||||
| 	} | 	} | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| 	// Refresh the line | // RefreshPromptInPlace - Refreshes the prompt in the very same place he is. | ||||||
|  | func (rl *Instance) RefreshPromptInPlace(prompt string) (err error) { | ||||||
|  | 	rl.promptInPlace(prompt) | ||||||
| 	rl.updateHelpers() | 	rl.updateHelpers() | ||||||
| 
 | 
 | ||||||
| 	return | 	return | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user