summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/asymptote/GUI/xasyCodeEditor.py
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/asymptote/GUI/xasyCodeEditor.py')
-rwxr-xr-xMaster/texmf-dist/asymptote/GUI/xasyCodeEditor.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/Master/texmf-dist/asymptote/GUI/xasyCodeEditor.py b/Master/texmf-dist/asymptote/GUI/xasyCodeEditor.py
new file mode 100755
index 00000000000..93e06e447ee
--- /dev/null
+++ b/Master/texmf-dist/asymptote/GUI/xasyCodeEditor.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+###########################################################################
+#
+# xasyCodeEditor implements a simple text editor for Asymptote scripts in
+# xasy.
+#
+#
+# Author: Orest Shardt
+# Created: June 29, 2007
+#
+############################################################################
+
+from subprocess import call
+from tempfile import mkstemp
+from os import remove
+from os import fdopen
+from string import split
+import xasyOptions
+
+def getText(text=""):
+ """Launch the external editor"""
+ temp = mkstemp()
+ tempf = fdopen(temp[0],"r+w")
+ tempf.write(text)
+ tempf.flush()
+ try:
+ call(split(xasyOptions.options['externalEditor'])+[temp[1]])
+ except:
+ raise Exception('Error launching external editor.')
+ tempf.seek(0)
+ text = tempf.read()
+ remove(temp[1])
+ return text
+
+if __name__ == '__main__':
+ #run a test
+ print getText("Here is some text to edit")