internal static void CommandMenuInit() { PluginBase.SetCommand(0, "Merge Parameters in New Tab", mergeParamsInNewTab, new ShortcutKey(true, true, false, Keys.P)); PluginBase.SetCommand(1, "Remove whitespaces", removeWhitespaces, new ShortcutKey(true, true, false, Keys.K)); PluginBase.SetCommand(2, "Base64 --> Hex", base64toHex, new ShortcutKey(true, true, true, Keys.B)); PluginBase.SetCommand(2, "Hex --> Base64", hexToBase64, new ShortcutKey(true, true, true, Keys.H)); }
internal static void CommandMenuInit() { PluginBase.SetCommand(0, "&Copy selection or line", CopySelectionOrLine, new ShortcutKey(true, false, false, Keys.C)); PluginBase.SetCommand(0, "C&ut selection or line", CutSelectionOrLine, new ShortcutKey(true, false, false, Keys.X)); PluginBase.SetCommand(0, "&About " + PluginName, ShowAbout, new ShortcutKey(false, false, false, Keys.None)); }
/// <summary> /// Load the ini-file and initialize the menu items. The toolbar will be /// initialized later and will use the commands used in the menu added here /// to get the command identifiers for the toolbar buttons. /// </summary> internal static void CommandMenuInit() { int i = 0; var npp = new NotepadPPGateway(); iniDirectory = Path.Combine(npp.GetPluginConfigPath(), PluginName); _ = Directory.CreateDirectory(iniDirectory); iniFilePath = Path.Combine(iniDirectory, IniFileName); LoadConfig(); // TODO: move the menu initialization to the LoadConfig method. var ini = new IniFile(iniFilePath); var actions = new Actions(ini); foreach (string key in actions.iniKeys) { var methodInfo = typeof(Actions).GetMethod("ExecuteCommand" + i); if (methodInfo == null) { break; } PluginBase.SetCommand( i++, key, (NppFuncItemDelegate)Delegate.CreateDelegate( typeof(NppFuncItemDelegate), actions, methodInfo.Name)); } PluginBase.SetCommand( i++, "Replace Tag", ReplaceTag, new ShortcutKey(false, true, false, Keys.Enter)); PluginBase.SetCommand(0, "", null); PluginBase.SetCommand(i++, "Edit Config", EditConfig); PluginBase.SetCommand(i++, "Load Config", LoadConfig); PluginBase.SetCommand(i++, "About...", About); }
internal static void CommandMenuInit() { Config.InitConfig(); PluginBase.SetCommand(0, "Change settings...", settingsDialog); idMyDlg = 1; PluginBase.SetCommand(1, "Load script", LoadScript, new ShortcutKey(false, true, false, Keys.L)); PluginBase.SetCommand(2, "Custom command", CustomCommand, new ShortcutKey(false, true, false, Keys.G)); }
private static void PopulateMenuSnippetsCommands() { foreach (ISnippet snippet in Snippets) { PluginBase.SetCommand(commandIndexCounter++, snippet.GetCommandName(), snippet.InsertSnippet, new ShortcutKey(false, false, false, Keys.None)); } }
internal static void CommandMenuInit() { /* Removed ini file retrieval from here, it was crashing NPP at startup when * not running as local admin. Have not investigated reason for this, but * ini retrieval needs to have exception handling, and also does not need to * happen unless/until this plugin gets activated. */ PluginBase.SetCommand(0, "Create archive", myMenuFunction, new ShortcutKey(false, false, false, Keys.None)); }
internal static void CommandMenuInit() { StringBuilder sbIniFilePath = new StringBuilder(Win32.MAX_PATH); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_GETPLUGINSCONFIGDIR, Win32.MAX_PATH, sbIniFilePath); PluginBase.SetCommand(0, "Rebase MoveLineUp", MoveLineUp, new ShortcutKey(true, false, false, Keys.Up)); PluginBase.SetCommand(1, "Rebase MoveLineDown", MoveLineDown, new ShortcutKey(true, false, false, Keys.Down)); PluginBase.SetCommand(2, "About RebaseAssister", ShowAbout, new ShortcutKey(false, false, false, Keys.None)); }
internal static void CommandMenuInit() { StringBuilder sbIniFilePath = new StringBuilder(Win32.MAX_PATH); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_GETPLUGINSCONFIGDIR, Win32.MAX_PATH, sbIniFilePath); iniFilePath = sbIniFilePath.ToString(); if (!Directory.Exists(iniFilePath)) { Directory.CreateDirectory(iniFilePath); } String settingsFilePath = Path.Combine(iniFilePath, PluginName + ".ini"); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_GETNPPDIRECTORY, Win32.MAX_PATH, sbIniFilePath); iniFilePath = sbIniFilePath.ToString(); String languageFilePath = Path.Combine(iniFilePath, @"plugins\" + PluginName + @"\" + PluginName + "_Lang.ini"); pluginSettings = new Settings(settingsFilePath); pluginSettings.load(); pluginLanguage = new ClassLanguage(languageFilePath); cADdyPoints = new ClassCADdyPunkte(ref pluginLanguage); cADdyMessdaten = new ClassCADdyMessdaten(ref pluginLanguage); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord, pluginLanguage.getLanguageText("Menue_Coord"), dummy); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord_FormCADdy, pluginLanguage.getLanguageText("Menue_Coord_FormCADdy"), formatCADdyKoord, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord_FormExcel, pluginLanguage.getLanguageText("Menue_Coord_FormExcel"), formatExcelKoord, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord_Sort, pluginLanguage.getLanguageText("Menue_Coord_Sort"), dummy); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord_SortCol1, pluginLanguage.getLanguageText("Menue_Coord_SortCol1"), sortByNumber, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord_SortCol2, pluginLanguage.getLanguageText("Menue_Coord_SortCol2"), sortByEast, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord_SortCol3, pluginLanguage.getLanguageText("Menue_Coord_SortCol3"), sortByNorth, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord_SortCol4, pluginLanguage.getLanguageText("Menue_Coord_SortCol4"), sortByElev, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord_SortCol5, pluginLanguage.getLanguageText("Menue_Coord_SortCol5"), sortByCode, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord_Rotation, pluginLanguage.getLanguageText("Menue_Coord_Rotation"), rotateCoordDialog, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord_Translation, pluginLanguage.getLanguageText("Menue_Coord_Translation"), translateCoordDialog, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord_Transformation, pluginLanguage.getLanguageText("Menue_Coord_Transformation"), transformationCoordDialog, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord_Polar, pluginLanguage.getLanguageText("Menue_Coord_Polar"), polarCoordDialog, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Coord_Compare, pluginLanguage.getLanguageText("Menue_Coord_Compare"), compareCoordDialog, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Dummy_1, "----", null); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Measure, pluginLanguage.getLanguageText("Menue_Measure"), dummy); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Measure_FormCADdy, pluginLanguage.getLanguageText("Menue_Measure_FormCADdy"), formatCADdyMessaten, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Measure_FormExcel, pluginLanguage.getLanguageText("Menue_Measure_FormExcel"), formatExcelMessaten, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Measure_FormCAPLAN, pluginLanguage.getLanguageText("Menue_Measure_FormCAPLAN"), formatCAPLANMessaten, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Measure_SetID, pluginLanguage.getLanguageText("Menue_Measure_SetID"), changeIDDialog); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Dummy_2, "----", null); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_MeasCode, pluginLanguage.getLanguageText("Menue_MeasCode"), dummy); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_ChangeCode, pluginLanguage.getLanguageText("Menue_ChangeCode"), changeCodeDialog); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Dummy_3, "----", null); PluginBase.SetCommand((int)CADdyToolsMenuId.Menue_Settings, pluginLanguage.getLanguageText("Menue_Settings"), settingsDialog); PluginBase.SetCommand((int)CADdyToolsMenuId.About, "About ...", aboutDialog); }
internal static void CommandMenuInit() { StringBuilder sbIniFilePath = new StringBuilder(Win32.MAX_PATH); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_GETPLUGINSCONFIGDIR, Win32.MAX_PATH, sbIniFilePath); iniFilePath = sbIniFilePath.ToString(); if (!Directory.Exists(iniFilePath)) { Directory.CreateDirectory(iniFilePath); } iniFilePath = Path.Combine(iniFilePath, PluginName + ".ini"); someSetting = (Win32.GetPrivateProfileInt("SomeSection", "SomeKey", 0, iniFilePath) != 0); PluginBase.SetCommand(0, "Format Text", FormatText, new ShortcutKey(true, true, false, Keys.P)); }
/// <summary> /// /// </summary> internal static void CommandMenuInit() { BootStrapper.RegisterComponents(); BootStrapper.RegisterCommandHandlers(); var container = ContainerDelivery.GetContainer(); pluginFormProvider = container.Resolve <IPluginFormProvider>(); commandBus = container.Resolve <ICommandBus>(); documentController = container.Resolve <IDocumentsController>(); PluginBase.SetCommand(0, "Object explorer", ToggleObjectExplorer); PluginBase.SetCommand(1, "Output", ToggleOutput); PluginBase.SetCommand(2, "Execute", Execute); }
internal static void CommandMenuInit() { StringBuilder sbIniFilePath = new StringBuilder(Win32.MAX_PATH); Win32.SendMessage(PluginBase.nppData._nppHandle, NppMsg.NPPM_GETPLUGINSCONFIGDIR, Win32.MAX_PATH, sbIniFilePath); iniFilePath = sbIniFilePath.ToString(); if (!Directory.Exists(iniFilePath)) { Directory.CreateDirectory(iniFilePath); } iniFilePath = Path.Combine(iniFilePath, PluginName + ".ini"); someSetting = (Win32.GetPrivateProfileInt("SomeSection", "SomeKey", 0, iniFilePath) != 0); PluginBase.SetCommand(0, "MyMenuCommand", myMenuFunction, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand(1, "MyDockableDialog", myDockableDialog); idMyDlg = 1; }
internal static void CommandMenuInit() { StringBuilder sbIniFilePath = new StringBuilder(Win32.MAX_PATH); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_GETPLUGINSCONFIGDIR, Win32.MAX_PATH, sbIniFilePath); iniFilePath = sbIniFilePath.ToString(); if (!Directory.Exists(iniFilePath)) { Directory.CreateDirectory(iniFilePath); } iniFilePath = Path.Combine(iniFilePath, PluginName + ".ini"); someSetting = (Win32.GetPrivateProfileInt("SomeSection", "SomeKey", 0, iniFilePath) != 0); PluginBase.SetCommand(0, "Encode", base64Encode); PluginBase.SetCommand(1, "Decode", base64Decode); idMyDlg = 1; }
internal static void CommandMenuInit() { StringBuilder sbIniFilePath = new StringBuilder(Win32.MAX_PATH); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_GETPLUGINSCONFIGDIR, Win32.MAX_PATH, sbIniFilePath); iniFilePath = sbIniFilePath.ToString(); if (!Directory.Exists(iniFilePath)) { Directory.CreateDirectory(iniFilePath); } iniFilePath = Path.Combine(iniFilePath, PluginName + ".ini"); someSetting = (Win32.GetPrivateProfileInt("SomeSection", "SomeKey", 0, iniFilePath) != 0); // Here we build the menu of our plugin PluginBase.SetCommand(menuId_Format, "Format", FormatMessages, new ShortcutKey(true, false, false, Keys.F12)); PluginBase.SetCommand(menuId_MenuSeparator, "-", null); PluginBase.SetCommand(menuId_ShowAboutWindow, "About", ShowAboutWindow); }
internal static void CommandMenuInit() { StringBuilder sbIniFilePath = new StringBuilder(Win32.MAX_PATH); Win32.SendMessage(PluginBase.nppData._nppHandle, NppMsg.NPPM_GETPLUGINSCONFIGDIR, Win32.MAX_PATH, sbIniFilePath); iniFilePath = sbIniFilePath.ToString(); if (!Directory.Exists(iniFilePath)) { Directory.CreateDirectory(iniFilePath); } iniFilePath = Path.Combine(iniFilePath, PluginName + ".ini"); someSetting = (Win32.GetPrivateProfileInt("SomeSection", "SomeKey", 0, iniFilePath) != 0); PluginBase.SetCommand(0, "Capitalize Selected Title", CapitalizeTitle, new ShortcutKey(true, true, false, Keys.U)); PluginBase.SetCommand(1, "Capitalize All Markdown Titles", CapitalizeMDTitles); PluginBase.SetCommand(2, "Capitalize First Word of All Sentences", CapSentence); PluginBase.SetCommand(3, "CamelCase Last Word Typed", CamelCaseLastWord, new ShortcutKey(false, true, true, Keys.U)); PluginBase.SetCommand(4, "Plugin Info", FirstUpperInfo); }
internal static void CommandMenuInit() { StringBuilder sbIniFilePath = new StringBuilder(Win32.MAX_PATH); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_GETPLUGINSCONFIGDIR, Win32.MAX_PATH, sbIniFilePath); iniFilePath = sbIniFilePath.ToString(); if (!Directory.Exists(iniFilePath)) { Directory.CreateDirectory(iniFilePath); } iniFilePath = Path.Combine(iniFilePath, PluginName + ".ini"); someSetting = (Win32.GetPrivateProfileInt("SomeSection", "SomeKey", 0, iniFilePath) != 0); PluginBase.SetCommand(0, "Generate Table", myMenuFunction, new ShortcutKey(true, false, true, Keys.C)); PluginBase.SetCommand(0, "Generate Diagram to Clipoard", generateDiagram); PluginBase.SetCommand(1, "Save DrawIO as File", saveAsDrawIO); PluginBase.SetCommand(2, "Copy as Image", copyAsImage, new ShortcutKey(true, true, false, Keys.C)); idMyDlg = 0; }
internal static void CommandMenuInit() { StringBuilder sbIniFilePath = new StringBuilder(Win32.MAX_PATH); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_GETPLUGINSCONFIGDIR, Win32.MAX_PATH, sbIniFilePath); iniFilePath = sbIniFilePath.ToString(); if (!Directory.Exists(iniFilePath)) { Directory.CreateDirectory(iniFilePath); } iniFilePath = Path.Combine(iniFilePath, PluginName + ".ini"); someSetting = (Win32.GetPrivateProfileInt("SomeSection", "SomeKey", 0, iniFilePath) != 0); PluginBase.SetCommand(0, "MyMenuCommand", myMenuFunction, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand(1, "MyDockableDialog", myDockableDialog); idMyDlg = 1; PluginBase.SetCommand(2, "GoToDefinition", goToDefinition, new ShortcutKey(true, false, false, Keys.F12)); PluginBase.SetCommand(3, "PrintDebugLine", printDebugLine, new ShortcutKey(false, true, false, Keys.F12)); PluginBase.SetCommand(4, "Idk", idk, new ShortcutKey(true, true, true, Keys.F12)); PluginBase.SetCommand(4, "CloseOpenForms", closeOpenForms, new ShortcutKey(false, false, false, Keys.Escape)); }
internal static void CommandMenuInit() { StringBuilder sbIniFilePath = new StringBuilder(Win32.MAX_PATH); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_GETPLUGINSCONFIGDIR, Win32.MAX_PATH, sbIniFilePath); iniFilePath = sbIniFilePath.ToString(); if (!Directory.Exists(iniFilePath)) { Directory.CreateDirectory(iniFilePath); } iniFilePath = Path.Combine(iniFilePath, PluginName + ".ini"); someSetting = (Win32.GetPrivateProfileInt("SomeSection", "SomeKey", 0, iniFilePath) != 0); PluginBase.SetCommand(0, "Commit Code", pmlCommit, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand(1, "Available Versions", availableVersions); PluginBase.SetCommand(2, "Revert to This", revertToOldVersion); //PluginBase.SetCommand(3, "Select Language", languageSetup); //Implement later idMyDlg = 1; //PluginBase.SetCommand(2, "Test", availableVersions); idMyDlg = 1; }
internal static void CommandMenuInit() { StringBuilder sbIniFilePath = new StringBuilder(Win32.MAX_PATH); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_GETPLUGINSCONFIGDIR, Win32.MAX_PATH, sbIniFilePath); iniFilePath = sbIniFilePath.ToString(); if (!Directory.Exists(iniFilePath)) { Directory.CreateDirectory(iniFilePath); } IniPath = iniFilePath; iniFilePath = Path.Combine(iniFilePath, PluginName + ".ini"); Settings.OutputPanel.SetDefaultBGColor(Win32.GetPrivateProfileInt("OutputPanel", "BackgroundColor", Color.LightGray.ToArgb(), iniFilePath)); Settings.OutputPanel.SetDefaultTextColor(Win32.GetPrivateProfileInt("OutputPanel", "DefaultTextColor", Color.Black.ToArgb(), iniFilePath)); Settings.OutputPanel.Bold = (Win32.GetPrivateProfileInt("OutputPanel", "BoldStyle", 0, iniFilePath) != 0); Settings.OutputPanel.Italic = (Win32.GetPrivateProfileInt("OutputPanel", "ItalicStyle", 0, iniFilePath) != 0); Settings.OutputPanel.FontSize = (Win32.GetPrivateProfileInt("OutputPanel", "FontSize", 12, iniFilePath)); StringBuilder fontNameBuilder = new StringBuilder(32767); Win32.GetPrivateProfileString("OutputPanel", "FontName", "Consolas", fontNameBuilder, 32767, iniFilePath); Settings.OutputPanel.FontName = fontNameBuilder.ToString(); StringBuilder colorOverrides = new StringBuilder(32767); string coloroverridedefault = "Black,LightGray;Blue,Blue;Cyan,Cyan;DarkBlue,DarkBlue;DarkCyan,DarkCyan;DarkGray,DarkGray;DarkGreen,DarkGreen;" + "DarkMagenta,DarkMagenta;DarkRed,DarkRed;DarkYellow,YellowGreen;Green,Green;Magenta,Magenta;Red,Red;White,White;Yellow,Yellow;"; Win32.GetPrivateProfileString("OutputPanel", "ColorOverrides", coloroverridedefault, colorOverrides, 32767, iniFilePath); Settings.OutputPanel.ColorOverrides = colorOverrides.ToString(); StringBuilder llStrBuilder = new StringBuilder(32767); Win32.GetPrivateProfileString("OutputPanel", "LogLevel", "warn", llStrBuilder, 32767, iniFilePath); Settings.OutputPanel.LogLevel = llStrBuilder.ToString(); PluginBase.SetCommand(0, "Run/Stop Script", RunStopTS, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand(1, "Output Panel", OutputDockableDialog); outputDialogId = 1; PluginBase.SetCommand(2, "---", null); funcTipsDialogId = 2;//function tips not implemented yet PluginBase.SetCommand(3, "---", null); PluginBase.SetCommand(4, "Settings", SettingsDialog); settingsDialogId = 4; }
internal static void CommandMenuInit() { InitPluginIniParameters(); PluginBase.SetCommand(commandIndexCounter, "Show vertical lines", ShowMultipleVerticalLines, new ShortcutKey(false, false, false, Keys.None), ShowVerticalLines); ToggleVerticalLinesCommandId = commandIndexCounter++; PluginBase.SetCommand(commandIndexCounter, "Add vertical line...", AddVerticalLine, new ShortcutKey(false, false, false, Keys.None)); AddVerticalLineCommandId = commandIndexCounter++; PluginBase.SetCommand(commandIndexCounter, "Clear all vertical lines", ClearAllVerticalLines, new ShortcutKey(false, false, false, Keys.None)); ClearVerticalLinesCommandId = commandIndexCounter++; PluginBase.SetCommand(commandIndexCounter++, "---", null); PluginBase.SetCommand(commandIndexCounter, "Source Navigation Panel", SourceNavigationDialog); SNDialogStruct.FormCommandId = commandIndexCounter++; PluginBase.SetCommand(commandIndexCounter++, "Go to SECTION/PERFORM", GotoSectionOrPerform, new ShortcutKey(false, false, false, Keys.F9)); PluginBase.SetCommand(commandIndexCounter++, "---", null); PluginBase.SetCommand(commandIndexCounter, "Toggle COBOL-like words", ToggleCobolLikeWords, new ShortcutKey(false, false, false, Keys.None)); ToggleCobolWordsCommandId = commandIndexCounter++; PluginBase.SetCommand(commandIndexCounter++, "---", null); PopulateMenuSnippetsCommands(); }
internal static void CommandMenuInit() { PluginBase.SetCommand(0, "Table Generator", myDockableDialog); idMyDlg = 0; }
internal static void CommandMenuInit() { PluginBase.SetCommand(0, "&Insert Guid", InsertGuid, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand(1, "&Insert GUID", InsertUpperCaseGuid, new ShortcutKey(false, false, false, Keys.None)); PluginBase.SetCommand(2, "&About GuidHelper", ShowAbout, new ShortcutKey(false, false, false, Keys.None)); }
private static void SetCommands() { PluginBase.SetCommand(0, "Format RTF", FormatRtf, new ShortcutKey(true, true, true, Keys.B)); }
public static void CommandMenuInit() { PluginBase.SetCommand(COMMAND_SORT, "Sort (case insensitive)", SortCaseInsensitive, new ShortcutKey(false, false, false, Keys.None)); }