Alter commit 3758306 to allow region name to be substituted within a region console prompt
				
					
				
			This is to allow broader subsitution in the future. Currently, the only substitions are \R (for region name) and \\ (for a single backslash) e.g. "Region (\R) " is the current and continuing default prompt This renames custom_prompt in [Startup] to ConsolePromptremove-scene-viewer
							parent
							
								
									b990914ec4
								
							
						
					
					
						commit
						2d4ac6288d
					
				|  | @ -31,6 +31,7 @@ using System.Collections.Generic; | |||
| using System.IO; | ||||
| using System.Reflection; | ||||
| using System.Text; | ||||
| using System.Text.RegularExpressions; | ||||
| using System.Timers; | ||||
| using log4net; | ||||
| using Nini.Config; | ||||
|  | @ -56,7 +57,16 @@ namespace OpenSim | |||
|         protected bool m_gui = false; | ||||
|         protected string m_consoleType = "local"; | ||||
|         protected uint m_consolePort = 0; | ||||
|         protected string m_custom_prompt; | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Prompt to use for simulator command line. | ||||
|         /// </summary> | ||||
|         private string m_consolePrompt; | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Regex for parsing out special characters in the prompt. | ||||
|         /// </summary> | ||||
|         private Regex m_consolePromptRegex = new Regex(@"([^\\])\\(\w)", RegexOptions.Compiled); | ||||
| 
 | ||||
|         private string m_timedScript = "disabled"; | ||||
|         private Timer m_scriptTimer; | ||||
|  | @ -111,7 +121,7 @@ namespace OpenSim | |||
|                     Util.FireAndForgetMethod = asyncCallMethod; | ||||
| 
 | ||||
|                 stpMaxThreads = startupConfig.GetInt("MaxPoolThreads", 15); | ||||
|                 m_custom_prompt = startupConfig.GetString("custom_prompt", "Region"); | ||||
|                 m_consolePrompt = startupConfig.GetString("console_prompt", @"Region (\R) "); | ||||
|             } | ||||
| 
 | ||||
|             if (Util.FireAndForgetMethod == FireAndForgetMethod.SmartThreadPool) | ||||
|  | @ -835,7 +845,22 @@ namespace OpenSim | |||
| 
 | ||||
|             string regionName = (m_sceneManager.CurrentScene == null ? "root" : m_sceneManager.CurrentScene.RegionInfo.RegionName); | ||||
|             MainConsole.Instance.Output(String.Format("Currently selected region is {0}", regionName)); | ||||
|             m_console.DefaultPrompt = String.Format("{0} ({1}) ", m_custom_prompt, regionName); | ||||
| 
 | ||||
| //            m_log.DebugFormat("Original prompt is {0}", m_consolePrompt); | ||||
|             string prompt = m_consolePrompt; | ||||
| 
 | ||||
|             // Replace "\R" with the region name | ||||
|             // Replace "\\" with "\" | ||||
|             prompt = m_consolePromptRegex.Replace(prompt, m => | ||||
|             { | ||||
| //                m_log.DebugFormat("Matched {0}", m.Groups[2].Value); | ||||
|                 if (m.Groups[2].Value == "R") | ||||
|                     return m.Groups[1].Value + regionName; | ||||
|                 else | ||||
|                     return m.Groups[0].Value; | ||||
|             }); | ||||
| 
 | ||||
|             m_console.DefaultPrompt = prompt; | ||||
|             m_console.ConsoleScene = m_sceneManager.CurrentScene; | ||||
|         } | ||||
| 
 | ||||
|  |  | |||
|  | @ -36,6 +36,14 @@ | |||
| 
 | ||||
| 
 | ||||
| [Startup] | ||||
|     ;# {ConsolePrompt} {} {ConsolePrompt} {} "Region (\R) " | ||||
|     ;; Console prompt | ||||
|     ;; Certain special characters can be used to customize the prompt | ||||
|     ;; Currently, these are | ||||
|     ;; \R - substitute region name | ||||
|     ;; \\ - substitute \ | ||||
|     ; ConsolePrompt = "Region (\R) " | ||||
| 
 | ||||
|     ;# {save_crashes} {} {Save crashes to disk?} {true false} false | ||||
|     ;; Set this to true if you want to log crashes to disk | ||||
|     ;; this can be useful when submitting bug reports. | ||||
|  | @ -230,12 +238,6 @@ | |||
|     ;; by scripts have changed. | ||||
|     ; DeleteScriptsOnStartup = true | ||||
| 
 | ||||
|     ;; Custom prompt | ||||
|     ;; This value replaces the word "Region" in console prompt | ||||
|     ;; (usualy "Region (regionName) # " | ||||
|     ;; Useful only if you have to monitor serveral servers | ||||
|     ; custom_prompt = "MyServer1" | ||||
| 
 | ||||
| [SMTP] | ||||
|     ;; The SMTP server enabled the email module to send email to external | ||||
|     ;; destinations. | ||||
|  |  | |||
|  | @ -3,6 +3,13 @@ | |||
| 
 | ||||
| 
 | ||||
| [Startup] | ||||
|     ; Console prompt | ||||
|     ; Certain special characters can be used to customize the prompt | ||||
|     ; Currently, these are  | ||||
|     ; \R - substitute region name | ||||
|     ; \\ - substtitue \ | ||||
|     ConsolePrompt = "Region (\R) " | ||||
| 
 | ||||
|     ; Set this to true if you want to log crashes to disk | ||||
|     ; this can be useful when submitting bug reports. | ||||
|     ; However, this will only log crashes within OpenSimulator that cause the entire program to exit | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Justin Clark-Casey (justincc)
						Justin Clark-Casey (justincc)