<commit_before>" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
  syntax clear
elseif exists("b:current_syntax")
  finish
endif

" Keep user-supplied options
if !exists("nim_highlight_numbers")
  let nim_highlight_numbers = 1
endif
if !exists("nim_highlight_builtins")
  let nim_highlight_builtins = 1
endif
if !exists("nim_highlight_exceptions")
  let nim_highlight_exceptions = 1
endif
if !exists("nim_highlight_space_errors")
  let nim_highlight_space_errors = 1
endif
if !exists("nim_highlight_special_vars")
  let nim_highlight_special_vars = 1
endif

if exists("nim_highlight_all")
  let nim_highlight_numbers      = 1
  let nim_highlight_builtins     = 1
  let nim_highlight_exceptions   = 1
  let nim_highlight_space_errors = 1
  let nim_highlight_special_vars = 1
endif

syn region nimBrackets       contained extend keepend matchgroup=Bold start=+\(\\\)\@<!\[+ end=+]\|$+ skip=+\\\s*$\|\(\\\)\@<!\\]+ contains=@tclCommandCluster

syn keyword nimKeyword       addr and as asm atomic
syn keyword nimKeyword       bind block break
syn keyword nimKeyword       case cast concept const continue converter
syn keyword nimKeyword       defer discard distinct div do
syn keyword nimKeyword       elif else end enum except export
syn keyword nimKeyword       finally for from func
syn keyword nimKeyword       generic
syn keyword nimKeyword       if import in include interface is isnot iterator
syn keyword nimKeyword       let
syn keyword nimKeyword       mixin using mod
syn keyword nimKeyword       nil not notin
syn keyword nimKeyword       object of or out
syn keyword nimKeyword       proc method macro template nextgroup=nimFunction skipwhite
syn keyword nimKeyword       ptr
syn keyword nimKeyword       raise ref return
syn keyword nimKeyword       shared shl shr static
syn keyword nimKeyword       try tuple type
syn keyword nimKeyword       var
syn keyword nimKeyword       when while with without
syn keyword nimKeyword       xor
syn keyword nimKeyword       yield

syn match   nimFunction      "[a-zA-Z_][a-zA-Z0-9_]*" contained
syn match   nimClass         "[a-zA-Z_][a-zA-Z0-9_]*" contained
syn keyword nimRepeat        for while
syn keyword nimConditional   if elif else case of
syn keyword nimOperator      and in is not or xor shl shr div
syn match   nimComment       "#.*$" contains=nimTodo,@Spell
syn region  nimComment       start="#\[" end="\]#" contains=nimTodo,@Spell
syn keyword nimTodo          TODO FIXME XXX contained
syn keyword nimBoolean       true false


" Strings
syn region nimString start=+'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=nimEscape,nimEscapeError,@Spell
syn region nimString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=nimEscape,nimEscapeError,@Spell
syn region nimString start=+"""+ end=+"""+ keepend contains=nimEscape,nimEscapeError,@Spell
syn region nimRawString matchgroup=Normal start=+[rR]"+ end=+"+ skip=+\\\\\|\\"+ contains=@Spell

