mirror of
				https://gitea.com/gitea/tea.git
				synced 2025-10-31 09:15:26 +01:00 
			
		
		
		
	Update Dependencies (#390)
Co-authored-by: Norwin Roosen <git@nroo.de> Co-authored-by: Norwin <git@nroo.de> Reviewed-on: https://gitea.com/gitea/tea/pulls/390 Reviewed-by: 6543 <6543@obermui.de> Reviewed-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Norwin <noerw@noreply.gitea.io> Co-committed-by: Norwin <noerw@noreply.gitea.io>
This commit is contained in:
		
							
								
								
									
										10
									
								
								vendor/github.com/AlecAivazis/survey/v2/terminal/cursor.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/github.com/AlecAivazis/survey/v2/terminal/cursor.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -43,11 +43,13 @@ func (c *Cursor) Back(n int) { | ||||
| // NextLine moves cursor to beginning of the line n lines down. | ||||
| func (c *Cursor) NextLine(n int) { | ||||
| 	c.Down(1) | ||||
| 	c.HorizontalAbsolute(0) | ||||
| } | ||||
|  | ||||
| // PreviousLine moves cursor to beginning of the line n lines up. | ||||
| func (c *Cursor) PreviousLine(n int) { | ||||
| 	c.Up(1) | ||||
| 	c.HorizontalAbsolute(0) | ||||
| } | ||||
|  | ||||
| // HorizontalAbsolute moves cursor horizontally to x. | ||||
| @@ -167,8 +169,11 @@ func (c *Cursor) Size(buf *bytes.Buffer) (*Coord, error) { | ||||
|  | ||||
| 	// hide the cursor (so it doesn't blink when getting the size of the terminal) | ||||
| 	c.Hide() | ||||
| 	defer c.Show() | ||||
|  | ||||
| 	// save the current location of the cursor | ||||
| 	c.Save() | ||||
| 	defer c.Restore() | ||||
|  | ||||
| 	// move the cursor to the very bottom of the terminal | ||||
| 	c.Move(999, 999) | ||||
| @@ -179,11 +184,6 @@ func (c *Cursor) Size(buf *bytes.Buffer) (*Coord, error) { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	// move back where we began | ||||
| 	c.Restore() | ||||
|  | ||||
| 	// show the cursor | ||||
| 	c.Show() | ||||
| 	// since the bottom was calculated in the lower right corner, it | ||||
| 	// is the dimensions we are looking for | ||||
| 	return bottom, nil | ||||
|   | ||||
							
								
								
									
										71
									
								
								vendor/github.com/AlecAivazis/survey/v2/terminal/runereader.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										71
									
								
								vendor/github.com/AlecAivazis/survey/v2/terminal/runereader.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -31,7 +31,13 @@ func (rr *RuneReader) printChar(char rune, mask rune) { | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func (rr *RuneReader) ReadLine(mask rune) ([]rune, error) { | ||||
| type OnRuneFn func(rune, []rune) ([]rune, bool, error) | ||||
|  | ||||
| func (rr *RuneReader) ReadLine(mask rune, onRunes ...OnRuneFn) ([]rune, error) { | ||||
| 	return rr.ReadLineWithDefault(mask, []rune{}, onRunes...) | ||||
| } | ||||
|  | ||||
| func (rr *RuneReader) ReadLineWithDefault(mask rune, d []rune, onRunes ...OnRuneFn) ([]rune, error) { | ||||
| 	line := []rune{} | ||||
| 	// we only care about horizontal displacements from the origin so start counting at 0 | ||||
| 	index := 0 | ||||
| @@ -41,19 +47,56 @@ func (rr *RuneReader) ReadLine(mask rune) ([]rune, error) { | ||||
| 		Out: rr.stdio.Out, | ||||
| 	} | ||||
|  | ||||
| 	onRune := func(r rune, line []rune) ([]rune, bool, error) { | ||||
| 		return line, false, nil | ||||
| 	} | ||||
|  | ||||
| 	// if the user pressed a key the caller was interested in capturing | ||||
| 	if len(onRunes) > 0 { | ||||
| 		onRune = onRunes[0] | ||||
| 	} | ||||
|  | ||||
| 	// we get the terminal width and height (if resized after this point the property might become invalid) | ||||
| 	terminalSize, _ := cursor.Size(rr.Buffer()) | ||||
| 	// we set the current location of the cursor once | ||||
| 	cursorCurrent, _ := cursor.Location(rr.Buffer()) | ||||
|  | ||||
| 	increment := func() { | ||||
| 		if cursorCurrent.CursorIsAtLineEnd(terminalSize) { | ||||
| 			cursorCurrent.X = COORDINATE_SYSTEM_BEGIN | ||||
| 			cursorCurrent.Y++ | ||||
| 		} else { | ||||
| 			cursorCurrent.X++ | ||||
| 		} | ||||
| 	} | ||||
| 	decrement := func() { | ||||
| 		if cursorCurrent.CursorIsAtLineBegin() { | ||||
| 			cursorCurrent.X = terminalSize.X | ||||
| 			cursorCurrent.Y-- | ||||
| 		} else { | ||||
| 			cursorCurrent.X-- | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if len(d) > 0 { | ||||
| 		index = len(d) | ||||
| 		fmt.Fprint(rr.stdio.Out, string(d)) | ||||
| 		line = d | ||||
| 		for range d { | ||||
| 			increment() | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	for { | ||||
| 		// wait for some input | ||||
| 		r, _, err := rr.ReadRune() | ||||
| 		if err != nil { | ||||
| 			return line, err | ||||
| 		} | ||||
| 		// increment cursor location | ||||
| 		cursorCurrent.X++ | ||||
|  | ||||
| 		if l, stop, err := onRune(r, line); stop || err != nil { | ||||
| 			return l, err | ||||
| 		} | ||||
|  | ||||
| 		// if the user pressed enter or some other newline/termination like ctrl+d | ||||
| 		if r == '\r' || r == '\n' || r == KeyEndTransmission { | ||||
| @@ -63,13 +106,10 @@ func (rr *RuneReader) ReadLine(mask rune) ([]rune, error) { | ||||
| 					EraseLine(rr.stdio.Out, ERASE_LINE_END) | ||||
| 					cursor.PreviousLine(1) | ||||
| 					cursor.Forward(int(terminalSize.X)) | ||||
| 					cursorCurrent.X = terminalSize.X | ||||
| 					cursorCurrent.Y-- | ||||
|  | ||||
| 				} else { | ||||
| 					cursor.Back(1) | ||||
| 					cursorCurrent.X-- | ||||
| 				} | ||||
| 				decrement() | ||||
| 				index-- | ||||
| 			} | ||||
| 			// move the cursor the a new line | ||||
| @@ -148,6 +188,7 @@ func (rr *RuneReader) ReadLine(mask rune) ([]rune, error) { | ||||
|  | ||||
| 				// decrement the index | ||||
| 				index-- | ||||
| 				decrement() | ||||
| 			} else { | ||||
| 				// otherwise the user pressed backspace while at the beginning of the line | ||||
| 				soundBell(rr.stdio.Out) | ||||
| @@ -170,6 +211,7 @@ func (rr *RuneReader) ReadLine(mask rune) ([]rune, error) { | ||||
| 				} | ||||
| 				//decrement the index | ||||
| 				index-- | ||||
| 				decrement() | ||||
|  | ||||
| 			} else { | ||||
| 				// otherwise we are at the beginning of where we started reading lines | ||||
| @@ -192,6 +234,7 @@ func (rr *RuneReader) ReadLine(mask rune) ([]rune, error) { | ||||
| 					cursor.Forward(runeWidth(line[index])) | ||||
| 				} | ||||
| 				index++ | ||||
| 				increment() | ||||
|  | ||||
| 			} else { | ||||
| 				// otherwise we are at the end of the word and can't go past | ||||
| @@ -208,12 +251,11 @@ func (rr *RuneReader) ReadLine(mask rune) ([]rune, error) { | ||||
| 				if cursorCurrent.CursorIsAtLineBegin() { | ||||
| 					cursor.PreviousLine(1) | ||||
| 					cursor.Forward(int(terminalSize.X)) | ||||
| 					cursorCurrent.X = terminalSize.X | ||||
| 					cursorCurrent.Y-- | ||||
|  | ||||
| 					cursorCurrent.X = terminalSize.X | ||||
| 				} else { | ||||
| 					cursor.Back(runeWidth(line[index-1])) | ||||
| 					cursorCurrent.X-- | ||||
| 					cursorCurrent.X -= Short(runeWidth(line[index-1])) | ||||
| 				} | ||||
| 				index-- | ||||
| 			} | ||||
| @@ -223,12 +265,11 @@ func (rr *RuneReader) ReadLine(mask rune) ([]rune, error) { | ||||
| 			for index != len(line) { | ||||
| 				if cursorCurrent.CursorIsAtLineEnd(terminalSize) { | ||||
| 					cursor.NextLine(1) | ||||
| 					cursorCurrent.X = COORDINATE_SYSTEM_BEGIN | ||||
| 					cursorCurrent.Y++ | ||||
|  | ||||
| 					cursorCurrent.X = COORDINATE_SYSTEM_BEGIN | ||||
| 				} else { | ||||
| 					cursor.Forward(runeWidth(line[index])) | ||||
| 					cursorCurrent.X++ | ||||
| 					cursorCurrent.X += Short(runeWidth(line[index])) | ||||
| 				} | ||||
| 				index++ | ||||
| 			} | ||||
| @@ -277,6 +318,7 @@ func (rr *RuneReader) ReadLine(mask rune) ([]rune, error) { | ||||
| 			line = append(line, r) | ||||
| 			// save the location of the cursor | ||||
| 			index++ | ||||
| 			increment() | ||||
| 			// print out the character | ||||
| 			rr.printChar(r, mask) | ||||
| 		} else { | ||||
| @@ -293,7 +335,7 @@ func (rr *RuneReader) ReadLine(mask rune) ([]rune, error) { | ||||
| 				EraseLine(rr.stdio.Out, ERASE_LINE_END) | ||||
| 				// print out the character | ||||
| 				rr.printChar(char, mask) | ||||
| 				cursorCurrent.X++ | ||||
| 				increment() | ||||
| 			} | ||||
| 			// if we are at the last line, we want to visually insert a new line and append to it. | ||||
| 			if cursorCurrent.CursorIsAtLineEnd(terminalSize) && cursorCurrent.Y == terminalSize.Y { | ||||
| @@ -316,6 +358,7 @@ func (rr *RuneReader) ReadLine(mask rune) ([]rune, error) { | ||||
| 			} | ||||
| 			// increment the index | ||||
| 			index++ | ||||
| 			increment() | ||||
|  | ||||
| 		} | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Norwin
					Norwin