help-source-highlight
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-source-highlight] understanding elements


From: Lorenzo Bettini
Subject: Re: [Help-source-highlight] understanding elements
Date: Thu, 22 Dec 2011 15:42:00 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0

On 18/12/2011 16:55, Federico Bruni wrote:
Hi,

I've finished the draft of the lilypond.lang file and I have some
questions before asking for comments on my file in the lilypond-devel
mailing list.

1) ELEMENTS
First of all, there's any place in the doc where each element is
explained? I mean: some elements are straightforward (comment, string,
function), while others (preproc, cbracket) are a bit obscure...at least
for a non-developer.
Also, I guess that names of these elements generally work fine with all
the programming languages. But other kind of languages may have
different peculiarities.

exactly: some of them work fine with most languages (cbracket stands for curcly brackets, i.e., { } )

'preproc' can be used for preprocessing things which can assume different meanings in different languages, and they can be associated with some language elements as one sees fit... for instance, preproc can be # directives in C/C++ and import statements in Java

basically you can associate any meaning, these elements will be used only for formatting styles


For examples, in the lilypond syntax - besides strings, comments,
operators and numbers - I have basically:

- music functions
- contexts
- layout objects
- context properties
- layout properties

Which elements should I use for each of them?
Function for music functions, that's easy.
What about all the rest?


you can create new elements, and put a formatting strategy in the style file

or you can create these new elements (but no space is allowed, so use, e.g., layout_objects), and, if you don't want to change the style files you may want to use

http://www.gnu.org/software/src-highlite/source-highlight.html#Default-Styles

which allows to map your element to an existing one,

e.g., if you map

layout_objects = function

if a formatting style for layout_objects is not found in a style file, then the same style of function will be used (that's just an example)

So far I used different elements, even if not related to the meaning of
the group, just to see them styled differently.
But I guess that's not the right way.

Should I create new elements maybe?


see above



2) SIMILAR ELEMENTS
Let's say I want to style differently two groups of numbers.
Which elements should I use?
For example, in the lilypond syntax numbers are used in two contexts:

# Fingering and string number
specialchar = '-[1-5]\b', '\\[0-9]\b'

# Note duration
number = '(1|2|4|8|16|32|64|128)(\.+|\b)'

specialchar is ok?


that's your choice, as I said above, it's just up to you :)



3) VARIABLES
In latex.lang I found:

vardef command = '\\[[:alpha:]]+'
keyword = $command

Why not writing just one line?
keyword = '\\[[:alpha:]]+'

What's the benefit of creating a variable?

in case you want to reuse the same regular expressions in different parts

hope to hear from you soon
cheers
        Lorenzo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]