From 350716d30840dd6bccfbb229b496746d86eb1ba7 2008-06-07 06:52:55 From: vds Date: 2008-06-07 06:52:55 Subject: [PATCH] synchronize with editor patch --- diff --git a/IPython/Extensions/ip_synchronize_with_emacs.py b/IPython/Extensions/ip_synchronize_with_emacs.py new file mode 100644 index 0000000..86b80e6 --- /dev/null +++ b/IPython/Extensions/ip_synchronize_with_emacs.py @@ -0,0 +1,33 @@ +import IPython.ipapi +ip = IPython.ipapi.get() + +import win32api +import win32ui +import win32console +import os + +path = r"C:\Program Files\emacs\bin" + +def synchronize_with_editor(ip, filename, lineno, columnno): + if not os.path.isabs(filename): + filename = os.path.join(os.getcwd(), filename) + if not os.path.isfile(filename): + print "couldn't find file:", file + return + + h = win32console.GetConsoleWindow() + w = win32ui.CreateWindowFromHandle(h) + w.SetWindowText("%s %d" % (filename, lineno)) + + command = r'%s -n +%d:%d "%s" 2>nul' % (win32api.GetShortPathName(os.path.join(path, "emacsclient.exe")), lineno, columnno, filename) + r = os.system(command) + if r != 0: + command = r'start %s --quick -f server-start +%d:%d "%s"' % (win32api.GetShortPathName(os.path.join(path, "runemacs.exe")), lineno, columnno, filename) + os.system(command) + win32api.Sleep(500) + else: + win32api.Sleep(100) + + w.SetForegroundWindow() + +ip.set_hook("synchronize_with_editor", synchronize_with_editor) diff --git a/IPython/Extensions/ip_synchronize_with_gvim.py b/IPython/Extensions/ip_synchronize_with_gvim.py new file mode 100644 index 0000000..20f2978 --- /dev/null +++ b/IPython/Extensions/ip_synchronize_with_gvim.py @@ -0,0 +1,28 @@ +import IPython.ipapi +ip = IPython.ipapi.get() + +import win32api +import win32ui +import win32console +import os + +path = r"C:\Program Files\vim\vim71" + +def synchronize_with_editor(ip, filename, lineno, columnno): + if not os.path.isabs(filename): + filename = os.path.join(os.getcwd(), filename) + if not os.path.isfile(filename): + print "couldn't find file:", file + return + + h = win32console.GetConsoleWindow() + w = win32ui.CreateWindowFromHandle(h) + w.SetWindowText("%s %d" % (filename, lineno)) + + command = r'start %s --remote-silent +%d "%s"' % (win32api.GetShortPathName(os.path.join(path, "gvim.exe")), lineno, filename) + os.system(command) + + win32api.Sleep(500) + w.SetForegroundWindow() + +ip.set_hook("synchronize_with_editor", synchronize_with_editor) diff --git a/IPython/Extensions/ip_synchronize_with_nppp.py b/IPython/Extensions/ip_synchronize_with_nppp.py new file mode 100644 index 0000000..2c76369 --- /dev/null +++ b/IPython/Extensions/ip_synchronize_with_nppp.py @@ -0,0 +1,28 @@ +import IPython.ipapi +ip = IPython.ipapi.get() + +import win32api +import win32ui +import win32console +import os + +path = r"C:\Program Files\Notepad++" + +def synchronize_with_editor(ip, filename, lineno, columnno): + if not os.path.isabs(filename): + filename = os.path.join(os.getcwd(), filename) + if not os.path.isfile(filename): + print "couldn't find file:", file + return + + h = win32console.GetConsoleWindow() + w = win32ui.CreateWindowFromHandle(h) + w.SetWindowText("%s %d" % (filename, lineno)) + + command = r'start %s "%s" -n%d' % (win32api.GetShortPathName(os.path.join(path, "notepad++.exe")), filename, lineno) + os.system(command) + + win32api.Sleep(100) + w.SetForegroundWindow() + +ip.set_hook("synchronize_with_editor", synchronize_with_editor) diff --git a/IPython/Extensions/ip_synchronize_with_pspad.py b/IPython/Extensions/ip_synchronize_with_pspad.py new file mode 100644 index 0000000..11b8691 --- /dev/null +++ b/IPython/Extensions/ip_synchronize_with_pspad.py @@ -0,0 +1,28 @@ +import IPython.ipapi +ip = IPython.ipapi.get() + +import win32api +import win32ui +import win32console +import os + +path = r"C:\Program Files\PSPad editor" + +def synchronize_with_editor(ip, filename, lineno, columnno): + if not os.path.isabs(filename): + filename = os.path.join(os.getcwd(), filename) + if not os.path.isfile(filename): + print "couldn't find file:", file + return + + h = win32console.GetConsoleWindow() + w = win32ui.CreateWindowFromHandle(h) + w.SetWindowText("%s %d" % (filename, lineno)) + + command = r'start %s "%s" -%d ' % (win32api.GetShortPathName(os.path.join(path, "pspad.exe")), filename, lineno) + os.system(command) + + win32api.Sleep(100) + w.SetForegroundWindow() + +ip.set_hook("synchronize_with_editor", synchronize_with_editor) diff --git a/IPython/Extensions/ip_synchronize_with_scite.py b/IPython/Extensions/ip_synchronize_with_scite.py new file mode 100644 index 0000000..6ca307b --- /dev/null +++ b/IPython/Extensions/ip_synchronize_with_scite.py @@ -0,0 +1,36 @@ +import IPython.ipapi +ip = IPython.ipapi.get() + +import win32api +import win32ui +import win32console +import os + +import scitedirector + +path = r"C:\Program Files\SciTE Source Code Editor" + +def synchronize_with_editor(ip, filename, lineno, columnno): + if not os.path.isabs(filename): + filename = os.path.join(os.getcwd(), filename) + if not os.path.isfile(filename): + print "couldn't find file:", file + return + + scites = scitedirector.findWindows() + if not scites: + h = win32console.GetConsoleWindow() + w = win32ui.CreateWindowFromHandle(h) + w.SetWindowText("%s %d" % (filename, lineno)) + + command = r'start %s "-open:%s" -goto:%d' % (win32api.GetShortPathName(os.path.join(path, "scite.exe")), filename.replace("\\", "/"), lineno) + os.system(command) + + win32api.Sleep(100) + w.SetForegroundWindow() + else: + scite = scites[0] + scitedirector.sendCommand(scite, 'open:%s' % filename.replace("\\", "/")) + scitedirector.sendCommand(scite, "goto:%d" % lineno) + +ip.set_hook("synchronize_with_editor", synchronize_with_editor) diff --git a/IPython/Extensions/ip_synchronize_with_ue.py b/IPython/Extensions/ip_synchronize_with_ue.py new file mode 100644 index 0000000..8bcea17 --- /dev/null +++ b/IPython/Extensions/ip_synchronize_with_ue.py @@ -0,0 +1,38 @@ +import IPython.ipapi +ip = IPython.ipapi.get() + +import win32api +import win32ui +import win32console +import dde +import os + +path = r"C:\Program Files\IDM Computer Solutions\UltraEdit-32" + +def synchronize_with_editor(ip, filename, lineno, columnno): + if not os.path.isabs(filename): + filename = os.path.join(os.getcwd(), filename) + if not os.path.isfile(filename): + print "couldn't find file:", file + return + + h = win32console.GetConsoleWindow() + w = win32ui.CreateWindowFromHandle(h) + w.SetWindowText("%s %d" % (filename, lineno)) + + server = dde.CreateServer() + server.Create("myddeserver") + conversation = dde.CreateConversation(server) + try: + conversation.ConnectTo("uedit32", "System") + conversation.Exec(r'[open("%s/%d"])' % (filename, lineno)) + win32api.Sleep(10) + except: + command = r'start %s "%s/%d"' % (win32api.GetShortPathName(os.path.join(path, "uedit32.exe")), filename, lineno) + os.system(command) + win32api.Sleep(2000) + + w.SetForegroundWindow() + server.Shutdown() + +ip.set_hook("synchronize_with_editor", synchronize_with_editor)