console: add admin.clearHistory command (#15614)
This commit is contained in:
		
							parent
							
								
									d95962cd5d
								
							
						
					
					
						commit
						586198ccea
					
				| @ -192,6 +192,7 @@ func (c *Console) init(preload []string) error { | ||||
| 	if obj := admin.Object(); obj != nil { // make sure the admin api is enabled over the interface
 | ||||
| 		obj.Set("sleepBlocks", bridge.SleepBlocks) | ||||
| 		obj.Set("sleep", bridge.Sleep) | ||||
| 		obj.Set("clearHistory", c.clearHistory) | ||||
| 	} | ||||
| 	// Preload any JavaScript files before starting the console
 | ||||
| 	for _, path := range preload { | ||||
| @ -216,6 +217,16 @@ func (c *Console) init(preload []string) error { | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (c *Console) clearHistory() { | ||||
| 	c.history = nil | ||||
| 	c.prompter.ClearHistory() | ||||
| 	if err := os.Remove(c.histPath); err != nil { | ||||
| 		fmt.Fprintln(c.printer, "can't delete history file:", err) | ||||
| 	} else { | ||||
| 		fmt.Fprintln(c.printer, "history file deleted") | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // consoleOutput is an override for the console.log and console.error methods to
 | ||||
| // stream the output into the configured output stream instead of stdout.
 | ||||
| func (c *Console) consoleOutput(call otto.FunctionCall) otto.Value { | ||||
|  | ||||
| @ -68,6 +68,7 @@ func (p *hookedPrompter) PromptConfirm(prompt string) (bool, error) { | ||||
| } | ||||
| func (p *hookedPrompter) SetHistory(history []string)              {} | ||||
| func (p *hookedPrompter) AppendHistory(command string)             {} | ||||
| func (p *hookedPrompter) ClearHistory()                            {} | ||||
| func (p *hookedPrompter) SetWordCompleter(completer WordCompleter) {} | ||||
| 
 | ||||
| // tester is a console test environment for the console tests to operate on.
 | ||||
|  | ||||
| @ -51,6 +51,9 @@ type UserPrompter interface { | ||||
| 	// if and only if the prompt to append was a valid command.
 | ||||
| 	AppendHistory(command string) | ||||
| 
 | ||||
| 	// ClearHistory clears the entire history
 | ||||
| 	ClearHistory() | ||||
| 
 | ||||
| 	// SetWordCompleter sets the completion function that the prompter will call to
 | ||||
| 	// fetch completion candidates when the user presses tab.
 | ||||
| 	SetWordCompleter(completer WordCompleter) | ||||
| @ -158,6 +161,11 @@ func (p *terminalPrompter) AppendHistory(command string) { | ||||
| 	p.State.AppendHistory(command) | ||||
| } | ||||
| 
 | ||||
| // ClearHistory clears the entire history
 | ||||
| func (p *terminalPrompter) ClearHistory() { | ||||
| 	p.State.ClearHistory() | ||||
| } | ||||
| 
 | ||||
| // SetWordCompleter sets the completion function that the prompter will call to
 | ||||
| // fetch completion candidates when the user presses tab.
 | ||||
| func (p *terminalPrompter) SetWordCompleter(completer WordCompleter) { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user