syn match  nimEscape		+\\[abfnrtv'"\\]+ contained
syn match  nimEscape		"\\\o\{1,3}" contained
syn match  nimEscape		"\\x\x\{2}" contained
syn match  nimEscape		"\(\\u\x\{4}\|\\U\x\{8}\)" contained
syn match  nimEscape		"\\$"

syn match nimEscapeError "\\x\x\=\X" display contained

if nim_highlight_numbers == 1
  " numbers (including longs and complex)
  syn match   nimNumber	"\v<0x\x+(\'(i|I|f|F|u|U)(8|16|32|64))?>"
  syn match   nimNumber	"\v<[0-9_]+(\'(i|I|f|F|u|U)(8|16|32|64))?>"
  syn match   nimNumber	"\v[0-9]\.[0-9_]+([eE][+-]=[0-9_]+)=>"
  syn match   nimNumber	"\v<[0-9_]+(\.[0-9_]+)?([eE][+-]?[0-9_]+)?(\'(f|F)(32|64))?>"
endif

if nim_highlight_builtins == 1
  " builtin functions, types and objects, not really part of the syntax
  syn keyword nimBuiltin int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool void
  syn keyword nimBuiltin char string cstring pointer range array openarray seq
  syn keyword nimBuiltin set Byte Natural Positive Conversion
  syn keyword nimBuiltin BiggestInt BiggestFloat cchar cschar cshort cint csize cuchar cushort
  syn keyword nimBuiltin clong clonglong cfloat cdouble clongdouble cuint culong culonglong cchar
  syn keyword nimBuiltin CompileDate CompileTime nimVersion nimMajor
  syn keyword nimBuiltin nimMinor nimPatch cpuEndian hostOS hostCPU inf
  syn keyword nimBuiltin neginf nan QuitSuccess QuitFailure dbgLineHook stdin
  syn keyword nimBuiltin stdout stderr defined new high low sizeof succ pred
  syn keyword nimBuiltin inc dec newSeq len incl excl card ord chr ze ze64
  syn keyword nimBuiltin toU8 toU16 toU32 abs min max add repr
  syn match   nimBuiltin "\<contains\>"
  syn keyword nimBuiltin toFloat toBiggestFloat toInt toBiggestInt addQuitProc
  syn keyword nimBuiltin copy setLen newString zeroMem copyMem moveMem
  syn keyword nimBuiltin equalMem alloc alloc0 realloc dealloc setLen assert
  syn keyword nimBuiltin swap getRefcount getCurrentException Msg
  syn keyword nimBuiltin getOccupiedMem getFreeMem getTotalMem isNil seqToPtr
  syn keyword nimBuiltin find pop GC_disable GC_enable GC_fullCollect
  syn keyword nimBuiltin GC_setStrategy GC_enableMarkAndSweep GC_Strategy
  syn keyword nimBuiltin GC_disableMarkAnd Sweep GC_getStatistics GC_ref
  syn keyword nimBuiltin GC_ref GC_ref GC_unref GC_unref GC_unref quit
  syn keyword nimBuiltin OpenFile OpenFile CloseFile EndOfFile readChar
  syn keyword nimBuiltin FlushFile readfile readFile readline readLine write writeln writeLn writeline writeLine
  syn keyword nimBuiltin getFileSize ReadBytes ReadChars readBuffer writeBytes
  syn keyword nimBuiltin writeChars writeBuffer setFilePos getFilePos
  syn keyword nimBuiltin fileHandle countdown countup items lines
  syn keyword nimBuiltin FileMode File RootObj FileHandle ByteAddress Endianness
endif

if nim_highlight_exceptions == 1
  " builtin exceptions and warnings
  syn keyword nimException E_Base EAsynch ESynch ESystem EIO EOS
  syn keyword nimException ERessourceExhausted EArithmetic EDivByZero
  syn keyword nimException EOverflow EAccessViolation EAssertionFailed
  syn keyword nimException EControlC EInvalidValue EOutOfMemory EInvalidIndex
  syn keyword nimException EInvalidField EOutOfRange EStackOverflow
  syn keyword nimException ENoExceptionToReraise EInvalidObjectAssignment
  syn keyword nimException EInvalidObject EInvalidLibrary EInvalidKey
  syn keyword nimException EInvalidObjectConversion EFloatingPoint
  syn keyword nimException EFloatInvalidOp EFloatDivByZero EFloatOverflow
  syn keyword nimException EFloatInexact EDeadThread EResourceExhausted
  syn keyword nimException EFloatUnderflow
endif<commit_msg>more lower-case builtin keywords<commit_after>" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
  syntax clear
elseif exists("b:current_syntax")
  finish
endif

" Keep user-supplied options
if !exists("nim_highlight_numbers")
  let nim_highlight_numbers = 1
endif
if !exists("nim_highlight_builtins")
  let nim_highlight_builtins = 1
endif
if !exists("nim_highlight_exceptions")
  let nim_highlight_exceptions = 1
endif
if !exists("nim_highlight_space_errors")
  let nim_highlight_space_errors = 1
endif
if !exists("nim_highlight_special_vars")
  let nim_highlight_special_vars = 1
endif

if exists("nim_highlight_all")
  let nim_highlight_numbers      = 1
  let nim_highlight_builtins     = 1
  let nim_highlight_exceptions   = 1
  let nim_highlight_space_errors = 1
  let nim_highlight_special_vars = 1
endif

syn region nimBrackets       contained extend keepend matchgroup=Bold start=+\(\\\)\@<!\[+ end=+]\|$+ skip=+\\\s*$\|\(\\\)\@<!\\]+ contains=@tclCommandCluster

