Editing User:Shainasabarwal/GSoC15/logs

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 157: Line 157:
 
* With this the problem of multiline comments has been solved.
 
* With this the problem of multiline comments has been solved.
 
* Moving forward to apply same feature for highlighting modifiers.
 
* Moving forward to apply same feature for highlighting modifiers.
 
==13 July==
 
* Reading about different modifiers, so that they can be styled, obvious to the regular user.
 
* Defining state for different modifiers *, %, !, # in lexer.
 
 
==14 July==
 
* Wrote lexer rules for all modifiers but it is not being highlighted as expected.
 
 
==15 July==
 
* Made the modifier rules working in the lexer.
 
* Defined different rules for single line modifiers and block of modifiers.
 
 
==16 July==
 
* Added new values in enum of scadlexer.h for modifiers
 
* Also called different style for modifiers in scintillaeditor.cc
 
 
==17 July==
 
* Defined highlighting colors for modifiers in all color scheme of editor which are written in json format in colorschemes/editor directory.
 
 
==18 July==
 
* Started reading about adding options to change the toolbar icons by user.
 
* User may also be able to add his own iconset.
 
 
==19 July==
 
* Reading the existing code of listing the 3D View and Editor options in Preferences windows to get the idea of how can the iconset be listed.
 
 
==20 July==
 
* Reading about the boost different libraries used in OpenSCAD such as filesystem, shared_ptr, property::tree that can be used to list the iconset and change the icon as selected.
 
 
==21 July==
 
* Added new option for Icons
 
* Also added new page for listing icon sets through QListWidget in Preferences window.
 
 
==22 July==
 
* Added code to list the name of iconsets in Preferences's Icons page through boost::property tree, but it is listing the path of iconset folders instead of just names. Need to extract the name of iconset from the path.
 
 
==23 July==
 
* Changed the way to get the path of iconsets from property::tree to DIR using dirent.h
 
* Also the name of iconsets has been shown in the list instead of paths.
 
 
==24 July==
 
* Wrote code to use the name of iconset in mainwin.cc to use the iconsets in the toolbar.
 
* Added slot in preferences to change the icon when the iconset has been changed by the user in Preferences Window.
 
 
==25 July==
 
* Added function in mainwin.cc to get the name of iconset from the path mentioned and change the icon in the toolbar.
 
* Also changed Icons's icon in Preferences Window
 
* Make Icons option checkable to solve the problem of not being shown as selected when clicked.
 
 
==27 July==
 
* Changed the icon of Icons option to a free image. Last one was not free.
 
* Changed the path of images of toolbar icon in openscad qrc file and mainwin.cc
 
* Added list of flaticons to be changed on selecting from the list of iconsets.
 
 
==28 July==
 
* Divide the iconset into dark and light folders for different background colors at different platforms.
 
* Make the flaticons as default icon set and provided option to add new icon set by user just by adding a new folder inside images folder.
 
 
==29 July==
 
* Working on highlighting modifiers but it is having very strange behavior that is affecting the color of text below the current modifier when some change is made in it.
 
* Trying to figure out the problem by writing tests.
 
 
==30 July==
 
* Cleaned some code of lexertl rules.
 
* Debug the code and lexer states in a file to understand the behavior of modifiers, but everything seems fine other than behavior of modifiers styling.
 
 
==31 July==
 
* Discussed with mentors about modifiers problems and try to understand the theory of states and lexer rules.
 
* Found that lexer state goes to 0 at every lookup call, so rule that is moving from current state to initial state is not being called.
 
*Trying to figure out the solution for it.
 
 
==2 August==
 
* Made changes in lexertl rules to solve the problem of modifiers.
 
* Call the user id at each rule to get lexer feedback more often about style of the text. This solve the problem a bit, but still it is affecting the next modifier styling.
 
 
==3 August==
 
* Use the logic of multiline comments for modifiers, change state by checking the state of pos, one less than start position, and it worked well.
 
* As the modifier * is also a mutliplier and modifier % is also the sign of MOD, so the later also get styled as former in both cases.
 
* Discussed this problem with mentors and got that this problem can be solved by parsers.
 
 
==4 August==
 
* Compiled autocomplete branch to start working on autocomplete scintilla feature, but it having some errors. Trying to figure out the reason of these errors.
 
 
==5 August==
 
* Discussed about other features that are missing with latest lexer and were present in CPP lexer that are auto indentation and folding.
 
* Trying to find out how these features can be added in our current lexer.
 
 
==6 August==
 
* Read scintilla documentation to know how to implement folding and auto-indentation for braces.
 
* Tried different methods but it didn't work as required.
 
 
==7 August==
 
* Tried different methods and finally folding start working successfully for braces.
 
* Tried different methods for auto-indentation but it didn't work well, causing infinite indentation on setting indentation of next line of opening brace.
 
 
==8 August==
 
* Implemented folding for square brackets as well as multiline comments.
 
* Used blockStart and blockEnd functions of Qscintilla for auto-indentation.
 
* BlockEnd function takes only single character to unindent, so auto-unindent for } braces worked well but not able to implement auto-indent for square brackets.
 
 
==10 August==
 
* Tried adding auto-indentation for square brackets by using the logic of folding for code block started and ended with square brackets but it did't work as expected.
 
 
==11 August==
 
* The window is made to be auto-scrolled in case of any compilation error using scitilla function SCI_LINESCROLL fed with the error line.
 
 
==12 August==
 
* As the window gets scrolled skipping the number of lines at every F5, so the logic is changed to set the cursor to error position and scroll the window to show the cursor position in case of any compilation error. In this way, the cursor remains that the error position in case of repeatedly running the same script.
 
 
==13 August==
 
* Wrote the summary of project in github wiki page https://github.com/openscad/openscad/wiki/GSOC-2015-Project---ScadLexer
 
 
==14 August==
 
* Made some changes, added images in the project summarization.
 
* Also wrote the documentation for the features of scintilla editor https://github.com/openscad/openscad/wiki/Scintilla-Editor-Features
 
 
==17 August==
 
* Started testing various added features in scadlexer for quality purpose.
 
 
==18 August==
 
* Started writing tests for different start value, mentioning the value of start in the input file only.
 
 
==19 August==
 
* Shift reading file from highlighting function to main function of lexertest as to pass the required pass parameter to lex_result function.
 
 
==20 August==
 
* Use examples shipped with openscad to write tests to test their behavior and performance.
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)