Find Jobs
Hire Freelancers

Create a Windows.Forms syntax highlighter prototype

$100-300 USD

In Progress
Posted over 15 years ago

$100-300 USD

Paid on delivery
This project wants a fully-functional concept of Syntax Highlighter control. This project MUST use only [login to view URL] API and should work with alternative implementations like Mono with no change. ## Deliverables The syntax highlighter is a custom control (UserControl) must respect the following restrictions: - must be [login to view URL] only. It must not have any platform dependent code like importing platform based code. If you will need some functionality like: caret placing, scroll bars, etc. and you not have compatible control you MUST simulate the behavior - all painting should be double buffered and should use only [login to view URL] APIs - the control should have the mapping of content with a list of strings. It must provide an API that gives the count of lines and query any line. Too it must provide the following API operations: void insertLine (lineIndex, newLineText); string getLine(lineIndex); void removeLine(lineIndex) - the control coloring will use a color table. The control should provide one API that do the following: clear the color table, it may chose for an integer ID, a specific color. - every character should have at least a background and a foreground color that may be chosen explicitly. The colors should be get from the color table. If there is no color table inex for foreground and background color. White should be chosen for background and black for foreground. It must be provided a way to set for a block of letters the back and the fore color index in the index color table* *- the control must treat the basic keys: (basic letters, backspace, delete, page up, page down, home end, arrows) in the basic way that all typical text control do - the control should offer a caret API (caret = place you edit) for setting up the place of it, and get the place of it. Setting the place must make the scrollbar to move after the caret to make caret to be always on screen - the control should provide a fake way of code completion. This means that after you press Control+Space, it should provide a setup list of strings, and when you chose one of them, it should insert in-place the string. The list is good to have an image-list of strings, and is better if the list have a mapping between the string provided and what is inserted. The highlighter should not provide scaners or parsers for different languages (like C, Python, etc.). Even they are implemented, they will not give any bonus and is not a requirement. Extra features (good to have): - to chose a custom paint for a cell (for a short time). Means that the API may chose for a cell (indexed as row and column) to be able to make it's own custom draw - other as they are good for common sense and the developer purpose them. - this code will be part of an opensource project that is written in Oxygene language. It will be provided a bonus if the developer will translate (or write it from scratch) in Oxygene language (Object Pascal for .NET but very similar as look and feel with C#). Extra features will be extra-paid. Ask me for details andd I will kindly answer as you need more clarificatins.
Project ID: 3249106

About the project

2 proposals
Remote project
Active 16 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
See private message.
$170 USD in 14 days
5.0 (72 reviews)
5.9
5.9
2 freelancers are bidding on average $213 USD for this job
User Avatar
See private message.
$255 USD in 14 days
0.0 (1 review)
1.9
1.9

About the client

Flag of ROMANIA
Vaslui, Romania
5.0
7
Member since Aug 3, 2007

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.