In SciTE (Scintilla), how can I create Syntax-Highlighting for my own custom language?

5,402

I looked at it once, it's quite painful, because all is defined statically in the c++ source code.

You have to define a certain number of rules among the one already existing in scintilla, for things like... well it's quite mangled. You can quickly search for "scintilla lexer" on google, but you to understand that syntax highlighters are very sophisticated to code, just look at notepad++ and all its features: it's almost a code parser, which is found in compilers.

On top of that, a scintilla lexer can be made for any type of language.

Another problem is that coloring the text has to be platform agnostic, and again, I guess it favors windows (duh), and don't forget the font renderer, which can also be another thing.

I'm not sure scintilla has been ported to gnome or kde, has it ?

Share:
5,402

Related videos on Youtube

Peter.O
Author by

Peter.O

Updated on September 17, 2022

Comments

  • Peter.O
    Peter.O over 1 year

    I want to create a custom Language, with its own custom Syntax Highlighting.

    Notepad++, a Windows-only SciTE/Scintilla based text editor, allowed me to create a custom "Language", and now, in Linux, I want to reproduce the same thing.

    I need(?) to use SciTE/Scintilla because (as far as I know) it is the only plain-text editor which can display different size fonts in the same text-file (e.g., default-font= 12pt, comment-font=24pt).

    I used the comments font to display a complex script (alphabet) in a larger font. Please let me know if there is any other plain-text editor which does this.

    I assume this is a feature of SciTE/Scintilla (and not of Notepad++). Some of the magic is possibly (probably?) done in files such as: /usr/share/scite/.properties

    Notepad++ has a GUI interface to set up a new language or syntax, but I could use some direction on exactly how to go about it in SciTE.

    Thanks...

    • sepp2k
      sepp2k over 13 years
      Emacs also allows you to display fonts in different sizes. Not sure whether emacs qualifies as "plain" though.
    • Peter.O
      Peter.O over 13 years
      Thanks sepp2k... The "plain" referred to "plain text" vs "word processor embilished text"...
  • Peter.O
    Peter.O over 13 years
    I had a look at jEdit a couple of years ago. As I recall, it was a bit slow and didn't have that one particular thing I primarily want: ie. different sized font on the screen in one instance of a single text file, at the same time... but I will take another look at it.. It is only a download away :)... thanks.
  • Peter.O
    Peter.O over 13 years
    I just tried jEdit.. I must have had a slower computer 2 years ago; it seems fast enough (for me).. However Syntax Highlighting (Global) does not cater to Font-size, and a single set of colours apply to all languages. Font-size is a seperate single Global option. ...but jEdit it is certainly a nice looking editor :)
  • Peter.O
    Peter.O about 13 years
    Thanks gokoon... There's nothing quite like the voice of experience (your experience ;) I'll give Scite(Scintilla) a miss (Scite is available in the Ubuntu repository) ... I would use notepad++ in wine but even though is many reports say it works flawlessly, that is not my expereince (maybe they haven't tried <Ctrl><NumPad+> / <Ctrl><NumPad-> .. it leave a trail of +/- chars for each keypress... and I've noticed a couple of there things... Oh well I'm surviving without it, but aybe Emacs will do what I want (as mentioned by sepp2k).. I've starting to look at Emacs only very recently....
  • Peter.O
    Peter.O about 13 years
    more general info... As Scite/Scintilla doesn't match my requreiemnts, I've now looked specifially at Emacs.. and it can do the job..(so I'm now on an Emacs learning curve... but I'll have a coffee before I start :) .... I posted another related question... so for anyone who is interested in this issue, here is the link: unix.stackexchange.com/questions/6922/…