# Any C#/Typescript frameworks for language editors

**URL:** https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704
**Category:** Questions&Answers
**Created:** [June 10, 2020, 10:36am UTC](https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704 "2020-06-10T10:36:54Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![Lotes](https://d.strumenta.community/user_avatar/d.strumenta.community/lotes/32/270_2.png) [@Lotes](https://d.strumenta.community/u/Lotes)
#### Post date: [June 10, 2020, 10:36am UTC](https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704/1 "2020-06-10T10:36:54Z")

</div>

Howdy!

Does someone know a framework for creating language editors in C#/Typescript? I need to create one at work.  
I could also create an editor based on ANTLR but I am surely not the first guy with this problem.  
“Intellisense”, Codecompletion, typechecks…

Are there any?

Greetings!

---

<div class="post-metadata">

### Author: ![cristian.vasile](https://d.strumenta.community/letter_avatar_proxy/v4/letter/c/958977/32.png) [@cristian.vasile](https://d.strumenta.community/u/cristian.vasile)
#### Post date: [June 10, 2020, 11:07am UTC](https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704/2 "2020-06-10T11:07:42Z")

</div>

use microsoft vs code [https://code.visualstudio.com](https://code.visualstudio.com/) and tabnine [https://www.tabnine.com/](https://www.tabnine.com/) for autocomplete and that is all.

---

<div class="post-metadata">

### Author: ![pjmolina](https://d.strumenta.community/user_avatar/d.strumenta.community/pjmolina/32/78_2.png) [@pjmolina](https://d.strumenta.community/u/pjmolina)
#### Post date: [June 10, 2020, 2:45pm UTC](https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704/3 "2020-06-10T14:45:03Z")

</div>

I created [ts-pegjs](https://github.com/metadevpro/ts-pegjs) as a plugin on top of [PEG.js](https://pegjs.org/). This gives you a PEG composable parser for your grammar in TypeScript.

Regards,  
Pedro J.

---

<div class="post-metadata">

### Author: ![alessio.stalla](https://d.strumenta.community/user_avatar/d.strumenta.community/alessio.stalla/32/361_2.png) [@alessio.stalla](https://d.strumenta.community/u/alessio.stalla)
#### Post date: [June 10, 2020, 4:10pm UTC](https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704/4 "2020-06-10T16:10:28Z")

</div>

We’ve used Microsoft Visual Studio Code with success. Extensions are written in TypeScript. A language server based on an ANTLR grammar can provide semantic checks, code completion, etc.  
We may write an article about it in the future, actually.

---

<div class="post-metadata">

### Author: ![Lotes](https://d.strumenta.community/user_avatar/d.strumenta.community/lotes/32/270_2.png) [@Lotes](https://d.strumenta.community/u/Lotes)
#### Post date: [June 10, 2020, 4:59pm UTC](https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704/5 "2020-06-10T16:59:59Z")

</div>

Thanks. I do not know exactly about the complexity of VSCode. It sounds a bit overkill, but I also think it is a good direction.  
My company uses a language to bind values from different data sources into template document. Think of “Dear {{UserProfile.DisplayName}}, …” at the beginning of a letter. The language is small. But if it develops good for the customer it becomes bigger.  
I will search for VSCode examples. Any links for that are welcome.

---

<div class="post-metadata">

### Author: ![jages](https://d.strumenta.community/letter_avatar_proxy/v4/letter/j/e9c0ed/32.png) [@jages](https://d.strumenta.community/u/jages)
#### Post date: [June 10, 2020, 11:25pm UTC](https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704/6 "2020-06-10T23:25:08Z")

</div>

This sounds a lot like a problem you could solve with Language Server Protocol - i know Microsoft is pretty big in supporting it in the past few years, so you might have success to look into specific example implementations from MS themselves.

---

<div class="post-metadata">

### Author: ![cristian.vasile](https://d.strumenta.community/letter_avatar_proxy/v4/letter/c/958977/32.png) [@cristian.vasile](https://d.strumenta.community/u/cristian.vasile)
#### Post date: [June 11, 2020, 10:05am UTC](https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704/7 "2020-06-11T10:05:59Z")

</div>

seems that on the shelf solution is one path to explore  
[https://www.windwardstudios.com](https://www.windwardstudios.com/)

---

<div class="post-metadata">

### Author: ![Lotes](https://d.strumenta.community/user_avatar/d.strumenta.community/lotes/32/270_2.png) [@Lotes](https://d.strumenta.community/u/Lotes)
#### Post date: [June 13, 2020, 10:49am UTC](https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704/8 "2020-06-13T10:49:00Z")

</div>

I had a little chat with my product owner. It should not appear like coding, it should be a point and click toolbox. Blockly or projectional editing in general comes into my mind.

---

<div class="post-metadata">

### Author: ![jos.warmer](https://d.strumenta.community/user_avatar/d.strumenta.community/jos.warmer/32/84_2.png) [@jos.warmer](https://d.strumenta.community/u/jos.warmer)
#### Post date: [June 13, 2020, 5:42pm UTC](https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704/9 "2020-06-13T17:42:51Z")

</div>

If you are looking for a projectional editor, you can take a look at ProjectIt ([www.projectit.org](http://www.projectit.org)). I give a demo next Thursday.

---

<div class="post-metadata">

### Author: ![Lotes](https://d.strumenta.community/user_avatar/d.strumenta.community/lotes/32/270_2.png) [@Lotes](https://d.strumenta.community/u/Lotes)
#### Post date: [June 14, 2020, 6:33am UTC](https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704/10 "2020-06-14T06:33:27Z")

</div>

I hope I can find time for that meeting…

---

<div class="post-metadata">

### Author: ![thad](https://d.strumenta.community/user_avatar/d.strumenta.community/thad/32/240_2.png) [@thad](https://d.strumenta.community/u/thad)
#### Post date: [August 7, 2022, 3:59pm UTC](https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704/11 "2022-08-07T15:59:29Z")

</div>

I suspect this answer may not be useful to you at this point, but I would recommend the FastColoredTextBox component in combination with an ANTLR parser if you want something free. If you want a paid component, AlterNET makes an editor component that supports C# out of the box and perhaps Typescript (I’m not sure). There is a licensing option for the source as well. I use The FastColoredTextBox control in my `Grun.Net` application for debugging C# ANTLR parser projects. It is a very solid free editor choice for embedding in projects.

---

<div class="post-metadata">

### Author: ![Lotes](https://d.strumenta.community/user_avatar/d.strumenta.community/lotes/32/270_2.png) [@Lotes](https://d.strumenta.community/u/Lotes)
#### Post date: [August 7, 2022, 6:01pm UTC](https://d.strumenta.community/t/any-c-typescript-frameworks-for-language-editors/704/12 "2022-08-07T18:01:02Z")

</div>

Meanwhile I changed my job, they decided to use a point and click experience for the user.

But Langium is a good Typescript tool for creating languages with all the nice LSP features it helps to implement.
