On 2 Apr 2014, at 1:39, Jacob Carlborg wrote:

"$TM_MATE" --line 32:3 --error "unexpected identifier" /path/to/file

A minor change, it should probably be:

"$TM_MATE" --line 32:3 --mark "error:unexpected identifier" /path/to/file

This way we can use the same option for errors, warnings, and set bookmarks or search marks from ‘mate’.

[…] I've added a method to layout_t where I'm trying to get the row/paragraph_t which contains the line I'm interested in. I've used the same code as "layout_t::line_record_for" [1] to get a row, but as soon as I access the row I get a segmentation fault.

Hmm, the problem might also be in paragraph_t when I'm trying to find the node which matches the line I'm interested in.

You mean that the code that segfaults could be your custom paragraph_t function? That does sound plausible if you copy/pasted the code from layout_t::line_record_for to get the paragraph_t object (since that code should work).

Currently I'm using "iterator_at", but that's probably not right.

The layout_t holds a list (tree) of paragraph_t objects which each correspond to a single line in the source buffer.

The paragraph_t has a list of paragraph_t::node_t objects, and paragraph_t::iterator_at returns a pointer to the node corresponding to a particular offset into the line. The line is broken up into nodes to handle things like soft wrap, tabs, or folding markers.

The ct::line_t object held by the paragraph_t::node_t object is a shallow wrapper for a CoreText CTLineRef and lazily created (and disposed if the source buffer gets updated).

So you do not want to drill all the way down to ct::line_t

As of such, I do think this actually belongs in buffer_t and then layout_t will read the proper attributes from the source buffer (during drawing or when constructing/updating the layout).

But if you want to make it an attribute of the layout_t then it should probably be set on paragraph_t and this object will pass it as an argument when it calls draw_background on its children.
_______________________________________________
textmate-dev mailing list
textmate-dev@lists.macromates.com
http://lists.macromates.com/listinfo/textmate-dev

Reply via email to