Re: [Mono-dev] Revamped Syntax Highlighting System
Hi I went through the code related to syntax highlighting and semantic highlighting. Got to know how syntax highlighting happens using Begin, End and Word constructs written in XML file. But had little difficulty understanding the semantic highlighting. CSharpSyntaxMode.cs - but it basically uses the one in NRefactory which is a kind of code analysis. Syntax highlighting : As soon as the word is entered, it will be matched by suitable regular expression. Y It's possible to use regexes for that - but try to make some speed measuers for it. If you want you can alter/extend the XML grammar. Semantic highlighting : Another thread will be running asynchronously and parses the words together to give semantic meaning, [ a suitable efficient parser has to be written for this] That's how it's done - but an API would be nice for that. C# semantic highlighting is implemented, but an API for that would be better. That part isn't hard to implement but requires understanding of what I do there :) I've pretty good knowledge about parsers, regular expression and I had implemented LALR parser as mini-project last semester. [ Github linkhttps://github.com/akshayhebbarys/lalr-parser ] Please tell me whether I'm going in right path, and please guide me through this project. Y the direction is good - if you can base all on regular expressions not much can go wrong - but make speed tests. One thing that is important is that the highlighter is lazy. Atm there is a highlighter background thread I would like to get rid of that. Or at least make a task based approach. The spans are atm written in the line splitter - they should use a own tree - that saves some memory should be faster. Regards Mike ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] GSoC 2013 MonoDevelop Color Scheme Editor
Hi You don't need to get familiar with monodevelop that much - you only need to know how the color shemes work. The Unity3D version is not helpful outdated. Grab a new monodevelop from github. The current color sheme editor is in the source editor view and the color shemes are defined in Mono.TextEditor. Regards Mike Hi all, My name is Steffan and I'm a student at Ball State University in Indiana. I'm really excited to work on MonoDevelop's color scheme editor over the summer as part of GSoC. I've been using the Mono bundled with Unity3D for the last two semesters and I've always wished there was a nicer way to make a new color scheme. I've looked through the source code some and have to say I've never worked on a project this large before, but I can't wait to contribute to software that so many people use. I'd appreciate any advice for quickly getting familiar with the code and environment. Thanks, Steffan Byrne ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] GSOC Proj: CSS Support, Make ASP.NET Awesome in Xamarin Studio, Color Scheme Editor, Awesome MonoDoc Editor
Hi * Color Scheme Editor Basically making a new editor that is awesome. Maybe you've ideas. I would provide different methods of creating schemes. + A list based approach like we've now (but can be improved - atm we don't really support color fallback on UI level or palettes). + A preview based approach like studio styles + And a method where colors are auto generated - the user chooses let's say a front color background color and the rest is generated using HSL giving good contrasts. (It should be possible in this mode to set more colors) Generally it's a small project - but it requires some creativity and even small projects can get big :) Regards Mike ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] GSOC [2012] Questions regarding C# Refactorings
Hi This year we already have 2 students working on refactoring actions, therefore I don't know how much place is left there. The current master version already contains some nice refactorings btw. Regards Mike I am young energetic student from RGPV University, doing specialization in Computer science. I would like to participate to GSoC 2012 for Mono Project. After looking on the idea page http://www.mono-project.com/StudentProjects I would be interested in this project: *C# Refactorings : Implement for refactorings for C#.* I am familiar with Visual studio2003/2005/2008/2010, very excited to provide More refactoring for C#, including UI and unit tests and looking for more details regarding C# Refactorings Project. I shall be thankful for any guidance from the team members about how to go about. Thanks... Regards, Sumit Verma ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] GSoC - AST Verifier for C# compiler
Hi I would like to have whitespaces (and EOL as other special node) in the ast as well as non compileable stuff as maybe TextNode, but that kills performance even more. Doing pre processor directives and comments with the specials bag and inserting them afterwards slows done the parse process much. But they are semantically required (XmlDocs, #define etc.) - and they are included in the AST, therefore it's all done on this side. (Except there is some kind of comment/pre processor directive missing there) Would be easier if we had a lexer that was build for generating such AST (btw. I think it may be possible to do it and use mcs as parser, but that's another story). Doing that for whitespaces isn't worth it atm - to have all information about a file you need the CompilationUnit AND the text. It's possible to get the whitespace information (that's the space between two nodes. GetTextBetween (curNode.EndLocation, curNode.NextNode.StartLocation) gives you that. (And lastNode.EndLocation - document.EndLocation is the unparseable text). That is the major difference between us and rolyn, but not a major drawback IMO the original text is always available. The NRefactory version of mcs has some patches to make such thing as NRefactory possible. We try to keep the change set low, but #1 prio is that it works for monodevelop features. Regards Mike Hi, some more questions: I see that NRefactory doesn't deal with whitespace at all and processes comments and preprocessor directives using SpecialsBag that's not present in Mono.CSharp. Can I ignore whitespace too? And does that mean I have to add (or copy from NRefactory) support for comments and preprocessor directives to the AST? Thanks, Petr Onderka ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] GSoC - AST Verifier for C# compiler
Hi Try to look at NRefactory git://github.com/icsharpcode/NRefactory.git The structural visitor was built for that. NRefactory does: Text - Mcs AST - NRefactory AST That AST can generate C# code as text - using the output visitor, or just node.GetText(). Therefore it's half way done, however I'm sure that there are still things not fully correct, any help improving that would be appreciated. The NRefactory AST holds lexical informations about the tokens as well, they could be checked against the input text. There are 2 projects inside the NRefactory solution that may be helful: ConsistencyCheck and AstVerifier (it's very, very basic). Regards Mike Hi, as a backup if my first proposed project doesn't get selected, I'm looking into implementing the project “AST Verifier for C# compiler”. The project statement says to implement an AST visitor and I have looked around and found the class StructuralVisitor. It seems to be exactly what I need, except it doesn't do anything by itself. I would expect it to visit the whole tree (just like ExpressionVisitor does for Expressions), so that I can implement only the parts that are relevant to me (in this case, generating the C# code). Is there some code that already does that? Or at least some code that implements StructuralVisitor that I could look at? If not, that's fine, and I can do it myself. I just don't want to duplicate work already done by others. Petr Onderka ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list