diff options
author | Justin Clark-Casey (justincc) | 2011-11-10 22:56:13 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-11-10 22:56:13 +0000 |
commit | 2d4ac6288dab1b12997c54cdc93d71ac5d0be8fc (patch) | |
tree | fd5b0c45ffaa0405d4682a6a63609a14984f37d4 | |
parent | convert tabs from commit 3758306 to spaces (diff) | |
download | opensim-SC-2d4ac6288dab1b12997c54cdc93d71ac5d0be8fc.zip opensim-SC-2d4ac6288dab1b12997c54cdc93d71ac5d0be8fc.tar.gz opensim-SC-2d4ac6288dab1b12997c54cdc93d71ac5d0be8fc.tar.bz2 opensim-SC-2d4ac6288dab1b12997c54cdc93d71ac5d0be8fc.tar.xz |
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 ConsolePrompt
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Application/OpenSim.cs | 31 | ||||
-rwxr-xr-x | bin/OpenSim.ini.example | 14 | ||||
-rw-r--r-- | bin/OpenSimDefaults.ini | 7 |
3 files changed, 43 insertions, 9 deletions
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index 9fe284f..beb75a8 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs | |||
@@ -31,6 +31,7 @@ using System.Collections.Generic; | |||
31 | using System.IO; | 31 | using System.IO; |
32 | using System.Reflection; | 32 | using System.Reflection; |
33 | using System.Text; | 33 | using System.Text; |
34 | using System.Text.RegularExpressions; | ||
34 | using System.Timers; | 35 | using System.Timers; |
35 | using log4net; | 36 | using log4net; |
36 | using Nini.Config; | 37 | using Nini.Config; |
@@ -56,7 +57,16 @@ namespace OpenSim | |||
56 | protected bool m_gui = false; | 57 | protected bool m_gui = false; |
57 | protected string m_consoleType = "local"; | 58 | protected string m_consoleType = "local"; |
58 | protected uint m_consolePort = 0; | 59 | protected uint m_consolePort = 0; |
59 | protected string m_custom_prompt; | 60 | |
61 | /// <summary> | ||
62 | /// Prompt to use for simulator command line. | ||
63 | /// </summary> | ||
64 | private string m_consolePrompt; | ||
65 | |||
66 | /// <summary> | ||
67 | /// Regex for parsing out special characters in the prompt. | ||
68 | /// </summary> | ||
69 | private Regex m_consolePromptRegex = new Regex(@"([^\\])\\(\w)", RegexOptions.Compiled); | ||
60 | 70 | ||
61 | private string m_timedScript = "disabled"; | 71 | private string m_timedScript = "disabled"; |
62 | private Timer m_scriptTimer; | 72 | private Timer m_scriptTimer; |
@@ -111,7 +121,7 @@ namespace OpenSim | |||
111 | Util.FireAndForgetMethod = asyncCallMethod; | 121 | Util.FireAndForgetMethod = asyncCallMethod; |
112 | 122 | ||
113 | stpMaxThreads = startupConfig.GetInt("MaxPoolThreads", 15); | 123 | stpMaxThreads = startupConfig.GetInt("MaxPoolThreads", 15); |
114 | m_custom_prompt = startupConfig.GetString("custom_prompt", "Region"); | 124 | m_consolePrompt = startupConfig.GetString("console_prompt", @"Region (\R) "); |
115 | } | 125 | } |
116 | 126 | ||
117 | if (Util.FireAndForgetMethod == FireAndForgetMethod.SmartThreadPool) | 127 | if (Util.FireAndForgetMethod == FireAndForgetMethod.SmartThreadPool) |
@@ -835,7 +845,22 @@ namespace OpenSim | |||
835 | 845 | ||
836 | string regionName = (m_sceneManager.CurrentScene == null ? "root" : m_sceneManager.CurrentScene.RegionInfo.RegionName); | 846 | string regionName = (m_sceneManager.CurrentScene == null ? "root" : m_sceneManager.CurrentScene.RegionInfo.RegionName); |
837 | MainConsole.Instance.Output(String.Format("Currently selected region is {0}", regionName)); | 847 | MainConsole.Instance.Output(String.Format("Currently selected region is {0}", regionName)); |
838 | m_console.DefaultPrompt = String.Format("{0} ({1}) ", m_custom_prompt, regionName); | 848 | |
849 | // m_log.DebugFormat("Original prompt is {0}", m_consolePrompt); | ||
850 | string prompt = m_consolePrompt; | ||
851 | |||
852 | // Replace "\R" with the region name | ||
853 | // Replace "\\" with "\" | ||
854 | prompt = m_consolePromptRegex.Replace(prompt, m => | ||
855 | { | ||
856 | // m_log.DebugFormat("Matched {0}", m.Groups[2].Value); | ||
857 | if (m.Groups[2].Value == "R") | ||
858 | return m.Groups[1].Value + regionName; | ||
859 | else | ||
860 | return m.Groups[0].Value; | ||
861 | }); | ||
862 | |||
863 | m_console.DefaultPrompt = prompt; | ||
839 | m_console.ConsoleScene = m_sceneManager.CurrentScene; | 864 | m_console.ConsoleScene = m_sceneManager.CurrentScene; |
840 | } | 865 | } |
841 | 866 | ||
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index c5205db..253b24d 100755 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example | |||
@@ -36,6 +36,14 @@ | |||
36 | 36 | ||
37 | 37 | ||
38 | [Startup] | 38 | [Startup] |
39 | ;# {ConsolePrompt} {} {ConsolePrompt} {} "Region (\R) " | ||
40 | ;; Console prompt | ||
41 | ;; Certain special characters can be used to customize the prompt | ||
42 | ;; Currently, these are | ||
43 | ;; \R - substitute region name | ||
44 | ;; \\ - substitute \ | ||
45 | ; ConsolePrompt = "Region (\R) " | ||
46 | |||
39 | ;# {save_crashes} {} {Save crashes to disk?} {true false} false | 47 | ;# {save_crashes} {} {Save crashes to disk?} {true false} false |
40 | ;; Set this to true if you want to log crashes to disk | 48 | ;; Set this to true if you want to log crashes to disk |
41 | ;; this can be useful when submitting bug reports. | 49 | ;; this can be useful when submitting bug reports. |
@@ -230,12 +238,6 @@ | |||
230 | ;; by scripts have changed. | 238 | ;; by scripts have changed. |
231 | ; DeleteScriptsOnStartup = true | 239 | ; DeleteScriptsOnStartup = true |
232 | 240 | ||
233 | ;; Custom prompt | ||
234 | ;; This value replaces the word "Region" in console prompt | ||
235 | ;; (usualy "Region (regionName) # " | ||
236 | ;; Useful only if you have to monitor serveral servers | ||
237 | ; custom_prompt = "MyServer1" | ||
238 | |||
239 | [SMTP] | 241 | [SMTP] |
240 | ;; The SMTP server enabled the email module to send email to external | 242 | ;; The SMTP server enabled the email module to send email to external |
241 | ;; destinations. | 243 | ;; destinations. |
diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 7ea710e..2c5fbf5 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini | |||
@@ -3,6 +3,13 @@ | |||
3 | 3 | ||
4 | 4 | ||
5 | [Startup] | 5 | [Startup] |
6 | ; Console prompt | ||
7 | ; Certain special characters can be used to customize the prompt | ||
8 | ; Currently, these are | ||
9 | ; \R - substitute region name | ||
10 | ; \\ - substtitue \ | ||
11 | ConsolePrompt = "Region (\R) " | ||
12 | |||
6 | ; Set this to true if you want to log crashes to disk | 13 | ; Set this to true if you want to log crashes to disk |
7 | ; this can be useful when submitting bug reports. | 14 | ; this can be useful when submitting bug reports. |
8 | ; However, this will only log crashes within OpenSimulator that cause the entire program to exit | 15 | ; However, this will only log crashes within OpenSimulator that cause the entire program to exit |