I've noticed a peculiarity in regards to how the Ruby lexer styles colons. A
literal that starts with a colon is of course a symbol, but colons are used in
other contexts as well, most notably for hash literals, like this snippet from
the Ruby docs:
`options = { font_size: 10, font_family: "Arial" }`
If you put this in Geany, it will style the colons as symbol literals and not
as operators as it should.
This is more important for the Ruby-like static language Crystal, in which the
Ruby lexer is almost totally sufficient--aside from the fact it only supports
primary keywords and not secondary, class, or type keywords--where this
notation is used for named tuples, as well as for type annotation for
functions: `def square(n: Int32): Int32'
TL;DR: A colon at the start of a word should indicate a symbol literal, but a
colon by itself or at the end of a word should be styled as an operator or
punctuation.
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1121