mirror of
				https://github.com/sammy-ette/Hilbish
				synced 2025-08-10 02:52:03 +00:00 
			
		
		
		
	fix: don't refetch tab completion on refresh if its already open (closes #163)
This commit is contained in:
		
							parent
							
								
									9d385efbfc
								
							
						
					
					
						commit
						3196f0dcb9
					
				@ -96,6 +96,7 @@ type Instance struct {
 | 
			
		||||
	tabCompletionSelect  bool // We may have completions printed, but no selected candidate yet
 | 
			
		||||
	tabCompletionReverse bool // Groups sometimes use this indicator to know how they should handle their index
 | 
			
		||||
	tcUsedY              int  // Comprehensive offset of the currently built completions
 | 
			
		||||
	completionOpen       bool
 | 
			
		||||
 | 
			
		||||
	// Candidate /  virtual completion string / etc
 | 
			
		||||
	currentComp  []rune // The currently selected item, not yet a real part of the input line.
 | 
			
		||||
 | 
			
		||||
@ -79,9 +79,8 @@ func (rl *Instance) RefreshPromptInPlace(prompt string) (err error) {
 | 
			
		||||
	// Prompt data intependent
 | 
			
		||||
	if !rl.modeTabCompletion {
 | 
			
		||||
		rl.tcUsedY = 1
 | 
			
		||||
		// Account for the info line
 | 
			
		||||
	} else if rl.modeTabCompletion && rl.modeAutoFind {
 | 
			
		||||
		rl.tcUsedY = 0
 | 
			
		||||
		rl.tcUsedY = -1 // idk man
 | 
			
		||||
	} else {
 | 
			
		||||
		rl.tcUsedY = 1
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -215,7 +215,7 @@ func (rl *Instance) getCompletions() {
 | 
			
		||||
// moveTabCompletionHighlight - This function is in charge of
 | 
			
		||||
// computing the new position in the current completions liste.
 | 
			
		||||
func (rl *Instance) moveTabCompletionHighlight(x, y int) {
 | 
			
		||||
 | 
			
		||||
	rl.completionOpen = true
 | 
			
		||||
	g := rl.getCurrentGroup()
 | 
			
		||||
 | 
			
		||||
	// If there is no current group, we leave any current completion mode.
 | 
			
		||||
 | 
			
		||||
@ -11,8 +11,10 @@ func (rl *Instance) updateHelpers() {
 | 
			
		||||
	// Thus overwrites anything having been dirtily added/forced/modified, like rl.SetInfoText()
 | 
			
		||||
	rl.getInfoText()
 | 
			
		||||
	rl.getHintText()
 | 
			
		||||
	if rl.modeTabCompletion {
 | 
			
		||||
	if rl.modeTabCompletion && !rl.completionOpen {
 | 
			
		||||
		rl.getTabCompletion()
 | 
			
		||||
	} else {
 | 
			
		||||
		if rl.completionOpen { rl.completionOpen = false }
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// We clear everything
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user