syn keyword nimKeyword       addr and as asm atomic
syn keyword nimKeyword       bind block break
syn keyword nimKeyword       case cast concept const continue converter
syn keyword nimKeyword       defer discard distinct div do
syn keyword nimKeyword       elif else end enum except export
syn keyword nimKeyword       finally for from func
syn keyword nimKeyword       generic
syn keyword nimKeyword       if import in include interface is isnot iterator
syn keyword nimKeyword       let
syn keyword nimKeyword       mixin using mod
syn keyword nimKeyword       nil not notin
syn keyword nimKeyword       object of or out
syn keyword nimKeyword       proc method macro template nextgroup=nimFunction skipwhite
syn keyword nimKeyword       ptr
syn keyword nimKeyword       raise ref return
syn keyword nimKeyword       shared shl shr static
syn keyword nimKeyword       try tuple type
syn keyword nimKeyword       var
syn keyword nimKeyword       when while with without
syn keyword nimKeyword       xor
syn keyword nimKeyword       yield

syn match   nimFunction      "[a-zA-Z_][a-zA-Z0-9_]*" contained
syn match   nimClass         "[a-zA-Z_][a-zA-Z0-9_]*" contained
syn keyword nimRepeat        for while
syn keyword nimConditional   if elif else case of
syn keyword nimOperator      and in is not or xor shl shr div
syn match   nimComment       "#.*$" contains=nimTodo,@Spell
syn region  nimComment       start="#\[" end="\]#" contains=nimTodo,@Spell
syn keyword nimTodo          TODO FIXME XXX contained
syn keyword nimBoolean       true false


" Strings
syn region nimString start=+'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=nimEscape,nimEscapeError,@Spell
syn region nimString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=nimEscape,nimEscapeError,@Spell
syn region nimString start=+"""+ end=+"""+ keepend contains=nimEscape,nimEscapeError,@Spell
syn region nimRawString matchgroup=Normal start=+[rR]"+ end=+"+ skip=+\\\\\|\\"+ contains=@Spell

