Assuming you are creating some universal lexer that uses e.g. some grammars for lexing. Then, instead of having tons of keywords from different languages in a single (fake) filetype for this lexer, it would be better to use this lexer for one filetype only, and define all other filetypes as external,
Exactly, that is, how I realised it:
Having one file, called filetypes.Uni
. But this file is almost empty (just one comment, which say, it is a dummy file). Then for each of wanted lexing (let's say for Gcode files) one customer filetype file (in that case filetypes.gcode.conf) is generated, having the line lexer_filetype=Uni
in it beside all keylist and style definitions.
To give you an impression, why so much keyword lists are necessary:
For universal lexer, you can not define, what char includes strings or comments. So you must provide a keylist for each of them:
StringDelimiter="
or
StringDelimiter='
or even
StringDelimiter=' "
Same for comments:
C-like
CommentMultilineStart=/*
CommentMultilineEnd=*/
Pascal-like
CommentMultilineStart={
CommentMultilineEnd=}
Forth like:
CommentMultilineStart=(
CommentMultilineEnd= )
For instance in markdown files, if you want to style each level of headline (# ## ### ####), you need to have a separate keyword list and style for each level.
Currently LexUni does support 64 customer keylists and styles beside bulit in lists (like StringDelimiter
, CommentMultilineStart
, HexNumber
, ..).
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.