Single and Range LineCommenters in same language

SyntaxEditor for WPF Forum

Posted 11 years ago by James Deadman
Version: 11.1.0542

I am attempting to add the ILineCommenter service to a syntax language (C#). From your examples it demonstrates single-line commenters and line-range commenters.

It seems that if i register both a single-line and line-range commenters to the syntax language, it only ever comments-out using line-range indicators (/* */) rather than single line commenting (//).

Is it possible to use both styles together? Obviously languages such as C# use both styles and so it would be nice for Syntax Editor to intelligently add line-comments depending on whether a single line or multiple lines are selected. How would i implement this please?


Comments (2)

Posted 11 years ago by Actipro Software Support - Cleveland, OH, USA
Hi James,

Only one ILineCommenter service can be registered at a time on a language. That way the comment/uncomment lines commands know what can be executed.

Since ILineCommenter is an interface you can write whatever logic you wish in a custom ILineCommenter implementation. You could make a hybrid version that creates instances of the range and single line versions and based on if there is a \n character in the snapshot range passed to the Comment/Uncomment methods, call the appropriate wrapped line commenter.

Actipro Software Support

Posted 11 years ago by James Deadman

I had a feeling this might be the case. For the moment i'll have to pick one comment-style i think, and then time-depending i will create a custom LineCommenter as you suggest.

Thanks for your help,
The latest build of this product (v22.1.3) was released 16 days ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.