syn match  nimEscape		+\\[abfnrtv'"\\]+ contained
syn match  nimEscape		"\\\o\{1,3}" contained
syn match  nimEscape		"\\x\x\{2}" contained
syn match  nimEscape		"\(\\u\x\{4}\|\\U\x\{8}\)" contained
syn match  nimEscape		"\\$"

syn match nimEscapeError "\\x\x\=\X" display contained

if nim_highlight_numbers == 1
  " numbers (including longs and complex)
  syn match   nimNumber	"\v<0x\x+(\'(i|I|f|F|u|U)(8|16|32|64))?>"
  syn match   nimNumber	"\v<[0-9_]+(\'(i|I|f|F|u|U)(8|16|32|64))?>"
  syn match   nimNumber	"\v[0-9]\.[0-9_]+([eE][+-]=[0-9_]+)=>"
  syn match   nimNumber	"\v<[0-9_]+(\.[0-9_]+)?([eE][+-]?[0-9_]+)?(\'(f|F)(32|64))?>"
endif

if nim_highlight_builtins == 1
  " builtin functions, types and objects, not really part of the syntax
  syn keyword nimBuiltin int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool void
  syn keyword nimBuiltin char string cstring pointer range array openarray seq
  syn keyword nimBuiltin set Byte Natural Positive Conversion
  syn keyword nimBuiltin BiggestInt BiggestFloat cchar cschar cshort cint csize cuchar cushort
  syn keyword nimBuiltin clong clonglong cfloat cdouble clongdouble cuint culong culonglong cchar
  syn keyword nimBuiltin CompileDate CompileTime nimversion nimVersion nimmajor nimMajor
  syn keyword nimBuiltin nimminor nimMinor nimpatch nimPatch cpuendian cpuEndian hostos hostOS hostcpu hostCPU inf
  syn keyword nimBuiltin neginf nan QuitSuccess QuitFailure dbglinehook dbgLineHook stdin
  syn keyword nimBuiltin stdout stderr defined new high low sizeof succ pred
  syn keyword nimBuiltin inc dec newseq newSeq len incl excl card ord chr ze ze64
  syn keyword nimBuiltin tou8 toU8 tou16 toU16 tou32 toU32 abs min max add repr
  syn match   nimBuiltin "\<contains\>"
  syn keyword nimBuiltin tofloat toFloat tobiggestfloat toBiggestFloat toint toInt tobiggestint toBiggestInt
  syn keyword nimBuiltin addquitproc addQuitProc
  syn keyword nimBuiltin copy setlen setLen newstring newString zeromem zeroMem copymem copyMem movemem moveMem
  syn keyword nimBuiltin equalmem equalMem alloc alloc0 realloc dealloc assert
  syn keyword nimBuiltin swap getrefcount getRefcount getcurrentexception getCurrentException Msg
  syn keyword nimBuiltin getoccupiedmem getOccupiedMem getfreemem getFreeMem gettotalmem getTotalMem isnil isNil seqtoptr seqToPtr
  syn keyword nimBuiltin find pop GC_disable GC_enable GC_fullCollect
  syn keyword nimBuiltin GC_setStrategy GC_enableMarkAndSweep GC_Strategy
  syn keyword nimBuiltin GC_disableMarkAnd Sweep GC_getStatistics GC_ref
  syn keyword nimBuiltin GC_ref GC_ref GC_unref GC_unref GC_unref quit
  syn keyword nimBuiltin OpenFile OpenFile CloseFile EndOfFile readChar
  syn keyword nimBuiltin FlushFile readfile readFile readline readLine write writeln writeLn writeline writeLine
  syn keyword nimBuiltin getfilesize getFileSize ReadBytes ReadChars readbuffer readBuffer writebytes writeBytes
  syn keyword nimBuiltin writechars writeChars writebuffer writeBuffer setfilepos setFilePos getfilepos getFilePos
  syn keyword nimBuiltin filehandle fileHandle countdown countup items lines
  syn keyword nimBuiltin FileMode File RootObj FileHandle ByteAddress Endianness
endif

if nim_highlight_exceptions == 1
  " builtin exceptions and warnings
  syn keyword nimException E_Base EAsynch ESynch ESystem EIO EOS
  syn keyword nimException ERessourceExhausted EArithmetic EDivByZero
  syn keyword nimException EOverflow EAccessViolation EAssertionFailed
  syn keyword nimException EControlC EInvalidValue EOutOfMemory EInvalidIndex
  syn keyword nimException EInvalidField EOutOfRange EStackOverflow
  syn keyword nimException ENoExceptionToReraise EInvalidObjectAssignment
  syn keyword nimException EInvalidObject EInvalidLibrary EInvalidKey
  syn keyword nimException EInvalidObjectConversion EFloatingPoint
  syn keyword nimException EFloatInvalidOp EFloatDivByZero EFloatOverflow
  syn keyword nimException EFloatInexact EDeadThread EResourceExhausted
  syn keyword nimException EFloatUnderflow
endif
{'fraction_non_alphanumeric': 0.06689910655916322, 'fraction_numerical': 0.012856831553715406, 'mean_word_length': 4.631083844580777, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2828786', 'n_tokens_mistral': 4389, 'n_tokens_neox': 4117, 'n_words': 1470}