1

I have a .NET application with commands in it which I'd like users to be able to extend by writing their own commands which will run in an AppDomain with limited permissions. I have a model class which I will be injecting into the environment they get to expose my app's functionality like calling file open "blah" for example as well as calling other commands within the application I'd like the users to have intellisense when defining their commands.

I'm exploring IronRuby, IronPython, Boo, M I'd like to use whichever language / language & libraries, or language / libraries / tooling gives me intellisense for the least amount of effort. Libraries or tools need to be able to be bundled and distributed (so no Visual Studio, for example)

I want the language to support the concept of variables, have string parsing, and arithmetic, so they could have a contrived command like:

open file c:\listOfFiles.text
read file
store the text from line 2 in a variable XXX
loop over the characters in XXX and print their ASCII values.
David Silva Smith
  • 11,498
  • 11
  • 67
  • 91
  • Possible duplicates: http://stackoverflow.com/questions/462311/scripting-language-for-embedding-into-c-net-applications, http://stackoverflow.com/questions/137933/what-is-the-best-scripting-language-to-embed-in-a-c-desktop-application, http://stackoverflow.com/questions/564357/scripting-language-in-a-sandbox-for-a-c-net-application – Cody Gray - on strike Dec 19 '10 at 14:42

2 Answers2

1

IntelliSense support is a feature of the text editor you use. There isn't anything in the .NET framework that would make it easier or harder to implement it. You'll need to focus on what kind of editor you want to have available on the target machine and what kind of languages it supports. Scintilla is a typical open source choice.

Hans Passant
  • 922,412
  • 146
  • 1,693
  • 2,536
  • I'd like them to use an editor I provide in the installation package. Ideally some library which is a .NET assembly with intellisense for whatever scripting language I use and that I can add to the intellisense. Maybe like Mono's C# compiler as a service. – David Silva Smith Dec 19 '10 at 15:29
  • As I said, it is a feature of the editor. It has nothing to do with the .NET framework. Some editors allow add-ons to support auto-completion for languages that they don't support out-of-the-box. You are not making this easy by omitting to mention what editor you intend to use. – Hans Passant Dec 19 '10 at 15:33
  • Sorry for the confusion Hans. I want the editor to be bundled in my application preferably a WPF Textbox http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.aspx interacting with an assembly providing intellisense for the scripting language. I think I saw this in PDC demos of the M language a year or two ago. – David Silva Smith Dec 20 '10 at 18:30
0

Actipro provides this for C# http://www.actiprosoftware.com/products/dotnet/windowsforms/syntaxeditor/addons/dotnet/default.aspx with a free version.

David Silva Smith
  • 11,498
  • 11
  • 67
  • 91