Save found files?
- 
 BTW, I’m still confused after looking at N++ source on how N++ identifies the hit text, so that the “search result” lexer knows where it is, so if you can shed any light on that… if you’re sufficiently interested in doing so… :-) 
- 
 Is N++ source using hardcoded magic numbers for this instead of Not sure I understand the question correctly. 
 Every lexer has hard coded style ids, which then get mapped
 with a color via stylers.xml. See searchResult.how N++ identifies the hit text It uses an internal struct MarkingsStruct which seems to be filled and provided 
 as a property to the document. Maybe something you can use to your advantage?
- 
 Sorry, Forgot to include the structure reference. 
- 
 Made me a bit of a headache because I assumed that the pointer was an integer data type 
 but the npp code actually said that it was a const char pointer.
 In short, here’s a python script that can determine the positions of the matches.I leave the changes from py3 to py2 to you :-) class SearchResultMarking(ctypes.Structure): _fields_ = [('_start', ctypes.c_long), ('_end', ctypes.c_long)] class SearchResultMarkings(ctypes.Structure): _fields_ = [('_length', ctypes.c_long), ('_markings', ctypes.POINTER(SearchResultMarking))] # const char *addrMarkingsStruct = (styler.pprops)->Get("@MarkingsStruct"); addrMarkingsStruct = f_editor.getProperty("@MarkingsStruct").encode() # SearchResultMarkings* pMarkings = NULL; pMarkings = ctypes.pointer(SearchResultMarkings()) # sscanf(addrMarkingsStruct, "%p", (void**)&pMarkings); ctypes.cdll.msvcrt.sscanf(addrMarkingsStruct, b"%p", ctypes.byref(pMarkings)) for i in range(pMarkings.contents._length): print(f'line {i} start:{pMarkings.contents._markings[i]._start} - end:{pMarkings.contents._markings[i]._end}')
- 
 @Ekopalypse said in Save found files?: I leave the changes from py3 to py2 to you Not a big burden, only the “print” line for that… But…What’s your magic behind f_editor? Instead of that I would have expected something like what I did in the earlier code I posted in this thread; something much messier, like:ctypes.WinDLL('SciLexer.dll', use_last_error=True).Scintilla_DirectFunction(self.direct_pointer, 2182, length_of_text, text_of_document)``` but using a different number than `2182` and different parameters, of course...
- 
 Not a big burden, only the “print” line for that… and the encode is not needed as py2 returns bytes 
 as well as the b before the “%p”.But…What’s your magic behind f_editor? Nothing, this is just my object which represents the editor in the find in files window. 
 As you said, what you would have expected must be done on your side.

