<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:m = 
"http://schemas.microsoft.com/office/2004/12/omml"><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=Generator content="Microsoft Word 14 (filtered medium)">
<STYLE><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
..MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></STYLE>
</HEAD>
<BODY dir=ltr lang=EN-US vLink=purple link=blue>
<DIV dir=ltr>
<DIV style="FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: 12pt">
<DIV>We use the code editor component that the SharpDevelop guys wrote.&nbsp; In 
general it works great, but there was plenty of work involved in getting it set 
up to work how you would expect for editing IronPython scripts.&nbsp; I probably 
would have tried Keith’s ActiPro had I known about it when I started writing the 
python editor for Rhino.</DIV>
<DIV>&nbsp;</DIV>
<DIV>-Steve</DIV>
<DIV>&nbsp;</DIV>
<DIV style="FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: 12pt">Steve 
Baer<BR>Robert McNeel &amp; 
Associates<BR>www.rhino3d.com<BR>python.rhino3d.com</DIV>
<DIV>&nbsp;</DIV>
<DIV 
style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none">
<DIV style="FONT: 10pt tahoma">
<DIV>&nbsp;</DIV>
<DIV style="BACKGROUND: #f5f5f5">
<DIV style="font-color: black"><B>From:</B> <A title=rome@Wintellect.com 
href="mailto:rome@Wintellect.com">Keith Rome</A> </DIV>
<DIV><B>Sent:</B> Monday, March 12, 2012 8:36 AM</DIV>
<DIV><B>To:</B> <A title=nicka@Vipac.com.au 
href="mailto:nicka@Vipac.com.au">Nick Aschberger</A> ; <A 
title=ironpython-users@python.org 
href="mailto:ironpython-users@python.org">ironpython-users@python.org</A> </DIV>
<DIV><B>Subject:</B> Re: [Ironpython-users] IronPython hosting - providingsyntax 
highlighting (and intellisense?!) to customers</DIV></DIV></DIV>
<DIV>&nbsp;</DIV></DIV>
<DIV 
style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none">
<DIV class=WordSection1>
<P class=MsoNormal><SPAN style="COLOR: #1f497d">At risk of sounding like an 
advertisement, I strongly recommend the ActiPro SyntaxEditor 
controls.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d">We have used the WPF and 
Silverlight versions with great success. It supports all of the features you 
mention (syntax highlighting, Intellisense, code completion scopes) and many 
more. They have a functional demo application with source code that exhibits all 
of those features.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d">Performance is great (be sure to 
enable ambient background parsing). We even have it wired up so that after 
parsing/lexing, we take the python source and run it through the IronPython 
compiler using a custom ErrorListener, which is used to collect compilation 
errors that are then fed into the ParseData output. And since we have a 
ParseErrorTagger and custom SquiggleTooltipProvider installed into the parser, 
we get those nice red squiggles directly under compiler errors in the source 
text itself, along with detailed tooltips.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d">Sorry if I get carried away, but 
it’s extremely cool stuff! Our python editing environment is very slick; while 
it does not quite have the features of Visual Studio’s editor, it comes really 
close (we even support breakpoints and stepping)… and it fully embeds in our WPF 
/ Silverlight products.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p></o:p></SPAN>&nbsp;</P>
<DIV>
<P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><B><SPAN style="COLOR: #1f497d; FONT-SIZE: 14pt">Keith 
Rome<o:p></o:p></SPAN></B></P>
<P class=MsoNormal><B><SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt">Senior 
Consultant and Architect<o:p></o:p></SPAN></B></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt">MCPD-EAD, MCSD, 
MCDBA, MCTS-WPF, MCTS-TFS, MCTS-WSS<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt">Wintellect | 
770.617.4016 | <A 
href="mailto:rome@wintellect.com">mailto:rome@wintellect.com</A><o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt"><A 
href="http://www.wintellect.com/">www.wintellect.com</A><o:p></o:p></SPAN></P></DIV>
<P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p></o:p></SPAN>&nbsp;</P>
<DIV>
<DIV 
style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<P class=MsoNormal><B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt">From:</SPAN></B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"> 
ironpython-users-bounces+rome=wintellect.com@python.org 
[mailto:ironpython-users-bounces+rome=wintellect.com@python.org] <B>On Behalf Of 
</B>Nick Aschberger<BR><B>Sent:</B> Monday, March 12, 2012 7:35 AM<BR><B>To:</B> 
ironpython-users@python.org<BR><B>Subject:</B> [Ironpython-users] IronPython 
hosting - providing syntax highlighting (and intellisense?!) to 
customers<o:p></o:p></SPAN></P></DIV></DIV>
<P class=MsoNormal><o:p></o:p>&nbsp;</P>
<P class=MsoNormal><SPAN lang=EN-AU>Hi All,<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-AU><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN lang=EN-AU>We are intending to use IronPython to 
provide a simple expression engine to our customers.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-AU>This will give them the ability to calculate 
some of their own results from data stored in the 
database.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-AU><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN lang=EN-AU>Being a software project, I say “simple 
expression” but I can easily see it migrating towards a “complex expression” 
when customers get more familiar with python.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-AU><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN lang=EN-AU>Now, I can just give them a text area to 
stick some text in, and maybe some tools to help build this text but… it seems 
like I should be able to do better than this, and it seems like something that 
others would have solved.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-AU><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN lang=EN-AU>I’d really like the UI that the customer 
uses to compose an expression to have python syntax highlighting to help 
them.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-AU>Furthermore, if we make .NET 
objects/functions available to the python script, it would be fantastic if the 
user had some kind of intellisense available to help them when interacting with 
the types we would make available to the scripts to use.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-AU><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN lang=EN-AU>Any advice, or experience with 
this?<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-AU><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN lang=EN-AU>Cheers<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-AU><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN lang=EN-AU>Nick Aschberger<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-AU><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN lang=EN-AU><o:p></o:p></SPAN>&nbsp;</P></DIV>
<P>
<HR>
_______________________________________________<BR>Ironpython-users mailing 
list<BR>Ironpython-users@python.org<BR>http://mail.python.org/mailman/listinfo/ironpython-users<BR></DIV></DIV></DIV></BODY></HTML>