As the GsoC period comes to an end i have only two major tasks left to do, one being making a LineBreakBear, which suggests line breaks, when the user has Lines of code that are more than a max_line_length setting, and the Other is adding Indents based on Keywords in the IndentationBear.
This week i was able to device a simple algorithm to suggest line breaks. If you’ve followed my blogs you’d know that there’s something I like to call an encapsulator :P, it’s a fancy name for different but not all types of brackets. So the algorithm is as follows:
- Get all occurences of lines which exceed max_line_length
- Check wether these lines have an encapsulator which starts before the limit
- Find the last encapsulator started in this line before the limit.
- Suggest a line break at that point with the new line being indented in accordance with the indentation_width setting.
Now this algorithm is really simple and does not consider border cases such as hanging-indents.
Hopefully by the next blog posts i’d have completed my Project. I’ll have lots to share about my experience this year 🙂