text/x-nit
*.nit
#
[A-Za-z0-9_]
[ \n\r\t]
package
yield
import
null
abort
abstract
as
assert
break
catch
class
continue
__debug__
do
else
end
enum
extern
for
fun
if
init
in
interface
intrude
isa
is
isset
label
loop
module
new
nullable
once
private
protected
public
redef
return
subset
super
then
type
universal
var
while
with
autoinit
auto_inspect
cflags
conditional
deprecated
fixed
generated
intern
lateinit
lazy
ldflags
light_ffi
new_annotation
noautoinit
noinit
nosuper
no_warning
old_style_init
optional
pkgconfig
platform
readonly
writable
true
false
self
and
implies
not
or
\^=? |
~ |
<<?=? |
<=> |
==? |
>>?=? |
\| |
-=? |
, |
; |
::? |
!=? |
/=? |
\.{1,3} |
\( |
\) |
\[ |
\] |
@ |
\*\*?=? |
&=? |
%=? |
\+=?
\%[ _[a-z][A-Za-z0-9_]* \%]
\%[ [A-Z][A-Za-z0-9_]* \%]
\%[ [a-z][A-Za-z0-9_]* \%]
(?:[iu](?:8|16|32))?
[+-]?0[Bb][01_]+\%{integer-suffix}
[+-]?0[Oo][0-7_]+\%{integer-suffix}
[+-]?0[Xx][0-9A-Fa-f_]+\%{integer-suffix}
[+-]?[0-9][0-9_]*\%{integer-suffix}
[+-]?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[Ee][+-]?[0-9]+)?
\\'
\\.
\{
\}
\{\{\{
\}\}\}
"""|'''
\%{0@start}
'
'
"
"
(?'cpp_kwin' in) \%{space}*
(?'cpp_language_name' "c\+\+(?: [^"]*)?") \%{space}*
`\{
`\}
(?'java_kwin' in) \%{space}*
(?'java_language_name' "java(?: [^"]*)?") \%{space}*
`\{
`\}
(?'objc_kwin' in) \%{space}*
(?'objc_language_name' "objc(?: [^"]*)?") \%{space}*
`\{
`\}
`\{
`\}