<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. 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. I probably
would have tried Keith’s ActiPro had I known about it when I started writing the
python editor for Rhino.</DIV>
<DIV> </DIV>
<DIV>-Steve</DIV>
<DIV> </DIV>
<DIV style="FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: 12pt">Steve
Baer<BR>Robert McNeel &
Associates<BR>www.rhino3d.com<BR>python.rhino3d.com</DIV>
<DIV> </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> </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> </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> </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> </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> </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> </P>
<DIV>
<P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p></o:p></SPAN> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </P>
<P class=MsoNormal><SPAN lang=EN-AU><o:p></o:p></SPAN> </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>