Recommend solution and implement viewing and editing of DSL code

Please write fixed price you'd like to get for implementation.


Recommend solution and implement a demo for viewing and editing DSL code.

Format of DSL is relatively simple - it's plain text. Tabs give additional meaning to the code - they define "level" - number of tabs = level. Level determines relationships between the 2 rows, e.g., child / parent, sibling relationship, ... .

There is a small number of keywords: ak:, k:, ->

Example of DSL code:


k:Also called -> P1




k:Tags -> Status Beta, Proof



ak:PT Product2

ak:PR Product2

k:Description -> Some longer text ...

Features needed

1) Collapsible regions like in C# in Visual Studio (#rtegion ... #endregion)

1.1) Ability to collapse current paragraph and all its child paragraphs. E.g., collapsing k:Types hides also ak:PT Product2 and ak:PR Product2

1.2) Ability to collapse only value after first last -> in given paragraph

1.3) When something is collapsed, ideally it should take no space. E.g., in Visual Studio collapsed region still occupies 1 row. It'd be great if indication that something is collapsed could be in the "border", e.g., like in Visual Studio is indicated break point - red circle

1.4) A way for a user to write some code to collapse, e.g., all paragraphs that have k:Types in whole document

1.5) Like 1.4 but using Tags - collapse all paragraphs that have child paragraph Tag of specific value. E.g., collapse all paragraphs that have tag Proof. It'll colapse ak:Product1 and its children

2) "Syntax highlighting"

Keywords in gray. Keyword is ak:, k:, etc.

Text after keyword until end of line or until -> is formatted depending on keyword type. E.g., for ak: it'd be bold, so Product1 is bold

-> is of some style too

Values in k:Tags (e.gf., Status Beta, Proof) have a custom style

All styles should be editable so user can change it according to their taste. Users are able to write code so it doesn't need UI ... but it shouldn't be awfully complicated

3) Text wraps but is indented the same way as level + 1 would be. E.g., if k:Description text would be on 2 lines, its second line should start as if there were 2 tabs. (k:Description is levekl 1 so it has 1 tab.)

4) Ideally, ability to move caret to next sibling (keyword on same level before/after current position). E.g., ak:Product2 - if moving before then caret goes to ak:Product1

Ideally this is done as an extension, e.g., to Visual Studio Code, Atom, Visual Studio. Also other editors can be considered if they're free.

How you'd do it ? It can be as simple as saying in editor named X using, e.g., its extensibility features. Feel free to recommend multiple options. Cost wins. I have a preference for extension to some editor but a custom solution will be considered too.

Habilidades: .NET, Programación en C, Programación en C#, Programación en C++, Arquitectura de software

Ver más: android image editing source code, implement islamic calendar iphone code, implement iphone app design code, xml file editing php code, viewing editing xml files flash, implement wordnet database oracle code, implement apriori visual basic code, editing source code mafia wars, authorized net payment gateway implement asp net source code, editing sidebar code wordpress, viewing finished html code, dsl code, dsl code generator, xml mmusic player code please, editing magento code

Información del empleador:
( 0 comentarios ) Czech Republic

Nº del proyecto: #17029660

4 freelancers están ofertando el promedio de €528 para este trabajo


Hello, I'm Smile Song, developer in China. I'm interesting your project very well I'm a Good C#, Python, .Net, MVC, Website Design, Angular.js, ASP.NET expert. I m quite well experienced in these jobs. Let's go ahe Más

€555 EUR en 10 días
(798 comentarios)

I am very proficient in c and c++. I have 16 years c++ developing experience now, and have worked for more than 7 years. My work is online game developing, and mainly focus on server side, using c++ under Linux environ Más

€250 EUR en 5 días
(140 comentarios)
€555 EUR en 10 días
(19 comentarios)
€750 EUR en 10 días
(0 comentarios)