[QScintilla] Matlab Lexer

Mikhail Murzin mezomish at gmail.com
Wed Apr 13 19:34:00 BST 2011


John,
You can use a Matlab lexer from JuffEd project:
http://juffed.svn.sourceforge.net/viewvc/juffed/0.9/src/app/qsci/lexers/my/

<http://juffed.svn.sourceforge.net/viewvc/juffed/0.9/src/app/qsci/lexers/my/>
Phil,
Feel free to include it in QScintilla.

--
Best regards,
Mikhail.


On Wed, Apr 13, 2011 at 1:51 PM, John Swensen <jpswensen at gmail.com> wrote:

>
> On Apr 13, 2011, at 1:13 PM, Phil Thompson wrote:
>
> > On Wed, 13 Apr 2011 11:44:11 -0400, John Swensen <jpswensen at gmail.com>
> > wrote:
> >> I am looking at using the QScintilla package for the editor component of
> >> an IDE for GNU Octave.  I see there is a lexer for Matlab, but am
> > wondering
> >> if something hasn't been completed yet.  For almost every language, I
> > see
> >> both a Lex<NAMEOFLANGUAGE>.cpp file in the lexer directory and a
> >> corresponding qscilexer<NAMEOFLANGUAGE>.cpp file in the Qt4 directory.
> >> However, there is no qscimatlab.cpp file. Do I need to create a
> >> qscimatlab.cpp file, following the pattern of some of the other
> > languages,
> >> to have Matlab syntax support or is there some other way to get the
> > Matlab
> >> lexer working?  I see that the Matlab lexer is linked in by looking at
> >> src/Catalogue.cpp and that when building inside Qt4 there is a
> > LexMatlab.o
> >> file after the build completes, but I can't figure out how to use the
> >> lexer.
> >
> > High-level support for lexers is added when requested - nobody has asked
> > for Matlab before.
> >
> > You can still use the low-level support (the high-level support mainly
> > just manages the lexer configuration).
> >
> > Phil
>
> Makes sense.  I will try to get the higher level lexer class for
> Matlab/Octave done and contribute it back to the project.  That issue aside,
> I am still having problems getting QScintilla to highlight even using the
> low-level support.  I added the following to the constructor of the
> MainWindow class for the example-Qt4 project after the textEdit object has
> been created.
>
> textEdit->SendScintilla (QsciScintillaBase::SCI_SETLEXERLANGUAGE,
> "octave");
> // Also tried this, but it didn't work either
> //textEdit->SendScintilla (QsciScintillaBase::SCI_SETLEXER,
> QsciScintillaBase::SCLEX_MATLAB);
>
> textEdit->SendScintilla (QsciScintillaBase::SCI_SETKEYWORDS, "for if end");
>
> It did not syntax highlight an m-file when I opened it.  So, I tried
> putting it in the loadFile() method of the MainWindow in the example, think
> that maybe you had to set the lexer after the file was opened.  It still
> didn't work.  Sorry to be such a noob, but is there something I am missing
> that will tell the lexer to start lexing?  I took a look at the setLexer
> method of the QsciScintilla class and couldn't see anything that my simple
> code was missing, but am clearly wrong somehow.
>
> John
> _______________________________________________
> QScintilla mailing list
> QScintilla at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/qscintilla
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.riverbankcomputing.com/pipermail/qscintilla/attachments/20110413/f33b5ecc/attachment.html>


More information about the QScintilla mailing list