On 14 May 2017, at 11:24 pm, Matic Kukovec <[email protected]> wrote:
> 
> 
> > On 14 May 2017, at 11:26 am, [email protected] wrote:
> > > 
> > > Dear QScintilla users,
> > > 
> > > Automatic indentation is a very nice feature offered by QScintilla. When 
> > > inserting a new line, automatic indentation pushes the cursor to the same 
> > > indentation level as the previous one. You have two options to switch on 
> > > this feature: (1) call the function setAutoIndent(True) on the 
> > > QsciScintilla editor or (2) call the function setAutoIndentStyle(..) on 
> > > the lexer.
> > > 
> > > The first option works. The second doesn't. For full details on the 
> > > problem, please take a look at the following StackOverflow question:
> > > 
> > > http://stackoverflow.com/questions/43962669/setautoindentstyle-on-the-qscintilla-lexer-doesnt-work
> > > 
> > > Do you know the answer?
> > 
> > You have to implement the various block method (blockStart(), blockEnd() 
> > etc).
> > 
> > Phil
> 
> Hey Phil,
> 
> Tried implementing blockStart() and blockEnd(), but it throws a TypeError if 
> using for example:
> def blockStart(self):
>         return "{"
> 
> def blockEnd(self):
>         return "}"
> With a bit of trial&error I found that the methods need to return a tuple of 
> (bytes, int). Why?

http://pyqt.sourceforge.net/Docs/QScintilla2/classQsciLexer.html#a7c99eb2877dc6a9762815bc0471f0c36

Phil
_______________________________________________
QScintilla mailing list
[email protected]
https://www.riverbankcomputing.com/mailman/listinfo/qscintilla

Reply via email to