(I am not paying attention to deletions now because I am not familiar
enough with using them to generalize, and they are not part of
common usage of chord symbols. Plus, anything that can be done with deletions can be written explicitly in some other constructive way.)
So, "Csus" does not conform to the input syntax. If you need anything besides a major triad, you need to have the colon, and then the appropriate additions and modifications.
Regarding using the syntax, the first thing to ask is, "what is the highest interval in this chord"? Which is to say, the highest interval that is built on thirds.
The reason "C:5" is identical to a major chord is that the "5" is
specifying that the highest interval in the chord is the 5th. So, you get 1 3
5.
In both of your examples, Csus and C5, there are *no* stacked thirds in the "chord", so the first number you need to specify after the colon is "1". Otherwise, you will get a 3rd.
Then, for every other note you need to add, you add a period and the number, and optional +/- if it is an altered notes.
The other approach is to use modifications rather than additions.
The "standard modification" refers to things that lilypond recognized like min, aug, dim, susX, which have well-known interpretations ( aug => raise 5th, min => lowered 3rd, , susX => replace 3rd with X, etc.)
Most modifications can also be notated by speciyfing the highest interval, then modifying the elements afterword:
C:aug7 <==> C:7.5+
C:min <==> C:5.3-
An exception to this is sus. Logically, I might expect this to work, but doesn't:
C:sus4 <==> C:5.3+
2) Note sets
So, once you have your input syntax, lilypond converts that into note sets.
So, "C:1.4.5" becomes <c f g>.
This is why you can have lilypond determine chord symbols from explicitly written chords: because the chordal input syntax transforms to this same format, as an intermediate format.
So, if you already have the note sets, you can transform them into chord symbols.
From the point of view of fiddling with chord symbols, however, you won't have to deal with this intermediate format.
But it is important to realize that this format is the lingua franca of Lilypond chords. Your input syntax gets transformed to note sets first, and then the note sets are what are used to define the chord symbols.
3) Chord symbols
The identification of what chord symbols to print is done as a mapping from the note sets to markup.
This is a mapping from the note sets (like <c f g>) to markup (both symbols as well as formatting, for things like superscript)
If you don't like the markup Lilypond uses, you need to write custom chord exceptions.
My explanation for doing that is available at
http://flaminghakama.com/flaming-lilypond-chordsThe final comment I have is related to your statement:
"For me it is logic to understand, that c:sus will suspend the 3."
That is a correct *musical* interpretation of Csus. (In my opinion.)
Unfortunately, lilypond does not have a musical interpretation of sus.
Lilypond requires you to explicitly specify an interval to replace the 3rd with.
I suppose that this is because some people (and Lilypond) think that C:sus2 is equally as valid or usual interpretation of "sus", and therefore pretends that "sus" is not a well defined chord modification by itself.
Hence, if you are using modifications, why you need to say C:sus4 instead of C:sus
HTH,