void AddFilePathVars(IVariableValueSetter var_value_setter, ref string path, bool user_forward_slashes, string var_name_prefix) { Util.FilenameParts parts = new Util.FilenameParts(); Util.ProcessFilePath(path, user_forward_slashes, ref parts); var_value_setter.SetVariable(var_name_prefix + "path", parts.path); var_value_setter.SetVariable(var_name_prefix + "dir", parts.dir); var_value_setter.SetVariable(var_name_prefix + "file", parts.file); var_value_setter.SetVariable(var_name_prefix + "filename", parts.filename); var_value_setter.SetVariable(var_name_prefix + "ext", parts.ext); path = parts.path; }
void SetVariableValuesFromIDEState(IVariableValueSetter var_value_setter, VSMultiInstanceInfo multi_instance_info) { VarValues var_values = new VarValues(); try { GetVariableValues(var_values); } catch (System.Exception ex) { var_values.exceptions.Add(ex); } if (var_values.exceptions.Count > 0 && m_Package.IsDebugEnabled()) { DebugOutput.WriteLine("----- Exceptions: GetVariableValues:"); foreach (Exception ex in var_values.exceptions) DebugOutput.WriteLine("EX: " + ex.ToString()); } AddFilePathVars(var_value_setter, ref var_values.sln_path, SlashPathSeparator, "sln_"); var_value_setter.SetVariable("sln_open", var_values.sln_path.Length > 0); var_value_setter.SetVariable("sln_dirty", var_values.sln_dirty ? "*" : ""); AddFilePathVars(var_value_setter, ref var_values.doc_path, SlashPathSeparator, "doc_"); var_value_setter.SetVariable("doc_open", var_values.doc_path.Length > 0); var_value_setter.SetVariable("doc_dirty", var_values.doc_dirty ? "*" : ""); var_value_setter.SetVariable("any_doc_dirty", var_values.any_doc_dirty ? "*" : ""); AddFilePathVars(var_value_setter, ref var_values.startup_proj_path, SlashPathSeparator, "startup_proj_"); var_value_setter.SetVariable("startup_proj", var_values.startup_proj); var_value_setter.SetVariable("startup_proj_dirty", var_values.startup_proj_dirty ? "*" : ""); var_value_setter.SetVariable("any_proj_dirty", var_values.any_proj_dirty ? "*" : ""); var_value_setter.SetVariable("anything_dirty", (var_values.sln_dirty || var_values.any_proj_dirty || var_values.any_doc_dirty) ? "*" : ""); var_value_setter.SetVariable("wnd_minimized", var_values.wnd_minimized); var_value_setter.SetVariable("wnd_foreground", var_values.wnd_foreground); var_value_setter.SetVariable("app_active", var_values.app_active); bool debugging = false; string debug_mode = ""; switch (var_values.dbgmode) { case DBGMODE.DBGMODE_Run: debugging = true; debug_mode = "running"; break; case DBGMODE.DBGMODE_Break: debugging = true; debug_mode = "debugging"; break; } var_value_setter.SetVariable("debugging", debugging); var_value_setter.SetVariable("debug_mode", debug_mode); var_value_setter.SetVariable("configuration", var_values.configuration); var_value_setter.SetVariable("platform", var_values.platform); var_value_setter.SetVariable("orig_title", var_values.orig_title); var_value_setter.SetVariable("multi_instances", multi_instance_info.multiple_instances); var_value_setter.SetVariable("multi_instances_same_ver", multi_instance_info.multiple_instances_same_version); var_value_setter.SetVariable("active_wnd_title", var_values.active_wnd_title); var_value_setter.SetVariable("active_wnd_class", var_values.active_wnd_class); var_value_setter.SetVariable("cmdline", var_values.cmdline); }
void SetVariableValuesFromIDEState(IVariableValueSetter var_value_setter, VSMultiInstanceInfo multi_instance_info) { VarValues var_values = new VarValues(); try { GetVariableValues(var_values); } catch (System.Exception ex) { var_values.exceptions.Add(ex); } if (var_values.exceptions.Count > 0 && m_Package.IsDebugEnabled()) { DebugOutput.WriteLine("----- Exceptions: GetVariableValues:"); foreach (Exception ex in var_values.exceptions) { DebugOutput.WriteLine("EX: " + ex.ToString()); } } AddFilePathVars(var_value_setter, ref var_values.sln_path, SlashPathSeparator, "sln_"); var_value_setter.SetVariable("sln_open", var_values.sln_path.Length > 0); var_value_setter.SetVariable("sln_dirty", var_values.sln_dirty ? "*" : ""); AddFilePathVars(var_value_setter, ref var_values.doc_path, SlashPathSeparator, "doc_"); var_value_setter.SetVariable("doc_open", var_values.doc_path.Length > 0); var_value_setter.SetVariable("doc_dirty", var_values.doc_dirty ? "*" : ""); var_value_setter.SetVariable("any_doc_dirty", var_values.any_doc_dirty ? "*" : ""); AddFilePathVars(var_value_setter, ref var_values.startup_proj_path, SlashPathSeparator, "startup_proj_"); var_value_setter.SetVariable("startup_proj", var_values.startup_proj); var_value_setter.SetVariable("startup_proj_dirty", var_values.startup_proj_dirty ? "*" : ""); var_value_setter.SetVariable("any_proj_dirty", var_values.any_proj_dirty ? "*" : ""); var_value_setter.SetVariable("anything_dirty", (var_values.sln_dirty || var_values.any_proj_dirty || var_values.any_doc_dirty) ? "*" : ""); var_value_setter.SetVariable("wnd_minimized", var_values.wnd_minimized); var_value_setter.SetVariable("wnd_foreground", var_values.wnd_foreground); var_value_setter.SetVariable("app_active", var_values.app_active); bool debugging = false; string debug_mode = ""; switch (var_values.dbgmode) { case DBGMODE.DBGMODE_Run: debugging = true; debug_mode = "running"; break; case DBGMODE.DBGMODE_Break: debugging = true; debug_mode = "debugging"; break; } var_value_setter.SetVariable("debugging", debugging); var_value_setter.SetVariable("debug_mode", debug_mode); var_value_setter.SetVariable("configuration", var_values.configuration); var_value_setter.SetVariable("platform", var_values.platform); var_value_setter.SetVariable("orig_title", var_values.orig_title); var_value_setter.SetVariable("multi_instances", multi_instance_info.multiple_instances); var_value_setter.SetVariable("multi_instances_same_ver", multi_instance_info.multiple_instances_same_version); var_value_setter.SetVariable("active_wnd_title", var_values.active_wnd_title); var_value_setter.SetVariable("active_wnd_class", var_values.active_wnd_class); var_value_setter.SetVariable("cmdline", var_values.cmdline); }