Recommend solution and implement viewing and editing of DSL code

종료 등록 시간: 5년 전 착불
종료 착불

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:

ak:Product1

k:Also called -> P1

k:Characteristics

Char1

Char2

k:Tags -> Status Beta, Proof

ak:Product2

k:Types

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.

.NET C 프로그래밍 C# 프로그래밍 C++ 프로그래밍 소프트웨어 아키텍처

프로젝트 ID: #17029660

프로젝트 소개

3 건(제안서) 재택 근무형 프로젝트 서비스 이용 중: 5년 전

이 일자리에 대한 프리랜서 3 명의 평균 입찰가: €453

Yknox

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 기타

€555 EUR (10일 이내)
(1029 리뷰)
9.4
hbxfnzwpf

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 기타

€250 EUR (5일 이내)
(189 리뷰)
7.2